Nuprl Lemma : adjacent-run-states

[M:Type ⟶ Type]
  ∀n2m:ℕ ⟶ pMsg(P.M[P]). ∀l2m:Id ⟶ pMsg(P.M[P]). ∀S:System(P.M[P]). ∀env:pEnvType(P.M[P]). ∀x:Id. ∀n,m:ℕ+.
    (run-event-state-when(pRun(S;env;n2m;l2m);<n, x>) ⊆ run-event-state-when(pRun(S;env;n2m;l2m);<m, x>)) supposing 
       ((∀a:runEvents(pRun(S;env;n2m;l2m))
           ¬((n ≤ run-event-step(a)) ∧ run-event-step(a) < m) supposing run-event-loc(a) x ∈ Id) and 
       (n ≤ m)) 
  supposing Continuous+(P.M[P])


Proof




Definitions occuring in Statement :  run-event-step: run-event-step(e) run-event-loc: run-event-loc(e) run-event-state-when: run-event-state-when(r;e) runEvents: runEvents(r) pRun: pRun(S0;env;nat2msg;loc2msg) pEnvType: pEnvType(T.M[T]) System: System(P.M[P]) pMsg: pMsg(P.M[P]) Process: Process(P.M[P]) Id: Id l_contains: A ⊆ B strong-type-continuous: Continuous+(T.F[T]) nat_plus: + nat: less_than: a < b uimplies: supposing a uall: [x:A]. B[x] so_apply: x[s] le: A ≤ B all: x:A. B[x] not: ¬A and: P ∧ Q function: x:A ⟶ B[x] pair: <a, b> universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] uimplies: supposing a member: t ∈ T strong-type-continuous: Continuous+(T.F[T]) ext-eq: A ≡ B and: P ∧ Q subtype_rel: A ⊆B all: x:A. B[x] so_lambda: λ2x.t[x] so_apply: x[s] prop: implies:  Q nat_plus: + decidable: Dec(P) or: P ∨ Q satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] false: False not: ¬A top: Top nat: ge: i ≥  cand: c∧ B le: A ≤ B component: component(P.M[P]) pi1: fst(t) deliver-msg: deliver-msg(t;m;x;Cs;L) append: as bs so_lambda: so_lambda(x,y,z.t[x; y; z]) so_apply: x[s1;s2;s3] pi2: snd(t) System: System(P.M[P]) so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] list_accum: list_accum nil: [] it: mapfilter: mapfilter(f;P;L) deliver-msg-to-comp: deliver-msg-to-comp(t;m;x;S;C) bool: 𝔹 unit: Unit btrue: tt uiff: uiff(P;Q) ifthenelse: if then else fi  bfalse: ff sq_type: SQType(T) guard: {T} bnot: ¬bb assert: b l_contains: A ⊆ B iff: ⇐⇒ Q rev_implies:  Q run-event-state-when: run-event-state-when(r;e) pRun: pRun(S0;env;nat2msg;loc2msg) ycomb: Y runEvents: runEvents(r) run-event-loc: run-event-loc(e) run-event-step: run-event-step(e) is-run-event: is-run-event(r;t;x) exposed-bfalse: exposed-bfalse spreadn: spread3 isl: isl(x) outl: outl(x) band: p ∧b q nequal: a ≠ b ∈  fulpRunType: fulpRunType(T.M[T]) pEnvType: pEnvType(T.M[T]) pRunType: pRunType(T.M[T]) less_than': less_than'(a;b) do-chosen-command: do-chosen-command(nat2msg;loc2msg;t;S;n;m;nm) ldag: LabeledDAG(T) int_seg: {i..j-} lelt: i ≤ j < k lg-is-source: lg-is-source(g;i) pInTransit: pInTransit(P.M[P]) let: let create-component: create-component(t;P;x;Cs;L) subtract: m

Latex:
\mforall{}[M:Type  {}\mrightarrow{}  Type]
    \mforall{}n2m:\mBbbN{}  {}\mrightarrow{}  pMsg(P.M[P]).  \mforall{}l2m:Id  {}\mrightarrow{}  pMsg(P.M[P]).  \mforall{}S:System(P.M[P]).  \mforall{}env:pEnvType(P.M[P]).  \mforall{}x:Id.
    \mforall{}n,m:\mBbbN{}\msupplus{}.
        (run-event-state-when(pRun(S;env;n2m;l2m);<n,  x>)  \msubseteq{}  run-event-state-when(pRun(S;env;n2m;l2m);<m,\000C  x>))  supposing 
              ((\mforall{}a:runEvents(pRun(S;env;n2m;l2m))
                      \mneg{}((n  \mleq{}  run-event-step(a))  \mwedge{}  run-event-step(a)  <  m)  supposing  run-event-loc(a)  =  x)  and 
              (n  \mleq{}  m)) 
    supposing  Continuous+(P.M[P])



Date html generated: 2016_05_17-AM-10_47_07
Last ObjectModification: 2016_01_18-AM-00_22_11

Theory : process-model


Home Index