Step * 2 of Lemma reject_eq_firstn_nth_tl


1. Type
2. T
3. List
4. ∀i:ℕ||v||. (v\[i] firstn(i;v) nth_tl(1 i;v))
5. : ℤ
6. 0 ≤ i < ||v|| 1
7. 0 < i
⊢ [u v]\[i] firstn(i;[u v]) nth_tl(1 i;[u v])
BY
(RWO "reject_cons_tl_sq" 0
   THEN Auto
   THEN (RWO "-5" THENA Auto)
   THEN RW (AddrC [2;1] (RecUnfoldTopC `firstn`)) 0
   THEN Reduce 0
   THEN AutoSplit
   THEN (Subst ⌜(i 1) i⌝ 0⋅ THENA Auto)
   THEN (Assert ⌜nth_tl(i;v) nth_tl(1 i;[u v])⌝⋅ THENM (RWO "-1" THEN Auto))
   THEN RW (AddrC [2] (RecUnfoldTopC `nth_tl`)) 0
   THEN AutoSplit) }


Latex:


Latex:

1.  T  :  Type
2.  u  :  T
3.  v  :  T  List
4.  \mforall{}i:\mBbbN{}||v||.  (v\mbackslash{}[i]  \msim{}  firstn(i;v)  @  nth\_tl(1  +  i;v))
5.  i  :  \mBbbZ{}
6.  0  \mleq{}  i  <  ||v||  +  1
7.  0  <  i
\mvdash{}  [u  /  v]\mbackslash{}[i]  \msim{}  firstn(i;[u  /  v])  @  nth\_tl(1  +  i;[u  /  v])


By


Latex:
(RWO  "reject\_cons\_tl\_sq"  0
  THEN  Auto
  THEN  (RWO  "-5"  0  THENA  Auto)
  THEN  RW  (AddrC  [2;1]  (RecUnfoldTopC  `firstn`))  0
  THEN  Reduce  0
  THEN  AutoSplit
  THEN  (Subst  \mkleeneopen{}1  +  (i  -  1)  \msim{}  i\mkleeneclose{}  0\mcdot{}  THENA  Auto)
  THEN  (Assert  \mkleeneopen{}nth\_tl(i;v)  \msim{}  nth\_tl(1  +  i;[u  /  v])\mkleeneclose{}\mcdot{}  THENM  (RWO  "-1"  0  THEN  Auto))
  THEN  RW  (AddrC  [2]  (RecUnfoldTopC  `nth\_tl`))  0
  THEN  AutoSplit)




Home Index