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
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T uimplies: supposing a strong-type-continuous: Continuous+(T.F[T]) ext-eq: A ≡ B and: P ∧ Q subtype_rel: A ⊆B all: x:A. B[x] let: let so_lambda: λ2x.t[x] so_apply: x[s] InitialSystem: InitialSystem(P.M[P]) implies:  Q run-msg-commands: run-msg-commands(r) cand: c∧ B run-command-node: run-command-node(r;t;n) prop: nat: le: A ≤ B less_than': less_than'(a;b) false: False not: ¬A pi1: fst(t) pi2: snd(t) sq_type: SQType(T) guard: {T} int_seg: {i..j-} exists: x:A. B[x] pInTransit: pInTransit(P.M[P]) sq_stable: SqStable(P) squash: T ldag: LabeledDAG(T) pRunType: pRunType(T.M[T]) ge: i ≥  decidable: Dec(P) or: P ∨ Q satisfiable_int_formula: satisfiable_int_formula(fmla) top: Top run-command: run-command(r;t;n) pRun: pRun(S0;env;nat2msg;loc2msg) ycomb: Y exposed-bfalse: exposed-bfalse bool: 𝔹 unit: Unit it: btrue: tt uiff: uiff(P;Q) ifthenelse: if then else fi  bfalse: ff bnot: ¬bb assert: b nequal: a ≠ b ∈  run-intransit: run-intransit(r;t) run-system: run-system(r;t) fulpRunType: fulpRunType(T.M[T]) System: System(P.M[P]) pEnvType: pEnvType(T.M[T]) nat_plus: + spreadn: spread3 lelt: i ≤ j < k less_than: a < b do-chosen-command: do-chosen-command(nat2msg;loc2msg;t;S;n;m;nm) lg-is-source: lg-is-source(g;i) iff: ⇐⇒ Q rev_implies:  Q true: True create-component: create-component(t;P;x;Cs;L) int_upper: {i...} runEvents: runEvents(r) is-run-event: is-run-event(r;t;x) isl: isl(x) outl: outl(x) band: p ∧b q rev_uimplies: rev_uimplies(P;Q) eq_atom: =a y 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)

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: 2016_05_17-AM-11_00_10
Last ObjectModification: 2016_01_18-AM-00_27_00

Theory : process-model


Home Index