Step
*
2
2
1
1
of Lemma
interleaving_of_cons
1. [T] : Type
2. x : T
3. L : T List
4. L1 : T List
5. L2 : T List
6. ¬↑null(L1)
7. ¬↑null(L2)
8. ||[x / L]|| = (||L1|| + ||L2||) ∈ ℕ
9. f1 : ℕ||L1|| ⟶ ℕ||[x / L]||
10. f2 : ℕ||L2|| ⟶ ℕ||[x / L]||
11. increasing(f1;||L1||)
12. ∀j:ℕ||L1||. (L1[j] = [x / L][f1 j] ∈ T)
13. increasing(f2;||L2||)
14. ∀j:ℕ||L2||. (L2[j] = [x / L][f2 j] ∈ T)
15. ∀j1:ℕ||L1||. ∀j2:ℕ||L2||.  (¬((f1 j1) = (f2 j2) ∈ ℤ))
⊢ (0 < ||L1|| c∧ ((L1[0] = x ∈ T) ∧ interleaving(T;tl(L1);L2;L)))
∨ (0 < ||L2|| c∧ ((L2[0] = x ∈ T) ∧ interleaving(T;L1;tl(L2);L)))
BY
{ Assert ((f1 0) = 0 ∈ ℤ) ∨ ((f2 0) = 0 ∈ ℤ) }
1
.....assertion..... 
1. [T] : Type
2. x : T
3. L : T List
4. L1 : T List
5. L2 : T List
6. ¬↑null(L1)
7. ¬↑null(L2)
8. ||[x / L]|| = (||L1|| + ||L2||) ∈ ℕ
9. f1 : ℕ||L1|| ⟶ ℕ||[x / L]||
10. f2 : ℕ||L2|| ⟶ ℕ||[x / L]||
11. increasing(f1;||L1||)
12. ∀j:ℕ||L1||. (L1[j] = [x / L][f1 j] ∈ T)
13. increasing(f2;||L2||)
14. ∀j:ℕ||L2||. (L2[j] = [x / L][f2 j] ∈ T)
15. ∀j1:ℕ||L1||. ∀j2:ℕ||L2||.  (¬((f1 j1) = (f2 j2) ∈ ℤ))
⊢ ((f1 0) = 0 ∈ ℤ) ∨ ((f2 0) = 0 ∈ ℤ)
2
1. [T] : Type
2. x : T
3. L : T List
4. L1 : T List
5. L2 : T List
6. ¬↑null(L1)
7. ¬↑null(L2)
8. ||[x / L]|| = (||L1|| + ||L2||) ∈ ℕ
9. f1 : ℕ||L1|| ⟶ ℕ||[x / L]||
10. f2 : ℕ||L2|| ⟶ ℕ||[x / L]||
11. increasing(f1;||L1||)
12. ∀j:ℕ||L1||. (L1[j] = [x / L][f1 j] ∈ T)
13. increasing(f2;||L2||)
14. ∀j:ℕ||L2||. (L2[j] = [x / L][f2 j] ∈ T)
15. ∀j1:ℕ||L1||. ∀j2:ℕ||L2||.  (¬((f1 j1) = (f2 j2) ∈ ℤ))
16. ((f1 0) = 0 ∈ ℤ) ∨ ((f2 0) = 0 ∈ ℤ)
⊢ (0 < ||L1|| c∧ ((L1[0] = x ∈ T) ∧ interleaving(T;tl(L1);L2;L)))
∨ (0 < ||L2|| c∧ ((L2[0] = x ∈ T) ∧ interleaving(T;L1;tl(L2);L)))
Latex:
Latex:
1.  [T]  :  Type
2.  x  :  T
3.  L  :  T  List
4.  L1  :  T  List
5.  L2  :  T  List
6.  \mneg{}\muparrow{}null(L1)
7.  \mneg{}\muparrow{}null(L2)
8.  ||[x  /  L]||  =  (||L1||  +  ||L2||)
9.  f1  :  \mBbbN{}||L1||  {}\mrightarrow{}  \mBbbN{}||[x  /  L]||
10.  f2  :  \mBbbN{}||L2||  {}\mrightarrow{}  \mBbbN{}||[x  /  L]||
11.  increasing(f1;||L1||)
12.  \mforall{}j:\mBbbN{}||L1||.  (L1[j]  =  [x  /  L][f1  j])
13.  increasing(f2;||L2||)
14.  \mforall{}j:\mBbbN{}||L2||.  (L2[j]  =  [x  /  L][f2  j])
15.  \mforall{}j1:\mBbbN{}||L1||.  \mforall{}j2:\mBbbN{}||L2||.    (\mneg{}((f1  j1)  =  (f2  j2)))
\mvdash{}  (0  <  ||L1||  c\mwedge{}  ((L1[0]  =  x)  \mwedge{}  interleaving(T;tl(L1);L2;L)))
\mvee{}  (0  <  ||L2||  c\mwedge{}  ((L2[0]  =  x)  \mwedge{}  interleaving(T;L1;tl(L2);L)))
By
Latex:
Assert  ((f1  0)  =  0)  \mvee{}  ((f2  0)  =  0)
Home
Index