{ [M:Type  Type]. [r:pRunType(P.M[P])].
    (run-cause(r)  runEvents(r)  (runEvents(r)?)) }

{ Proof }



Definitions occuring in Statement :  run-cause: run-cause(r) runEvents: runEvents(r) pRunType: pRunType(T.M[T]) uall: [x:A]. B[x] so_apply: x[s] unit: Unit member: t  T function: x:A  B[x] union: left + right universe: Type
Definitions :  uall: [x:A]. B[x] so_apply: x[s] member: t  T runEvents: runEvents(r) run-cause: run-cause(r) pi1: fst(t) ifthenelse: if b then t else f fi  band: p  q top: Top so_lambda: x.t[x] all: x:A. B[x] subtype: S  T implies: P  Q btrue: tt bfalse: ff prop: nat: pi2: snd(t) unit: Unit bool: iff: P  Q and: P  Q uimplies: b supposing a it:
Lemmas :  pi1_wf_top Id_wf run-info_wf pMsg_wf le_int_wf bool_wf iff_weakening_uiff le_wf uiff_transitivity assert_wf eqtt_to_assert assert_of_le_int is-run-event_wf nat_wf pi2_wf unit_wf not_wf bnot_wf eqff_to_assert assert_of_bnot it_wf runEvents_wf lt_int_wf assert_functionality_wrt_uiff bnot_of_le_int assert_of_lt_int pRunType_wf

\mforall{}[M:Type  {}\mrightarrow{}  Type].  \mforall{}[r:pRunType(P.M[P])].    (run-cause(r)  \mmember{}  runEvents(r)  {}\mrightarrow{}  (runEvents(r)?))


Date html generated: 2011_08_16-PM-07_02_33
Last ObjectModification: 2011_06_18-AM-11_16_18

Home Index