{ [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) }

{ Proof }



Definitions occuring in Statement :  fpf-accum: fpf-accum(z,a,v.f[z; a; v];y;x),  fpf: a:A fp-> B[a],  uall: [x:A]. B[x],  so_apply: x[s1;s2;s3],  so_apply: x[s],  member: t  T,  function: x:A  B[x],  universe: Type
Definitions :  uall: [x:A]. B[x],  so_apply: x[s],  member: t  T,  fpf-accum: fpf-accum(z,a,v.f[z; a; v];y;x),  pi2: snd(t),  pi1: fst(t),  so_lambda: x.t[x],  so_apply: x[s1;s2;s3],  so_lambda: x y.t[x; y],  fpf: a:A fp-> B[a],  so_apply: x[s1;s2],  prop:
Lemmas :  fpf_wf,  list-subtype,  list_accum_wf,  l_member_wf

\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)


Date html generated: 2011_08_10-AM-08_04_07
Last ObjectModification: 2011_06_18-AM-08_22_27

Home Index