Step
*
1
of Lemma
mklist-add1-cons
1. n : ℤ
2. 0 < n
3. ∀[f:Top]. (mklist((n - 1) + 1;f) ~ [f 0 / mklist(n - 1;λi.(f (i + 1)))])
4. f : Top
⊢ mklist(n + 1;f) ~ [f 0 / mklist(n;λi.(f (i + 1)))]
BY
{ ((Subst' (n - 1) + 1 ~ n -2 THENA Auto)
   THEN Auto
   THEN RW
   (AddrC [1] UnfoldTopAbC) 0⋅
   THEN (RW  (AddrC [1] (LemmaC `primrec-unroll`)) 0 THENA Auto)
   THEN (OReduce 0 THENA Auto)
   THEN Fold `mklist` 0
   THEN (Subst' (n + 1) - 1 ~ n 0 THENA Auto)) }
1
1. n : ℤ
2. 0 < n
3. ∀[f:Top]. (mklist(n;f) ~ [f 0 / mklist(n - 1;λi.(f (i + 1)))])
4. f : Top
⊢ mklist(n;f) @ [f n] ~ [f 0 / mklist(n;λi.(f (i + 1)))]
Latex:
Latex:
1.  n  :  \mBbbZ{}
2.  0  <  n
3.  \mforall{}[f:Top].  (mklist((n  -  1)  +  1;f)  \msim{}  [f  0  /  mklist(n  -  1;\mlambda{}i.(f  (i  +  1)))])
4.  f  :  Top
\mvdash{}  mklist(n  +  1;f)  \msim{}  [f  0  /  mklist(n;\mlambda{}i.(f  (i  +  1)))]
By
Latex:
((Subst'  (n  -  1)  +  1  \msim{}  n  -2  THENA  Auto)
  THEN  Auto
  THEN  RW
  (AddrC  [1]  UnfoldTopAbC)  0\mcdot{}
  THEN  (RW    (AddrC  [1]  (LemmaC  `primrec-unroll`))  0  THENA  Auto)
  THEN  (OReduce  0  THENA  Auto)
  THEN  Fold  `mklist`  0
  THEN  (Subst'  (n  +  1)  -  1  \msim{}  n  0  THENA  Auto))
Home
Index