Step
*
1
of Lemma
fseg_extend
1. [T] : Type
2. l1 : T List
3. v : T
4. l2 : T List
5. L : T List
6. l2 = (L @ l1) ∈ (T List)
7. ||l1|| < ||l2||
8. l2[||l2|| - ||l1|| + 1] = v ∈ T
9. ¬↑null(L)
10. ∃L':T List. (L = (L' @ [last(L)]) ∈ (T List))
⊢ ∃L@0:T List. ((L @ l1) = (L@0 @ [v / l1]) ∈ (T List))
BY
{ ((ParallelLast THEN HypSubst' -1 0 THEN Auto) THEN (RWO "append_assoc" 0 THENA Auto))⋅ }
1
1. T : Type
2. l1 : T List
3. v : T
4. l2 : T List
5. L : T List
6. l2 = (L @ l1) ∈ (T List)
7. ||l1|| < ||l2||
8. l2[||l2|| - ||l1|| + 1] = v ∈ T
9. ¬↑null(L)
10. L' : T List
11. L = (L' @ [last(L)]) ∈ (T List)
⊢ (L' @ [last(L)] @ l1) = (L' @ [v / l1]) ∈ (T List)
Latex:
Latex:
1.  [T]  :  Type
2.  l1  :  T  List
3.  v  :  T
4.  l2  :  T  List
5.  L  :  T  List
6.  l2  =  (L  @  l1)
7.  ||l1||  <  ||l2||
8.  l2[||l2||  -  ||l1||  +  1]  =  v
9.  \mneg{}\muparrow{}null(L)
10.  \mexists{}L':T  List.  (L  =  (L'  @  [last(L)]))
\mvdash{}  \mexists{}L@0:T  List.  ((L  @  l1)  =  (L@0  @  [v  /  l1]))
By
Latex:
((ParallelLast  THEN  HypSubst'  -1  0  THEN  Auto)  THEN  (RWO  "append\_assoc"  0  THENA  Auto))\mcdot{}
Home
Index