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