Step
*
of Lemma
list_split_iseg
∀[T:Type]
∀f:(T List) ⟶ 𝔹. ∀L1,L2:T List.
(L1 ≤ L2
⇒ let LL1,X = list_split(f;L1)
in let LL2,Y = list_split(f;L2)
in ((LL1 = LL2 ∈ (T List List)) ∧ X ≤ Y)
∨ (∃Z:T List. ∃ZZ:T List List. (((LL1 @ [Z / ZZ]) = LL2 ∈ (T List List)) ∧ X ≤ Z)))
BY
{ xxx(Auto
THEN RepeatFor 2 ((GenConclAtAddr [1] THEN D -2 THEN D -3 THEN All Reduce))
THEN Thin (-2)
THEN Thin (-5)
THEN ∀h:hyp. ((EqTypeHD h THENM Thin (h+1)) THENA Auto) )xxx }
1
1. [T] : Type
2. f : (T List) ⟶ 𝔹
3. L1 : T List
4. L2 : T List
5. L1 ≤ L2
6. v1 : T List List
7. v2 : T List
8. list_split(f;L1) = <v1, v2> ∈ (T List List × (T List))
9. v3 : T List List
10. v4 : T List
11. list_split(f;L2) = <v3, v4> ∈ (T List List × (T List))
⊢ ((v1 = v3 ∈ (T List List)) ∧ v2 ≤ v4)
∨ (∃Z:T List. ∃ZZ:T List List. (((v1 @ [Z / ZZ]) = v3 ∈ (T List List)) ∧ v2 ≤ Z))
Latex:
Latex:
\mforall{}[T:Type]
\mforall{}f:(T List) {}\mrightarrow{} \mBbbB{}. \mforall{}L1,L2:T List.
(L1 \mleq{} L2
{}\mRightarrow{} let LL1,X = list\_split(f;L1)
in let LL2,Y = list\_split(f;L2)
in ((LL1 = LL2) \mwedge{} X \mleq{} Y)
\mvee{} (\mexists{}Z:T List. \mexists{}ZZ:T List List. (((LL1 @ [Z / ZZ]) = LL2) \mwedge{} X \mleq{} Z)))
By
Latex:
xxx(Auto
THEN RepeatFor 2 ((GenConclAtAddr [1] THEN D -2 THEN D -3 THEN All Reduce))
THEN Thin (-2)
THEN Thin (-5)
THEN \mforall{}h:hyp. ((EqTypeHD h THENM Thin (h+1)) THENA Auto) )xxx
Home
Index