Step
*
2
2
of Lemma
last-concat
1. [T] : Type
2. u : T List
3. v : T List List
4. ¬(concat(v) = [] ∈ (T List))
5. ll1 : T List List
6. l1 : T List
7. concat(v) = (concat(ll1) @ l1 @ [last(concat(v))]) ∈ (T List)
8. ll1 @ [l1 @ [last(concat(v))]] ≤ v
9. ¬((u @ concat(v)) = [] ∈ (T List))
10. ¬↑null(u @ concat(v))
⊢ ∃ll1:T List List
   ∃l1:T List
    (((u @ concat(v)) = (concat(ll1) @ l1 @ [last(u @ concat(v))]) ∈ (T List))
    ∧ ll1 @ [l1 @ [last(u @ concat(v))]] ≤ [u / v])
BY
{ (((((InstConcl [⌜[u / ll1]⌝; ⌜l1⌝])⋅ THEN Auto THEN RWW "concat-cons" 0) THENA Auto)
    THEN (All (RWW "append_assoc_sq"))
    )
   THENA Auto
   ) }
1
1. T : Type
2. u : T List
3. v : T List List
4. ¬(concat(v) = [] ∈ (T List))
5. ll1 : T List List
6. l1 : T List
7. concat(v) = (concat(ll1) @ l1 @ [last(concat(v))]) ∈ (T List)
8. ll1 @ [l1 @ [last(concat(v))]] ≤ v
9. ¬((u @ concat(v)) = [] ∈ (T List))
10. ¬↑null(u @ concat(v))
⊢ (u @ concat(v)) = (u @ concat(ll1) @ l1 @ [last(u @ concat(v))]) ∈ (T List)
2
1. [T] : Type
2. u : T List
3. v : T List List
4. ¬(concat(v) = [] ∈ (T List))
5. ll1 : T List List
6. l1 : T List
7. concat(v) = (concat(ll1) @ l1 @ [last(concat(v))]) ∈ (T List)
8. ll1 @ [l1 @ [last(concat(v))]] ≤ v
9. ¬((u @ concat(v)) = [] ∈ (T List))
10. ¬↑null(u @ concat(v))
11. (u @ concat(v)) = (concat([u / ll1]) @ l1 @ [last(u @ concat(v))]) ∈ (T List)
⊢ [u / ll1] @ [l1 @ [last(u @ concat(v))]] ≤ [u / v]
Latex:
Latex:
1.  [T]  :  Type
2.  u  :  T  List
3.  v  :  T  List  List
4.  \mneg{}(concat(v)  =  [])
5.  ll1  :  T  List  List
6.  l1  :  T  List
7.  concat(v)  =  (concat(ll1)  @  l1  @  [last(concat(v))])
8.  ll1  @  [l1  @  [last(concat(v))]]  \mleq{}  v
9.  \mneg{}((u  @  concat(v))  =  [])
10.  \mneg{}\muparrow{}null(u  @  concat(v))
\mvdash{}  \mexists{}ll1:T  List  List
      \mexists{}l1:T  List
        (((u  @  concat(v))  =  (concat(ll1)  @  l1  @  [last(u  @  concat(v))]))
        \mwedge{}  ll1  @  [l1  @  [last(u  @  concat(v))]]  \mleq{}  [u  /  v])
By
Latex:
(((((InstConcl  [\mkleeneopen{}[u  /  ll1]\mkleeneclose{};  \mkleeneopen{}l1\mkleeneclose{}])\mcdot{}  THEN  Auto  THEN  RWW  "concat-cons"  0)  THENA  Auto)
    THEN  (All  (RWW  "append\_assoc\_sq"))
    )
  THENA  Auto
  )
Home
Index