{ [M:Type  Type]
    S0:InitialSystem(P.M[P]). n2m:  pMsg(P.M[P]). l2m:Id  pMsg(P.M[P]).
    env:pEnvType(P.M[P]).
      let r = pRun(S0;env;n2m;l2m) in
          reliable-env(env; r)
           (tn:run-msg-commands(r)
                e:runEvents(r)
                 let t,n = tn 
                 in (run-info(r;e)
                    = intransit-to-info(n2m;l2m;r;env;run-event-step(e);...))
                     (run-event-loc(e) = (fst(snd(run-command(r;t;n)))))) 
    supposing Continuous+(P.M[P]) }

{ Proof }



Definitions occuring in Statement :  intransit-to-info: intransit-to-info(n2m;l2m;r;env;t;lbl) run-msg-commands: run-msg-commands(r) run-command: run-command(r;t;n) reliable-env: reliable-env(env; r) InitialSystem: InitialSystem(P.M[P]) run-event-step: run-event-step(e) run-event-loc: run-event-loc(e) runEvents: runEvents(r) run-info: run-info(r;e) pRun: pRun(S0;env;nat2msg;loc2msg) pEnvType: pEnvType(T.M[T]) pMsg: pMsg(P.M[P]) Id: Id strong-type-continuous: Continuous+(T.F[T]) nat: let: let uimplies: b supposing a uall: [x:A]. B[x] so_apply: x[s] pi1: fst(t) pi2: snd(t) all: x:A. B[x] exists: x:A. B[x] implies: P  Q and: P  Q function: x:A  B[x] spread: spread def product: x:A  B[x] int: universe: Type equal: s = t
Definitions :  false: False prop: true: True squash: T so_lambda: x.t[x] not: A le: A  B and: P  Q implies: P  Q all: x:A. B[x] member: t  T nat: so_apply: x[s] run-command-node: run-command-node(r;t;n) pRunType: pRunType(T.M[T]) bfalse: ff btrue: tt ifthenelse: if b then t else f fi  ycomb: Y pRun: pRun(S0;env;nat2msg;loc2msg) cand: A c B uimplies: b supposing a lelt: i  j < k int_seg: {i..j} let: let spreadn: spread3 do-chosen-command: do-chosen-command(nat2msg;loc2msg;t;S;n;m;nm) pi2: snd(t) rev_implies: P  Q iff: P  Q create-component: create-component(t;P;x;Cs;L) ldag: LabeledDAG(T) fulpRunType: fulpRunType(T.M[T]) subtype: S  T nat_plus: top: Top pi1: fst(t) exists: x:A. B[x] pEnvType: pEnvType(T.M[T]) run-command: run-command(r;t;n) assert: b runEvents: runEvents(r) run-system: run-system(r;t) run-intransit: run-intransit(r;t) is-run-event: is-run-event(r;t;x) outl: outl(x) isl: isl(x) band: p  q or: P  Q run-event-loc: run-event-loc(e) run-event-step: run-event-step(e) intransit-to-info: intransit-to-info(n2m;l2m;r;env;t;lbl) run-info: run-info(r;e) command-to-msg: command-to-msg(c;nmsg;lmsg) guard: {T} sq_type: SQType(T) uall: [x:A]. B[x] unit: Unit bool: pInTransit: pInTransit(P.M[P]) lg-is-source: lg-is-source(g;i) decidable: Dec(P) System: System(P.M[P]) InitialSystem: InitialSystem(P.M[P]) eq_atom: x =a y it:
Lemmas :  lg-size_wf_dag pi2_wf pInTransit_wf ldag_wf top_wf unit_wf pMsg_wf Id_wf nat_properties int_subtype_base subtype_base_sq le_wf pRunType_wf nat_wf run-command-node_wf squash_wf run-command_wf not_functionality_wrt_uiff assert_of_bnot eqff_to_assert bnot_wf not_wf assert_of_eq_int eqtt_to_assert assert_wf uiff_transitivity iff_weakening_uiff bool_wf eq_int_wf lg-is-source_wf_dag assert_of_le_int bnot_of_lt_int assert_functionality_wrt_uiff assert_of_lt_int bool_subtype_base bool_cases bfalse_wf assert_elim btrue_neq_bfalse le_int_wf lt_int_wf lg-label_wf_dag assert_witness decidable__le lg-size_wf System_wf deliver-msg_wf lg-size-remove is-dag_wf lg-remove_wf_dag comm-msg_wf lg-size-deliver-msg assert_of_eq_atom com-kind_wf eq_atom_wf lg-label-remove lg-label-deliver-msg component_wf pRun_wf set_subtype_base run-event-loc_wf run-event-step-positive intransit-to-info_wf run-info_wf runEvents_wf subtype_rel_self int_seg_wf subtype_rel_function pi1_wf_top decidable__lt l_member_wf pCom_wf false_wf true_wf member_wf fulpRunType_wf subtype_rel_simple_product InitialSystem_wf pEnvType_wf strong-type-continuous_wf run-event-step_wf nat_plus_wf is-run-event_wf eq_id_self uiff_inversion nil_member or_functionality_wrt_iff cons_member iff_transitivity atom_subtype_base run-intransit_wf command-to-msg_wf

\mforall{}[M:Type  {}\mrightarrow{}  Type]
    \mforall{}S0:InitialSystem(P.M[P]).  \mforall{}n2m:\mBbbN{}  {}\mrightarrow{}  pMsg(P.M[P]).  \mforall{}l2m:Id  {}\mrightarrow{}  pMsg(P.M[P]).  \mforall{}env:pEnvType(P.M[P]).
        let  r  =  pRun(S0;env;n2m;l2m)  in
                reliable-env(env;  r)
                {}\mRightarrow{}  (\mforall{}tn:run-msg-commands(r)
                            \mexists{}e:runEvents(r)
                              let  t,n  =  tn 
                              in  (run-info(r;e)
                                    =  intransit-to-info(n2m;l2m;r;env;run-event-step(e);run-command(r;t;n)))
                                    \mwedge{}  (run-event-loc(e)  =  (fst(snd(run-command(r;t;n)))))) 
    supposing  Continuous+(P.M[P])


Date html generated: 2011_08_17-PM-03_45_31
Last ObjectModification: 2011_06_18-AM-11_26_01

Home Index