Step
*
4
1
2
1
of Lemma
select_concat
1. [T] : Type
2. u : T List
3. v : T List List
4. ∀n:ℕ||concat(v)||
     ∃m:ℕ||v||
      ((||concat(firstn(m;v))|| ≤ n)
      c∧ n - ||concat(firstn(m;v))|| < ||v[m]||
      c∧ (concat(v)[n] = v[m][n - ||concat(firstn(m;v))||] ∈ T))
5. n : ℕ||u @ concat(v)||
6. ¬n < ||u||
7. m : ℕ||v||
8. ||concat(firstn(m;v))|| ≤ (n - ||u||)
9. n - ||u|| - ||concat(firstn(m;v))|| < ||v[m]||
10. concat(v)[n - ||u||] = v[m][n - ||u|| - ||concat(firstn(m;v))||] ∈ T
⊢ (||concat(firstn(m + 1;[u / v]))|| ≤ n)
c∧ n - ||concat(firstn(m + 1;[u / v]))|| < ||[u / v][m + 1]||
c∧ (u @ concat(v)[n] = [u / v][m + 1][n - ||concat(firstn(m + 1;[u / v]))||] ∈ T)
BY
{ Subst ⌜firstn(m + 1;[u / v]) ~ [u / firstn(m;v)]⌝ 0⋅ }
1
.....equality..... 
1. T : Type
2. u : T List
3. v : T List List
4. ∀n:ℕ||concat(v)||
     ∃m:ℕ||v||
      ((||concat(firstn(m;v))|| ≤ n)
      c∧ n - ||concat(firstn(m;v))|| < ||v[m]||
      c∧ (concat(v)[n] = v[m][n - ||concat(firstn(m;v))||] ∈ T))
5. n : ℕ||u @ concat(v)||
6. ¬n < ||u||
7. m : ℕ||v||
8. ||concat(firstn(m;v))|| ≤ (n - ||u||)
9. n - ||u|| - ||concat(firstn(m;v))|| < ||v[m]||
10. concat(v)[n - ||u||] = v[m][n - ||u|| - ||concat(firstn(m;v))||] ∈ T
⊢ firstn(m + 1;[u / v]) ~ [u / firstn(m;v)]
2
1. [T] : Type
2. u : T List
3. v : T List List
4. ∀n:ℕ||concat(v)||
     ∃m:ℕ||v||
      ((||concat(firstn(m;v))|| ≤ n)
      c∧ n - ||concat(firstn(m;v))|| < ||v[m]||
      c∧ (concat(v)[n] = v[m][n - ||concat(firstn(m;v))||] ∈ T))
5. n : ℕ||u @ concat(v)||
6. ¬n < ||u||
7. m : ℕ||v||
8. ||concat(firstn(m;v))|| ≤ (n - ||u||)
9. n - ||u|| - ||concat(firstn(m;v))|| < ||v[m]||
10. concat(v)[n - ||u||] = v[m][n - ||u|| - ||concat(firstn(m;v))||] ∈ T
⊢ (||concat([u / firstn(m;v)])|| ≤ n)
c∧ n - ||concat([u / firstn(m;v)])|| < ||[u / v][m + 1]||
c∧ (u @ concat(v)[n] = [u / v][m + 1][n - ||concat([u / firstn(m;v)])||] ∈ T)
Latex:
Latex:
1.  [T]  :  Type
2.  u  :  T  List
3.  v  :  T  List  List
4.  \mforall{}n:\mBbbN{}||concat(v)||
          \mexists{}m:\mBbbN{}||v||
            ((||concat(firstn(m;v))||  \mleq{}  n)
            c\mwedge{}  n  -  ||concat(firstn(m;v))||  <  ||v[m]||
            c\mwedge{}  (concat(v)[n]  =  v[m][n  -  ||concat(firstn(m;v))||]))
5.  n  :  \mBbbN{}||u  @  concat(v)||
6.  \mneg{}n  <  ||u||
7.  m  :  \mBbbN{}||v||
8.  ||concat(firstn(m;v))||  \mleq{}  (n  -  ||u||)
9.  n  -  ||u||  -  ||concat(firstn(m;v))||  <  ||v[m]||
10.  concat(v)[n  -  ||u||]  =  v[m][n  -  ||u||  -  ||concat(firstn(m;v))||]
\mvdash{}  (||concat(firstn(m  +  1;[u  /  v]))||  \mleq{}  n)
c\mwedge{}  n  -  ||concat(firstn(m  +  1;[u  /  v]))||  <  ||[u  /  v][m  +  1]||
c\mwedge{}  (u  @  concat(v)[n]  =  [u  /  v][m  +  1][n  -  ||concat(firstn(m  +  1;[u  /  v]))||])
By
Latex:
Subst  \mkleeneopen{}firstn(m  +  1;[u  /  v])  \msim{}  [u  /  firstn(m;v)]\mkleeneclose{}  0\mcdot{}
Home
Index