{ [A,C:Type]. [B:A  Type]. [x:a:A fp-B[a]]. [f:a:{a:A| 
                                                          (a  fpf-domain(x))} 
                                                        B[a]
                                                        C].
    (fpf-map(a,v.f[a;v];x)  C List) }

{ Proof }



Definitions occuring in Statement :  fpf-map: fpf-map(a,v.f[a; v];x) fpf-domain: fpf-domain(f) fpf: a:A fp-B[a] uall: [x:A]. B[x] so_apply: x[s1;s2] so_apply: x[s] member: t  T set: {x:A| B[x]}  function: x:A  B[x] list: type List universe: Type l_member: (x  l)
Definitions :  axiom: Ax so_apply: x[s1;s2] fpf-map: fpf-map(a,v.f[a; v];x) strong-subtype: strong-subtype(A;B) le: A  B ge: i  j  not: A less_than: a < b uimplies: b supposing a and: P  Q uiff: uiff(P;Q) list: type List product: x:A  B[x] subtype_rel: A r B top: Top fpf-domain: fpf-domain(f) prop: l_member: (x  l) set: {x:A| B[x]}  lambda: x.A[x] so_apply: x[s] apply: f a universe: Type fpf: a:A fp-B[a] all: x:A. B[x] function: x:A  B[x] uall: [x:A]. B[x] isect: x:A. B[x] member: t  T equal: s = t so_lambda: x.t[x] Repeat: Error :Repeat,  CollapseTHEN: Error :CollapseTHEN,  tactic: Error :tactic,  pi2: snd(t) pi1: fst(t) Complete: Error :Complete,  Try: Error :Try,  CollapseTHENA: Error :CollapseTHENA
Lemmas :  pi1_wf_top map-wf2 l_member_wf fpf-domain_wf member_wf top_wf fpf_wf subtype_rel_wf fpf-trivial-subtype-top

\mforall{}[A,C:Type].  \mforall{}[B:A  {}\mrightarrow{}  Type].  \mforall{}[x:a:A  fp->  B[a]].  \mforall{}[f:a:\{a:A|  (a  \mmember{}  fpf-domain(x))\}    {}\mrightarrow{}  B[a]  {}\mrightarrow{}  C].
    (fpf-map(a,v.f[a;v];x)  \mmember{}  C  List)


Date html generated: 2011_08_10-AM-08_04_04
Last ObjectModification: 2011_06_18-AM-08_22_24

Home Index