{ [A:Type]. [B:A  Type]. [f:a:A fp-B[a]].
    (f  a:{a:A| (a  fpf-domain(f))}  fp-B[a]) }

{ Proof }



Definitions occuring in Statement :  fpf-domain: fpf-domain(f) fpf: a:A fp-B[a] uall: [x:A]. B[x] so_apply: x[s] member: t  T set: {x:A| B[x]}  function: x:A  B[x] universe: Type l_member: (x  l)
Definitions :  uall: [x:A]. B[x] fpf: a:A fp-B[a] so_apply: x[s] member: t  T so_lambda: x.t[x] fpf-domain: fpf-domain(f) pi1: fst(t) all: x:A. B[x] subtype: S  T suptype: suptype(S; T) prop:
Lemmas :  fpf_wf list-subtype l_member_wf

\mforall{}[A:Type].  \mforall{}[B:A  {}\mrightarrow{}  Type].  \mforall{}[f:a:A  fp->  B[a]].    (f  \mmember{}  a:\{a:A|  (a  \mmember{}  fpf-domain(f))\}    fp->  B[a])


Date html generated: 2011_08_10-AM-07_55_03
Last ObjectModification: 2011_06_18-AM-08_16_24

Home Index