Step
*
2
2
3
of Lemma
iseg_append_iff
1. [T] : Type
2. u : T
3. v : T List
4. ∀l2,l3:T List.  (v ≤ l2 @ l3 
⇐⇒ v ≤ l2 ∨ (∃l:T List. (0 < ||l|| ∧ (v = (l2 @ l) ∈ (T List)) ∧ l ≤ l3)))
5. u1 : T
6. v1 : T List
7. ∀l3:T List
     ([u / v] ≤ v1 @ l3 
⇐⇒ [u / v] ≤ v1 ∨ (∃l:T List. (0 < ||l|| ∧ ([u / v] = (v1 @ l) ∈ (T List)) ∧ l ≤ l3)))
8. l3 : T List
9. l : T List
10. 0 < ||l||
11. [u / v] = ([u1 / v1] @ l) ∈ (T List)
12. l ≤ l3
⊢ [u / v] ≤ [u1 / v1] @ l3
BY
{ (All Reduce
   THEN (HypSubst (-2) 0)
   THEN Auto
   THEN RWO "cons_iseg" 0
   THEN Auto
   THEN Subst ⌜(v1 @ l) = v ∈ (T List)⌝ 0⋅
   THEN Auto5) }
Latex:
Latex:
1.  [T]  :  Type
2.  u  :  T
3.  v  :  T  List
4.  \mforall{}l2,l3:T  List.    (v  \mleq{}  l2  @  l3  \mLeftarrow{}{}\mRightarrow{}  v  \mleq{}  l2  \mvee{}  (\mexists{}l:T  List.  (0  <  ||l||  \mwedge{}  (v  =  (l2  @  l))  \mwedge{}  l  \mleq{}  l3)))
5.  u1  :  T
6.  v1  :  T  List
7.  \mforall{}l3:T  List
          ([u  /  v]  \mleq{}  v1  @  l3  \mLeftarrow{}{}\mRightarrow{}  [u  /  v]  \mleq{}  v1  \mvee{}  (\mexists{}l:T  List.  (0  <  ||l||  \mwedge{}  ([u  /  v]  =  (v1  @  l))  \mwedge{}  l  \mleq{}  l3)))
8.  l3  :  T  List
9.  l  :  T  List
10.  0  <  ||l||
11.  [u  /  v]  =  ([u1  /  v1]  @  l)
12.  l  \mleq{}  l3
\mvdash{}  [u  /  v]  \mleq{}  [u1  /  v1]  @  l3
By
Latex:
(All  Reduce
  THEN  (HypSubst  (-2)  0)
  THEN  Auto
  THEN  RWO  "cons\_iseg"  0
  THEN  Auto
  THEN  Subst  \mkleeneopen{}(v1  @  l)  =  v\mkleeneclose{}  0\mcdot{}
  THEN  Auto5)
Home
Index