Step
*
1
2
1
2
of Lemma
firstn_decomp2
1. T : Type
2. j : ℤ
3. 0 < j
4. ∀[l:T List]. (firstn(j - 1 - 1;l) @ [l[j - 1 - 1]] ~ firstn(j - 1;l)) supposing (((j - 1) ≤ ||l||) and 0 < j - 1)
5. l : T List
6. 0 < j
7. j ≤ ||l||
8. ¬(j = 1 ∈ ℤ)
9. firstn(j - 1 - 1;tl(l)) @ [tl(l)[j - 1 - 1]] ~ firstn(j - 1;tl(l))
⊢ firstn(j - 1;[hd(l) / tl(l)]) @ [[hd(l) / tl(l)][j - 1]] ~ firstn(j;[hd(l) / tl(l)])
BY
{ (RecUnfold `firstn` 0 THEN Reduce 0 THEN RepeatFor 2 (((SplitOnConclITE THENA Auto) THEN Try (Complete (Auto'))))) }
Latex:
Latex:
1.  T  :  Type
2.  j  :  \mBbbZ{}
3.  0  <  j
4.  \mforall{}[l:T  List]
          (firstn(j  -  1  -  1;l)  @  [l[j  -  1  -  1]]  \msim{}  firstn(j  -  1;l))  supposing 
                (((j  -  1)  \mleq{}  ||l||)  and 
                0  <  j  -  1)
5.  l  :  T  List
6.  0  <  j
7.  j  \mleq{}  ||l||
8.  \mneg{}(j  =  1)
9.  firstn(j  -  1  -  1;tl(l))  @  [tl(l)[j  -  1  -  1]]  \msim{}  firstn(j  -  1;tl(l))
\mvdash{}  firstn(j  -  1;[hd(l)  /  tl(l)])  @  [[hd(l)  /  tl(l)][j  -  1]]  \msim{}  firstn(j;[hd(l)  /  tl(l)])
By
Latex:
(RecUnfold  `firstn`  0
  THEN  Reduce  0
  THEN  RepeatFor  2  (((SplitOnConclITE  THENA  Auto)  THEN  Try  (Complete  (Auto')))))
Home
Index