{ [A:Type]. [B:A  Type]. [f:a:A fp-B[a]]. [a:A]. [v:B[a]].
  [eq:EqDecider(A)]. [b:A].
    ({(b  dom(f))  (f  a : v(b) = f(b))}) supposing 
       ((b  dom(f  a : v)) and 
       ((b = a))) }

{ Proof }



Definitions occuring in Statement :  fpf-single: x : v fpf-join: f  g 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] guard: {T} so_apply: x[s] not: A and: P  Q function: x:A  B[x] universe: Type equal: s = t deq: EqDecider(T)
Definitions :  so_apply: x[s] guard: {T} and: P  Q member: t  T so_lambda: x.t[x] prop: top: Top uall: [x:A]. B[x] uimplies: b supposing a ifthenelse: if b then t else f fi  all: x:A. B[x] implies: P  Q btrue: tt bfalse: ff not: A or: P  Q iff: P  Q false: False bool: unit: Unit it:
Lemmas :  fpf-join-dom fpf-single_wf iff_weakening_uiff assert_wf fpf-dom_wf top_wf fpf-single-dom fpf-trivial-subtype-top fpf-join_wf not_wf deq_wf fpf_wf assert_witness fpf-join-ap-sq bool_wf fpf-ap_wf bnot_wf eqtt_to_assert uiff_transitivity eqff_to_assert assert_of_bnot

\mforall{}[A:Type].  \mforall{}[B:A  {}\mrightarrow{}  Type].  \mforall{}[f:a:A  fp->  B[a]].  \mforall{}[a:A].  \mforall{}[v:B[a]].  \mforall{}[eq:EqDecider(A)].  \mforall{}[b:A].
    (\{(\muparrow{}b  \mmember{}  dom(f))  \mwedge{}  (f  \moplus{}  a  :  v(b)  =  f(b))\})  supposing  ((\muparrow{}b  \mmember{}  dom(f  \moplus{}  a  :  v))  and  (\mneg{}(b  =  a)))


Date html generated: 2011_08_10-AM-08_06_28
Last ObjectModification: 2011_06_18-AM-08_24_50

Home Index