{ [A:Type]. [B:A  Type]. [f:a:A fp-B[a]]. [eq:EqDecider(A)].
    (f  f = f) }

{ Proof }



Definitions occuring in Statement :  fpf-join: f  g fpf: a:A fp-B[a] uall: [x:A]. B[x] so_apply: x[s] function: x:A  B[x] universe: Type equal: s = t deq: EqDecider(T)
Definitions :  so_lambda: x.t[x] pi2: snd(t) fpf-ap: f(x) fpf-cap: f(x)?z fpf-dom: x  dom(f) pi1: fst(t) member: t  T fpf-join: f  g so_apply: x[s] fpf: a:A fp-B[a] uall: [x:A]. B[x] prop: false: False implies: P  Q all: x:A. B[x] not: A l_all: (xL.P[x]) subtype: S  T top: Top bfalse: ff btrue: tt ifthenelse: if b then t else f fi  uimplies: b supposing a and: P  Q iff: P  Q rev_implies: P  Q unit: Unit bool: it:
Lemmas :  fpf_wf deq_wf deq-member_wf bnot_wf filter_is_nil assert-deq-member assert_of_bnot iff_weakening_uiff iff_transitivity not_functionality_wrt_iff not_wf l_member_wf assert_wf top_wf append_nil_sq eqff_to_assert eqtt_to_assert bool_wf list-subtype strong-subtype-self strong-subtype-set3 strong-subtype-deq-subtype

\mforall{}[A:Type].  \mforall{}[B:A  {}\mrightarrow{}  Type].  \mforall{}[f:a:A  fp->  B[a]].  \mforall{}[eq:EqDecider(A)].    (f  \moplus{}  f  =  f)


Date html generated: 2011_08_10-AM-07_59_11
Last ObjectModification: 2011_06_18-AM-08_18_50

Home Index