Step
*
2
2
1
2
1
of Lemma
select-front-as-reduce
1. n : ℕ
2. u : Top
3. v : Top List
4. reduce(λu,x. if ||x|| <z n + 1 then x @ [u] else tl(x) @ [u] fi [];v) ~ rev(firstn(n + 1;v))
5. ||v|| ≤ (n + 1)
6. (n + 1) ≤ ||v||
7. 0 < n + 1
8. v ~ firstn(n;v) @ nth_tl(n;v)
⊢ tl(rev(firstn(n;v) @ nth_tl(n;v))) ~ rev(firstn((n + 1) - 1;v))
BY
{ ((RWO "reverse-append" 0 THENA Auto) THEN Subst' nth_tl(n;v) ~ [last(v)] 0) }
1
.....equality..... 
1. n : ℕ
2. u : Top
3. v : Top List
4. reduce(λu,x. if ||x|| <z n + 1 then x @ [u] else tl(x) @ [u] fi [];v) ~ rev(firstn(n + 1;v))
5. ||v|| ≤ (n + 1)
6. (n + 1) ≤ ||v||
7. 0 < n + 1
8. v ~ firstn(n;v) @ nth_tl(n;v)
⊢ nth_tl(n;v) ~ [last(v)]
2
1. n : ℕ
2. u : Top
3. v : Top List
4. reduce(λu,x. if ||x|| <z n + 1 then x @ [u] else tl(x) @ [u] fi [];v) ~ rev(firstn(n + 1;v))
5. ||v|| ≤ (n + 1)
6. (n + 1) ≤ ||v||
7. 0 < n + 1
8. v ~ firstn(n;v) @ nth_tl(n;v)
⊢ tl(rev([last(v)]) @ rev(firstn(n;v))) ~ rev(firstn((n + 1) - 1;v))
Latex:
Latex:
1.  n  :  \mBbbN{}
2.  u  :  Top
3.  v  :  Top  List
4.  reduce(\mlambda{}u,x.  if  ||x||  <z  n  +  1  then  x  @  [u]  else  tl(x)  @  [u]  fi  ;[];v)  \msim{}  rev(firstn(n  +  1;v))
5.  ||v||  \mleq{}  (n  +  1)
6.  (n  +  1)  \mleq{}  ||v||
7.  0  <  n  +  1
8.  v  \msim{}  firstn(n;v)  @  nth\_tl(n;v)
\mvdash{}  tl(rev(firstn(n;v)  @  nth\_tl(n;v)))  \msim{}  rev(firstn((n  +  1)  -  1;v))
By
Latex:
((RWO  "reverse-append"  0  THENA  Auto)  THEN  Subst'  nth\_tl(n;v)  \msim{}  [last(v)]  0)
Home
Index