Nuprl Lemma : reliable-env-property

[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 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-command(r;t;n))
                  ∈ (ℤ × Id × pMsg(P.M[P])))
                  ∧ (run-event-loc(e) (fst(snd(run-command(r;t;n)))) ∈ Id)) 
  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: 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:  Q and: P ∧ Q function: x:A ─→ B[x] spread: spread def product: x:A × B[x] int: universe: Type equal: t ∈ T
Lemmas :  run-command-node_wf l_member_wf run-command_wf pInTransit_wf com-kind_wf cons_wf nil_wf nat_wf set_wf less_than_wf primrec-wf2 squash_wf pRunType_wf add-zero le_wf member-less_than subtype_base_sq int_subtype_base pRun_wf2 and_wf equal_wf Id_wf pMsg_wf unit_wf2 top_wf ldag_wf pi2_wf lg-size_wf less_than_transitivity2 subtract_wf eq_int_wf bool_wf eqtt_to_assert assert_of_eq_int eqff_to_assert bool_cases_sqequal bool_subtype_base assert-bnot neg_assert_of_eq_int add-associates add-swap add-commutes pRun_wf fulpRunType_wf zero-le-nat System_wf subtype_rel_dep_function int_seg_wf int_seg_subtype-nat false_wf subtype_rel_self all_wf lg-label_wf lelt_wf not_wf assert_wf lg-is-source_wf lt_int_wf bnot_wf assert_elim bfalse_wf btrue_neq_bfalse bool_cases assert_of_lt_int iff_transitivity iff_weakening_uiff assert_of_bnot decidable__le assert_witness decidable__lt not-le-2 condition-implies-le minus-add minus-one-mul add_functionality_wrt_le le-add-cancel eq_atom_wf assert_of_eq_atom lg-size-deliver-msg comm-msg_wf lg-remove_wf_dag is-dag_wf true_wf lg-size-remove iff_weakening_equal less-iff-le minus-minus less_than_transitivity1 lg-remove_wf deliver-msg_wf neg_assert_of_eq_atom le_antisymmetry_iff lg-label-deliver-msg lg-label-remove list_wf component_wf trivial-int-eq1 add-mul-special zero-mul zero-add sq_stable__le subtract-is-less le_weakening exists_wf runEvents_wf run-info_wf intransit-to-info_wf run-event-step_wf run-event-step-positive pi1_wf_top set_subtype_base run-event-loc_wf pCom_wf less_than_irreflexivity int_upper_subtype_nat nat_properties nequal-le-implies le_weakening2 le-add-cancel-alt member_wf strong-type-continuous_wf pEnvType_wf InitialSystem_wf nat_plus_wf subtype_rel_product labeled-graph_wf is-run-event_wf subtype_rel-equal decidable__equal_int not-equal-2 assert-eq-id atom_subtype_base cons_member nil_member or_wf equal-wf-base equal-wf-T-base uiff_transitivity isect_wf member_singleton command-to-msg_wf

Latex:
\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: 2015_07_23-AM-11_18_43
Last ObjectModification: 2015_02_04-PM-05_05_41

Home Index