Step * 2 of Lemma eval-mklist-sq


1. Type
2. value-type(T)
3. : ℤ
4. 0 < n
5. ∀[offset:ℕ]. ∀[f:{offset..(n 1) offset-} ⟶ T].
     (eval-mklist(n 1;f;offset) primrec(n 1;[];λi,l. (l [(λi.(f (i offset))) i])))
6. offset : ℕ
7. {offset..n offset-} ⟶ T
⊢ eval-mklist(n;f;offset) primrec(n;[];λi,l. (l [(λi.(f (i offset))) i]))
BY
((Assert ¬(n 0 ∈ ℤBY
          Auto)
   THEN (RWO "primrec-unroll" THENA Auto)
   THEN (OReduce THENA Auto)
   THEN Unfolds ``eval-mklist`` 0
   THEN Reduce 0
   THEN RepeatFor ((CallByValueReduce THENA Auto))
   THEN ((RWO "5" THENA Auto) THEN (CallByValueReduce THENA Auto))
   THEN Reduce 0) }

1
1. Type
2. value-type(T)
3. : ℤ
4. 0 < n
5. ∀[offset:ℕ]. ∀[f:{offset..(n 1) offset-} ⟶ T].
     (eval-mklist(n 1;f;offset) primrec(n 1;[];λi,l. (l [(λi.(f (i offset))) i])))
6. offset : ℕ
7. {offset..n offset-} ⟶ T
8. ¬(n 0 ∈ ℤ)
⊢ [f offset primrec(n 1;[];λi,l. (l [f (i offset 1)]))] primrec(n 1;[];λi,l. (l [f (i offset)]))
[f ((n 1) offset)]


Latex:


Latex:

1.  T  :  Type
2.  value-type(T)
3.  n  :  \mBbbZ{}
4.  0  <  n
5.  \mforall{}[offset:\mBbbN{}].  \mforall{}[f:\{offset..(n  -  1)  +  offset\msupminus{}\}  {}\mrightarrow{}  T].
          (eval-mklist(n  -  1;f;offset)  \msim{}  primrec(n  -  1;[];\mlambda{}i,l.  (l  @  [(\mlambda{}i.(f  (i  +  offset)))  i])))
6.  offset  :  \mBbbN{}
7.  f  :  \{offset..n  +  offset\msupminus{}\}  {}\mrightarrow{}  T
\mvdash{}  eval-mklist(n;f;offset)  \msim{}  primrec(n;[];\mlambda{}i,l.  (l  @  [(\mlambda{}i.(f  (i  +  offset)))  i]))


By


Latex:
((Assert  \mneg{}(n  =  0)  BY
                Auto)
  THEN  (RWO  "primrec-unroll"  0  THENA  Auto)
  THEN  (OReduce  0  THENA  Auto)
  THEN  Unfolds  ``eval-mklist``  0
  THEN  Reduce  0
  THEN  RepeatFor  3  ((CallByValueReduce  0  THENA  Auto))
  THEN  ((RWO  "5"  0  THENA  Auto)  THEN  (CallByValueReduce  0  THENA  Auto))
  THEN  Reduce  0)




Home Index