Step
*
1
of Lemma
mklist-prepend1
1. f : Top
2. m : ℤ
3. 0 < m
4. mklist(m;f) ~ [f 0] @ mklist(m - 1;λi.(f (1 + i)))
⊢ mklist(1 + m;f) ~ [f 0 / mklist(m;λi.(f (1 + i)))]
BY
{ (UnfoldAtAddr [1] 0
   THEN (RWO "primrec-unroll" 0 THENA Auto)
   THEN Fold `mklist` 0
   THEN Reduce 0
   THEN AutoSplit
   THEN (Subst ⌜(1 + m) - 1 ~ m⌝ 0⋅ THENA Auto)) }
1
1. f : Top
2. m : ℤ
3. ¬1 + m < 1
4. 0 < m
5. mklist(m;f) ~ [f 0] @ mklist(m - 1;λi.(f (1 + i)))
⊢ mklist(m;f) @ [f m] ~ [f 0 / mklist(m;λi.(f (1 + i)))]
Latex:
Latex:
1.  f  :  Top
2.  m  :  \mBbbZ{}
3.  0  <  m
4.  mklist(m;f)  \msim{}  [f  0]  @  mklist(m  -  1;\mlambda{}i.(f  (1  +  i)))
\mvdash{}  mklist(1  +  m;f)  \msim{}  [f  0  /  mklist(m;\mlambda{}i.(f  (1  +  i)))]
By
Latex:
(UnfoldAtAddr  [1]  0
  THEN  (RWO  "primrec-unroll"  0  THENA  Auto)
  THEN  Fold  `mklist`  0
  THEN  Reduce  0
  THEN  AutoSplit
  THEN  (Subst  \mkleeneopen{}(1  +  m)  -  1  \msim{}  m\mkleeneclose{}  0\mcdot{}  THENA  Auto))
Home
Index