Step
*
1
2
of Lemma
lg-label-remove
1. T : Type
2. g : LabeledGraph(T)
3. lg-size(g) ∈ ℕ
4. g ∈ Top List
5. g ∈ (T × ℕlg-size(g) List × (ℕlg-size(g) List)) List
6. k : ℕlg-size(g)
7. x : ℕlg-size(g) - 1
⊢ fst(((λtr.let lbl,in,out = tr in 
            <lbl
            , map(λx.if x ≤z k then x else x - 1 fi filter(λx.(¬b(x =z k));in))
            , map(λx.if x ≤z k then x else x - 1 fi filter(λx.(¬b(x =z k));out))>) 
       if x <z ||firstn(k;g)|| then firstn(k;g)[x] else nth_tl(k + 1;g)[x - ||firstn(k;g)||] fi )) ~ if x <z k
then fst(g[x])
else fst(g[x + 1])
fi 
BY
{ Subst ⌈||firstn(k;g)|| ~ k⌉ 0⋅ }
1
.....equality..... 
1. T : Type
2. g : LabeledGraph(T)
3. lg-size(g) ∈ ℕ
4. g ∈ Top List
5. g ∈ (T × ℕlg-size(g) List × (ℕlg-size(g) List)) List
6. k : ℕlg-size(g)
7. x : ℕlg-size(g) - 1
⊢ ||firstn(k;g)|| ~ k
2
1. T : Type
2. g : LabeledGraph(T)
3. lg-size(g) ∈ ℕ
4. g ∈ Top List
5. g ∈ (T × ℕlg-size(g) List × (ℕlg-size(g) List)) List
6. k : ℕlg-size(g)
7. x : ℕlg-size(g) - 1
⊢ fst(((λtr.let lbl,in,out = tr in 
            <lbl
            , map(λx.if x ≤z k then x else x - 1 fi filter(λx.(¬b(x =z k));in))
            , map(λx.if x ≤z k then x else x - 1 fi filter(λx.(¬b(x =z k));out))>) 
       if x <z k then firstn(k;g)[x] else nth_tl(k + 1;g)[x - k] fi )) ~ if x <z k then fst(g[x]) else fst(g[x + 1]) fi 
Latex:
Latex:
1.  T  :  Type
2.  g  :  LabeledGraph(T)
3.  lg-size(g)  \mmember{}  \mBbbN{}
4.  g  \mmember{}  Top  List
5.  g  \mmember{}  (T  \mtimes{}  \mBbbN{}lg-size(g)  List  \mtimes{}  (\mBbbN{}lg-size(g)  List))  List
6.  k  :  \mBbbN{}lg-size(g)
7.  x  :  \mBbbN{}lg-size(g)  -  1
\mvdash{}  fst(((\mlambda{}tr.let  lbl,in,out  =  tr  in 
                        <lbl
                        ,  map(\mlambda{}x.if  x  \mleq{}z  k  then  x  else  x  -  1  fi  ;filter(\mlambda{}x.(\mneg{}\msubb{}(x  =\msubz{}  k));in))
                        ,  map(\mlambda{}x.if  x  \mleq{}z  k  then  x  else  x  -  1  fi  ;filter(\mlambda{}x.(\mneg{}\msubb{}(x  =\msubz{}  k));out))>) 
              if  x  <z  ||firstn(k;g)||  then  firstn(k;g)[x]  else  nth\_tl(k  +  1;g)[x  -  ||firstn(k;g)||]  fi  )) 
\msim{}  if  x  <z  k  then  fst(g[x])  else  fst(g[x  +  1])  fi 
By
Latex:
Subst  \mkleeneopen{}||firstn(k;g)||  \msim{}  k\mkleeneclose{}  0\mcdot{}
Home
Index