{ [A:Type]. [B:A  Type]. [eq:EqDecider(A)]. [f,g:a:A fp-B[a]].
    (f  g  (x,y.<Ax, Ax f  g)) }

{ Proof }



Definitions occuring in Statement :  fpf-sub: f  g fpf: a:A fp-B[a] uall: [x:A]. B[x] so_apply: x[s] implies: P  Q member: t  T lambda: x.A[x] function: x:A  B[x] pair: <a, b> universe: Type axiom: Ax deq: EqDecider(T)
Definitions :  guard: {T} sq_type: SQType(T) subtype: S  T l_member: (x  l) list: type List top: Top bool: fpf-ap: f(x) fpf-dom: x  dom(f) cand: A c B strong-subtype: strong-subtype(A;B) decide: case b of inl(x) =s[x] | inr(y) =t[y] ifthenelse: if b then t else f fi  assert: b set: {x:A| B[x]}  le: A  B ge: i  j  not: A less_than: a < b uimplies: b supposing a product: x:A  B[x] and: P  Q uiff: uiff(P;Q) subtype_rel: A r B all: x:A. B[x] prop: axiom: Ax pair: <a, b> fpf-sub: f  g lambda: x.A[x] implies: P  Q equal: s = t universe: Type function: x:A  B[x] deq: EqDecider(T) uall: [x:A]. B[x] so_lambda: x.t[x] so_apply: x[s] apply: f a fpf: a:A fp-B[a] member: t  T isect: x:A. B[x] MaAuto: Error :MaAuto,  CollapseTHEN: Error :CollapseTHEN,  Auto: Error :Auto,  tactic: Error :tactic
Lemmas :  fpf_wf top_wf member_wf l_member_wf fpf-dom_wf fpf-trivial-subtype-top assert_wf assert_witness pair_wf deq_wf fpf-sub_wf

\mforall{}[A:Type].  \mforall{}[B:A  {}\mrightarrow{}  Type].  \mforall{}[eq:EqDecider(A)].  \mforall{}[f,g:a:A  fp->  B[a]].
    (f  \msubseteq{}  g  {}\mRightarrow{}  (\mlambda{}x,y.<Ax,  Ax>  \mmember{}  f  \msubseteq{}  g))


Date html generated: 2011_08_10-AM-07_56_46
Last ObjectModification: 2011_06_18-AM-08_17_22

Home Index