Step
*
2
2
of Lemma
last-concat-non-null
1. T : Type
2. u : T List
3. u1 : T List
4. v : T List List
5. ((¬↑null(concat([u1 / v]))) ∧ (last(concat([u1 / v])) = last(last([u1 / v])) ∈ T)) supposing 
      ((¬↑null(last([u1 / v]))) and 
      (¬↑null([u1 / v])))
⊢ ((¬↑null(concat([u; [u1 / v]]))) ∧ (last(concat([u; [u1 / v]])) = last(last([u; [u1 / v]])) ∈ T)) supposing 
     ((¬↑null(last([u; [u1 / v]]))) and 
     (¬False))
BY
{ ((ParallelLast THENA (Reduce 0 THEN Auto)) THEN (ParallelLast THENA (RWO "last_cons" (-1) THEN Auto))) }
1
1. T : Type
2. u : T List
3. u1 : T List
4. v : T List List
5. ¬False
6. ¬↑null(last([u; [u1 / v]]))
7. (¬↑null(concat([u1 / v]))) ∧ (last(concat([u1 / v])) = last(last([u1 / v])) ∈ T)
⊢ (¬↑null(concat([u; [u1 / v]]))) ∧ (last(concat([u; [u1 / v]])) = last(last([u; [u1 / v]])) ∈ T)
Latex:
Latex:
1.  T  :  Type
2.  u  :  T  List
3.  u1  :  T  List
4.  v  :  T  List  List
5.  ((\mneg{}\muparrow{}null(concat([u1  /  v])))  \mwedge{}  (last(concat([u1  /  v]))  =  last(last([u1  /  v]))))  supposing 
            ((\mneg{}\muparrow{}null(last([u1  /  v])))  and 
            (\mneg{}\muparrow{}null([u1  /  v])))
\mvdash{}  ((\mneg{}\muparrow{}null(concat([u;  [u1  /  v]])))
          \mwedge{}  (last(concat([u;  [u1  /  v]]))  =  last(last([u;  [u1  /  v]]))))  supposing 
          ((\mneg{}\muparrow{}null(last([u;  [u1  /  v]])))  and 
          (\mneg{}False))
By
Latex:
((ParallelLast  THENA  (Reduce  0  THEN  Auto))
  THEN  (ParallelLast  THENA  (RWO  "last\_cons"  (-1)  THEN  Auto))
  )
Home
Index