Step
*
2
of Lemma
tl-lastn
1. u : Top
2. v : Top List
3. ∀[n:ℤ]. (tl(lastn(n;v)) ~ if n <z ||v|| then lastn(n - 1;v) else lastn(n;tl(v)) fi )
4. n : ℤ
⊢ tl(lastn(n;[u / v])) ~ if n <z ||[u / v]|| then lastn(n - 1;[u / v]) else lastn(n;tl([u / v])) fi 
BY
{ ((Unfold `lastn` 0 THEN RecUnfold `nth_tl` 0 THEN Reduce 0)
   THEN RepeatFor 2 ((SplitOnConclITE THENA Auto))
   THEN Try (Complete (Auto'))
   THEN (SplitOnConclITE THENA Auto)
   THEN Try (Complete (Auto'))) }
1
.....falsecase..... 
1. u : Top
2. v : Top List
3. ∀[n:ℤ]. (tl(lastn(n;v)) ~ if n <z ||v|| then lastn(n - 1;v) else lastn(n;tl(v)) fi )
4. n : ℤ
5. 0 < (||v|| + 1) - n
6. n < ||v|| + 1
7. 0 < (||v|| + 1) - n - 1
⊢ tl(nth_tl((||v|| + 1) - n - 1;v)) ~ nth_tl((||v|| + 1) - n - 1 - 1;v)
Latex:
Latex:
1.  u  :  Top
2.  v  :  Top  List
3.  \mforall{}[n:\mBbbZ{}].  (tl(lastn(n;v))  \msim{}  if  n  <z  ||v||  then  lastn(n  -  1;v)  else  lastn(n;tl(v))  fi  )
4.  n  :  \mBbbZ{}
\mvdash{}  tl(lastn(n;[u  /  v]))  \msim{}  if  n  <z  ||[u  /  v]||  then  lastn(n  -  1;[u  /  v])  else  lastn(n;tl([u  /  v]))  fi 
By
Latex:
((Unfold  `lastn`  0  THEN  RecUnfold  `nth\_tl`  0  THEN  Reduce  0)
  THEN  RepeatFor  2  ((SplitOnConclITE  THENA  Auto))
  THEN  Try  (Complete  (Auto'))
  THEN  (SplitOnConclITE  THENA  Auto)
  THEN  Try  (Complete  (Auto')))
Home
Index