Step
*
2
of Lemma
sublist_append
1. [T] : Type
2. L1 : T List
3. L2 : T List
4. L1' : T List
5. L2' : T List
6. f1 : ℕ||L1|| ⟶ ℕ||L1'||
7. increasing(f1;||L1||)
8. ∀j:ℕ||L1||. (L1[j] = L1'[f1 j] ∈ T)
9. f : ℕ||L2|| ⟶ ℕ||L2'||
10. increasing(f;||L2||)
11. ∀j:ℕ||L2||. (L2[j] = L2'[f j] ∈ T)
⊢ increasing(λi.if i <z ||L1|| then f1 i else (f (i - ||L1||)) + ||L1'|| fi ;||L1 @ L2||)
∧ (∀j:ℕ||L1 @ L2||. (L1 @ L2[j] = L1' @ L2'[(λi.if i <z ||L1|| then f1 i else (f (i - ||L1||)) + ||L1'|| fi ) j] ∈ T))
BY
{ (TACTIC:RepUR ``increasing`` 0 THEN RWO "length-append" 0 THEN Auto' THEN Repeat (AutoSplit) THEN Auto') }
1
1. T : Type
2. L1 : T List
3. L2 : T List
4. L1' : T List
5. L2' : T List
6. f1 : ℕ||L1|| ⟶ ℕ||L1'||
7. increasing(f1;||L1||)
8. ∀j:ℕ||L1||. (L1[j] = L1'[f1 j] ∈ T)
9. f : ℕ||L2|| ⟶ ℕ||L2'||
10. increasing(f;||L2||)
11. ∀j:ℕ||L2||. (L2[j] = L2'[f j] ∈ T)
12. i : ℕ(||L1|| + ||L2||) - 1
13. ¬i < ||L1||
⊢ (f (i - ||L1||)) + ||L1'|| < (f ((i + 1) - ||L1||)) + ||L1'||
2
1. T : Type
2. L1 : T List
3. L2 : T List
4. L1' : T List
5. L2' : T List
6. f1 : ℕ||L1|| ⟶ ℕ||L1'||
7. increasing(f1;||L1||)
8. ∀j:ℕ||L1||. (L1[j] = L1'[f1 j] ∈ T)
9. f : ℕ||L2|| ⟶ ℕ||L2'||
10. increasing(f;||L2||)
11. ∀j:ℕ||L2||. (L2[j] = L2'[f j] ∈ T)
12. ∀i:ℕ(||L1|| + ||L2||) - 1
if i <z ||L1|| then f1 i else (f (i - ||L1||)) + ||L1'|| fi < if i + 1 <z ||L1||
then f1 (i + 1)
else (f ((i + 1) - ||L1||)) + ||L1'||
fi
13. j : ℕ||L1|| + ||L2||
14. ¬j < ||L1||
⊢ L1 @ L2[j] = L1' @ L2'[(f (j - ||L1||)) + ||L1'||] ∈ T
Latex:
Latex:
1. [T] : Type
2. L1 : T List
3. L2 : T List
4. L1' : T List
5. L2' : T List
6. f1 : \mBbbN{}||L1|| {}\mrightarrow{} \mBbbN{}||L1'||
7. increasing(f1;||L1||)
8. \mforall{}j:\mBbbN{}||L1||. (L1[j] = L1'[f1 j])
9. f : \mBbbN{}||L2|| {}\mrightarrow{} \mBbbN{}||L2'||
10. increasing(f;||L2||)
11. \mforall{}j:\mBbbN{}||L2||. (L2[j] = L2'[f j])
\mvdash{} increasing(\mlambda{}i.if i <z ||L1|| then f1 i else (f (i - ||L1||)) + ||L1'|| fi ;||L1 @ L2||)
\mwedge{} (\mforall{}j:\mBbbN{}||L1 @ L2||
(L1 @ L2[j] = L1' @ L2'[(\mlambda{}i.if i <z ||L1|| then f1 i else (f (i - ||L1||)) + ||L1'|| fi ) j]))
By
Latex:
(TACTIC:RepUR ``increasing`` 0
THEN RWO "length-append" 0
THEN Auto'
THEN Repeat (AutoSplit)
THEN Auto')
Home
Index