Step
*
of Lemma
fpf-accum_wf
∀[A,C:Type]. ∀[B:A ─→ Type]. ∀[x:a:A fp-> B[a]]. ∀[y:C]. ∀[f:C ─→ a:A ─→ B[a] ─→ C].
  (fpf-accum(z,a,v.f[z;a;v];y;x) ∈ C)
BY
{ (Auto THEN DVar `x' THEN Unfold `fpf-accum` 0 THEN Reduce 0) }
1
1. A : Type
2. C : Type
3. B : A ─→ Type
4. d : A List
5. x1 : a:{a:A| (a ∈ d)}  ─→ B[a]
6. y : C
7. f : C ─→ a:A ─→ B[a] ─→ C
⊢ accumulate (with value z and list item a):
   f[z;a;x1 a]
  over list:
    d
  with starting value:
   y) ∈ C
Latex:
\mforall{}[A,C:Type].  \mforall{}[B:A  {}\mrightarrow{}  Type].  \mforall{}[x:a:A  fp->  B[a]].  \mforall{}[y:C].  \mforall{}[f:C  {}\mrightarrow{}  a:A  {}\mrightarrow{}  B[a]  {}\mrightarrow{}  C].
    (fpf-accum(z,a,v.f[z;a;v];y;x)  \mmember{}  C)
By
(Auto  THEN  DVar  `x'  THEN  Unfold  `fpf-accum`  0  THEN  Reduce  0)
Home
Index