Step * 1 1 1 of Lemma last-concat


1. [T] Type
2. List
3. List List
4. ∃ll1:T List List
    ∃l1:T List. ((concat(v) (concat(ll1) l1 [last(concat(v))]) ∈ (T List)) ∧ ll1 [l1 [last(concat(v))]] ≤ v) 
   supposing ¬(concat(v) [] ∈ (T List))
5. concat(v) [] ∈ (T List)
6. ¬(u [] ∈ (T List))
⊢ ∃l1:T List. ((u (l1 [last(u)]) ∈ (T List)) ∧ [l1 [last(u)]] ≤ [u v])
BY
((InstLemma `last_lemma` [⌜T⌝; ⌜u⌝])⋅
   THEN Auto
   THEN Try ((RW assert_pushdownC THEN Auto))
   THEN (ParallelOp (-1))
   THEN Try ((RW assert_pushdownC THEN Auto))) }

1
1. [T] Type
2. List
3. List List
4. ∃ll1:T List List
    ∃l1:T List. ((concat(v) (concat(ll1) l1 [last(concat(v))]) ∈ (T List)) ∧ ll1 [l1 [last(concat(v))]] ≤ v) 
   supposing ¬(concat(v) [] ∈ (T List))
5. concat(v) [] ∈ (T List)
6. ¬(u [] ∈ (T List))
7. L' List
8. (L' [last(u)]) ∈ (T List)
9. (L' [last(u)]) ∈ (T List)
⊢ [L' [last(u)]] ≤ [u v]


Latex:


Latex:

1.  [T]  :  Type
2.  u  :  T  List
3.  v  :  T  List  List
4.  \mexists{}ll1:T  List  List
        \mexists{}l1:T  List
          ((concat(v)  =  (concat(ll1)  @  l1  @  [last(concat(v))]))  \mwedge{}  ll1  @  [l1  @  [last(concat(v))]]  \mleq{}  v) 
      supposing  \mneg{}(concat(v)  =  [])
5.  concat(v)  =  []
6.  \mneg{}(u  =  [])
\mvdash{}  \mexists{}l1:T  List.  ((u  =  (l1  @  [last(u)]))  \mwedge{}  [l1  @  [last(u)]]  \mleq{}  [u  /  v])


By


Latex:
((InstLemma  `last\_lemma`  [\mkleeneopen{}T\mkleeneclose{};  \mkleeneopen{}u\mkleeneclose{}])\mcdot{}
  THEN  Auto
  THEN  Try  ((RW  assert\_pushdownC  0  THEN  Auto))
  THEN  (ParallelOp  (-1))
  THEN  Try  ((RW  assert\_pushdownC  0  THEN  Auto)))




Home Index