Step
*
3
of Lemma
lg-edge-append
1. [T] : Type
2. g1 : LabeledGraph(T)@i
3. g2 : LabeledGraph(T)@i
4. a : ℕlg-size(g1) + lg-size(g2)@i
5. b : ℕlg-size(g1) + lg-size(g2)@i
6. ¬b < lg-size(g1)
7. g2 ∈ Top List
⊢ (a ∈ fst(snd(let lbl,in,out = g2[b - lg-size(g1)] in 
   <lbl, map(λx.(x + lg-size(g1));in), map(λx.(x + lg-size(g1));out)>)))
⇐⇒ (a < lg-size(g1) ∧ b < lg-size(g1) ∧ (a ∈ fst(snd(g1[b]))))
    ∨ ((lg-size(g1) ≤ a) ∧ (lg-size(g1) ≤ b) ∧ (a - lg-size(g1) ∈ fst(snd(g2[b - lg-size(g1)]))))
BY
{ (Reduce 0 THEN GenConcl ⌈g2[b - lg-size(g1)] = X ∈ (T × ℕlg-size(g2) List × (ℕlg-size(g2) List))⌉⋅) }
1
.....wf..... 
1. [T] : Type
2. g1 : LabeledGraph(T)@i
3. g2 : LabeledGraph(T)@i
4. a : ℕlg-size(g1) + lg-size(g2)@i
5. b : ℕlg-size(g1) + lg-size(g2)@i
6. ¬b < lg-size(g1)
7. g2 ∈ Top List
⊢ g2[b - lg-size(g1)] ∈ T × ℕlg-size(g2) List × (ℕlg-size(g2) List)
2
.....wf..... 
1. [T] : Type
2. g1 : LabeledGraph(T)@i
3. g2 : LabeledGraph(T)@i
4. a : ℕlg-size(g1) + lg-size(g2)@i
5. b : ℕlg-size(g1) + lg-size(g2)@i
6. ¬b < lg-size(g1)
7. g2 ∈ Top List
⊢ T × ℕlg-size(g2) List × (ℕlg-size(g2) List) ∈ 𝕌{[1 | i 0]}
3
1. [T] : Type
2. g1 : LabeledGraph(T)@i
3. g2 : LabeledGraph(T)@i
4. a : ℕlg-size(g1) + lg-size(g2)@i
5. b : ℕlg-size(g1) + lg-size(g2)@i
6. ¬b < lg-size(g1)
7. g2 ∈ Top List
8. X : T × ℕlg-size(g2) List × (ℕlg-size(g2) List)@i
9. g2[b - lg-size(g1)] = X ∈ (T × ℕlg-size(g2) List × (ℕlg-size(g2) List))@i
⊢ (a ∈ fst(snd(let lbl,in,out = X in 
   <lbl, map(λx.(x + lg-size(g1));in), map(λx.(x + lg-size(g1));out)>)))
⇐⇒ (a < lg-size(g1) ∧ b < lg-size(g1) ∧ (a ∈ fst(snd(g1[b]))))
    ∨ ((lg-size(g1) ≤ a) ∧ (lg-size(g1) ≤ b) ∧ (a - lg-size(g1) ∈ fst(snd(X))))
Latex:
Latex:
1.  [T]  :  Type
2.  g1  :  LabeledGraph(T)@i
3.  g2  :  LabeledGraph(T)@i
4.  a  :  \mBbbN{}lg-size(g1)  +  lg-size(g2)@i
5.  b  :  \mBbbN{}lg-size(g1)  +  lg-size(g2)@i
6.  \mneg{}b  <  lg-size(g1)
7.  g2  \mmember{}  Top  List
\mvdash{}  (a  \mmember{}  fst(snd(let  lbl,in,out  =  g2[b  -  lg-size(g1)]  in 
      <lbl,  map(\mlambda{}x.(x  +  lg-size(g1));in),  map(\mlambda{}x.(x  +  lg-size(g1));out)>)))
\mLeftarrow{}{}\mRightarrow{}  (a  <  lg-size(g1)  \mwedge{}  b  <  lg-size(g1)  \mwedge{}  (a  \mmember{}  fst(snd(g1[b]))))
        \mvee{}  ((lg-size(g1)  \mleq{}  a)  \mwedge{}  (lg-size(g1)  \mleq{}  b)  \mwedge{}  (a  -  lg-size(g1)  \mmember{}  fst(snd(g2[b  -  lg-size(g1)]))))
By
Latex:
(Reduce  0  THEN  GenConcl  \mkleeneopen{}g2[b  -  lg-size(g1)]  =  X\mkleeneclose{}\mcdot{})
Home
Index