{ [a:Atom1]. [A:Type]. [eq:EqDecider(A)]. [B:A  ']. [f:x:A fp-B[x]].
    [x:A]. (f(x):B[x]||a) supposing ((x  dom(f)) and x:A||a) 
    supposing f:x:A fp-B[x]||a }

{ Proof }



Definitions occuring in Statement :  fpf-ap: f(x) fpf-dom: x  dom(f) fpf: a:A fp-B[a] assert: b uimplies: b supposing a uall: [x:A]. B[x] so_apply: x[s] function: x:A  B[x] universe: Type deq: EqDecider(T) free-from-atom: x:T||a atom: Atom$n
Definitions :  implies: P  Q decide: case b of inl(x) =s[x] | inr(y) =t[y] ifthenelse: if b then t else f fi  fpf-ap: f(x) strong-subtype: strong-subtype(A;B) le: A  B ge: i  j  not: A less_than: a < b and: P  Q uiff: uiff(P;Q) set: {x:A| B[x]}  list: type List product: x:A  B[x] subtype_rel: A r B top: Top fpf-dom: x  dom(f) assert: b prop: free-from-atom: x:T||a uimplies: b supposing a lambda: x.A[x] apply: f a so_apply: x[s] so_lambda: x.t[x] fpf: a:A fp-B[a] all: x:A. B[x] isect: x:A. B[x] deq: EqDecider(T) atom: Atom$n equal: s = t function: x:A  B[x] member: t  T uall: [x:A]. B[x] Repeat: Error :Repeat,  Auto: Error :Auto,  Complete: Error :Complete,  Try: Error :Try,  CollapseTHEN: Error :CollapseTHEN,  universe: Type iff: P  Q int: nat: exists: x:A. B[x] fpf-domain: fpf-domain(f) l_member: (x  l) void: Void subtype: S  T pi1: fst(t) pi2: snd(t) pair: <a, b> guard: {T} true: True squash: T sq_type: SQType(T) sqequal: s ~ t
Lemmas :  set_subtype_base subtype_base_sq squash_wf true_wf pi2_wf pi1_wf_top l_member_wf fpf-domain_wf subtype_rel_wf member-fpf-domain deq_wf free-from-atom_wf1 assert_wf fpf-dom_wf top_wf fpf_wf member_wf fpf-trivial-subtype-top

\mforall{}[a:Atom1].  \mforall{}[A:Type].  \mforall{}[eq:EqDecider(A)].  \mforall{}[B:A  {}\mrightarrow{}  \mBbbU{}'].  \mforall{}[f:x:A  fp->  B[x]].
    \mforall{}[x:A].  (f(x):B[x]||a)  supposing  ((\muparrow{}x  \mmember{}  dom(f))  and  x:A||a)  supposing  f:x:A  fp->  B[x]||a


Date html generated: 2011_08_10-AM-08_13_23
Last ObjectModification: 2011_06_18-AM-08_29_13

Home Index