Step
*
1
5
of Lemma
cons_interleaving
1. T : Type
2. x : T
3. L : T List
4. L1 : T List
5. L2 : T List
6. ||L|| = (||L1|| + ||L2||) ∈ ℕ
7. f1 : ℕ||L1|| ⟶ ℕ||L||
8. f2 : ℕ||L2|| ⟶ ℕ||L||
9. increasing(f1;||L1||)
10. ∀j:ℕ||L1||. (L1[j] = L[f1 j] ∈ T)
11. increasing(f2;||L2||)
12. ∀j:ℕ||L2||. (L2[j] = L[f2 j] ∈ T)
13. ∀j1:ℕ||L1||. ∀j2:ℕ||L2||.  (¬((f1 j1) = (f2 j2) ∈ ℤ))
14. (||L|| + 1) = ((||L1|| + 1) + ||L2||) ∈ ℕ
15. fadd(f2;λi.1) ∈ ℕ||L2|| ⟶ ℕ||L|| + 1
16. fshift(fadd(f1;λi.1);0) ∈ ℕ||L1|| + 1 ⟶ ℕ||L|| + 1
17. increasing(fshift(fadd(f1;λi.1);0);||L1|| + 1)
18. ∀j:ℕ||L1|| + 1. ([x / L1][j] = [x / L][fshift(fadd(f1;λi.1);0) j] ∈ T)
19. increasing(fadd(f2;λi.1);||L2||)
20. ∀j:ℕ||L2||. (L2[j] = [x / L][fadd(f2;λi.1) j] ∈ T)
21. j1 : ℕ||L1|| + 1
22. j2 : ℕ||L2||
⊢ ¬((fshift(fadd(f1;λi.1);0) j1) = (fadd(f2;λi.1) j2) ∈ ℤ)
BY
{ TACTIC:((Unfolds ``fshift fadd`` 0 THEN Reduce 0) THEN AutoSplit) }
1
1. T : Type
2. x : T
3. L : T List
4. L1 : T List
5. L2 : T List
6. ||L|| = (||L1|| + ||L2||) ∈ ℕ
7. f1 : ℕ||L1|| ⟶ ℕ||L||
8. f2 : ℕ||L2|| ⟶ ℕ||L||
9. increasing(f1;||L1||)
10. ∀j:ℕ||L1||. (L1[j] = L[f1 j] ∈ T)
11. increasing(f2;||L2||)
12. ∀j:ℕ||L2||. (L2[j] = L[f2 j] ∈ T)
13. ∀j1:ℕ||L1||. ∀j2:ℕ||L2||.  (¬((f1 j1) = (f2 j2) ∈ ℤ))
14. (||L|| + 1) = ((||L1|| + 1) + ||L2||) ∈ ℕ
15. fadd(f2;λi.1) ∈ ℕ||L2|| ⟶ ℕ||L|| + 1
16. fshift(fadd(f1;λi.1);0) ∈ ℕ||L1|| + 1 ⟶ ℕ||L|| + 1
17. increasing(fshift(fadd(f1;λi.1);0);||L1|| + 1)
18. ∀j:ℕ||L1|| + 1. ([x / L1][j] = [x / L][fshift(fadd(f1;λi.1);0) j] ∈ T)
19. increasing(fadd(f2;λi.1);||L2||)
20. ∀j:ℕ||L2||. (L2[j] = [x / L][fadd(f2;λi.1) j] ∈ T)
21. j1 : ℕ||L1|| + 1
22. j2 : ℕ||L2||
23. j1 = 0 ∈ ℤ
⊢ ¬(0 = ((f2 j2) + 1) ∈ ℤ)
2
1. T : Type
2. x : T
3. L : T List
4. L1 : T List
5. L2 : T List
6. ||L|| = (||L1|| + ||L2||) ∈ ℕ
7. f1 : ℕ||L1|| ⟶ ℕ||L||
8. f2 : ℕ||L2|| ⟶ ℕ||L||
9. increasing(f1;||L1||)
10. ∀j:ℕ||L1||. (L1[j] = L[f1 j] ∈ T)
11. increasing(f2;||L2||)
12. ∀j:ℕ||L2||. (L2[j] = L[f2 j] ∈ T)
13. ∀j1:ℕ||L1||. ∀j2:ℕ||L2||.  (¬((f1 j1) = (f2 j2) ∈ ℤ))
14. (||L|| + 1) = ((||L1|| + 1) + ||L2||) ∈ ℕ
15. fadd(f2;λi.1) ∈ ℕ||L2|| ⟶ ℕ||L|| + 1
16. fshift(fadd(f1;λi.1);0) ∈ ℕ||L1|| + 1 ⟶ ℕ||L|| + 1
17. increasing(fshift(fadd(f1;λi.1);0);||L1|| + 1)
18. ∀j:ℕ||L1|| + 1. ([x / L1][j] = [x / L][fshift(fadd(f1;λi.1);0) j] ∈ T)
19. increasing(fadd(f2;λi.1);||L2||)
20. ∀j:ℕ||L2||. (L2[j] = [x / L][fadd(f2;λi.1) j] ∈ T)
21. j1 : ℕ||L1|| + 1
22. j1 ≠ 0
23. j2 : ℕ||L2||
⊢ ¬(((f1 (j1 - 1)) + 1) = ((f2 j2) + 1) ∈ ℤ)
Latex:
Latex:
1.  T  :  Type
2.  x  :  T
3.  L  :  T  List
4.  L1  :  T  List
5.  L2  :  T  List
6.  ||L||  =  (||L1||  +  ||L2||)
7.  f1  :  \mBbbN{}||L1||  {}\mrightarrow{}  \mBbbN{}||L||
8.  f2  :  \mBbbN{}||L2||  {}\mrightarrow{}  \mBbbN{}||L||
9.  increasing(f1;||L1||)
10.  \mforall{}j:\mBbbN{}||L1||.  (L1[j]  =  L[f1  j])
11.  increasing(f2;||L2||)
12.  \mforall{}j:\mBbbN{}||L2||.  (L2[j]  =  L[f2  j])
13.  \mforall{}j1:\mBbbN{}||L1||.  \mforall{}j2:\mBbbN{}||L2||.    (\mneg{}((f1  j1)  =  (f2  j2)))
14.  (||L||  +  1)  =  ((||L1||  +  1)  +  ||L2||)
15.  fadd(f2;\mlambda{}i.1)  \mmember{}  \mBbbN{}||L2||  {}\mrightarrow{}  \mBbbN{}||L||  +  1
16.  fshift(fadd(f1;\mlambda{}i.1);0)  \mmember{}  \mBbbN{}||L1||  +  1  {}\mrightarrow{}  \mBbbN{}||L||  +  1
17.  increasing(fshift(fadd(f1;\mlambda{}i.1);0);||L1||  +  1)
18.  \mforall{}j:\mBbbN{}||L1||  +  1.  ([x  /  L1][j]  =  [x  /  L][fshift(fadd(f1;\mlambda{}i.1);0)  j])
19.  increasing(fadd(f2;\mlambda{}i.1);||L2||)
20.  \mforall{}j:\mBbbN{}||L2||.  (L2[j]  =  [x  /  L][fadd(f2;\mlambda{}i.1)  j])
21.  j1  :  \mBbbN{}||L1||  +  1
22.  j2  :  \mBbbN{}||L2||
\mvdash{}  \mneg{}((fshift(fadd(f1;\mlambda{}i.1);0)  j1)  =  (fadd(f2;\mlambda{}i.1)  j2))
By
Latex:
TACTIC:((Unfolds  ``fshift  fadd``  0  THEN  Reduce  0)  THEN  AutoSplit)
Home
Index