Nuprl Lemma : pRun-invariant1

[M:Type ⟶ Type]
  ∀n2m:ℕ ⟶ pMsg(P.M[P]). ∀l2m:Id ⟶ pMsg(P.M[P]). ∀S0:System(P.M[P]). ∀env:pEnvType(P.M[P]).
    let pRun(S0;env;n2m;l2m) in
        ∀e:runEvents(r)
          (fst(fst(run-info(r;e))) < run-event-step(e)
          ∨ (∃m:ℕlg-size(snd(S0)). ((fst(run-info(r;e))) (fst(lg-label(snd(S0);m))) ∈ (ℤ × Id)))) 
  supposing Continuous+(P.M[P])


Proof




Definitions occuring in Statement :  run-event-step: run-event-step(e) runEvents: runEvents(r) run-info: run-info(r;e) pRun: pRun(S0;env;nat2msg;loc2msg) pEnvType: pEnvType(T.M[T]) System: System(P.M[P]) pMsg: pMsg(P.M[P]) lg-label: lg-label(g;x) lg-size: lg-size(g) Id: Id strong-type-continuous: Continuous+(T.F[T]) int_seg: {i..j-} nat: less_than: a < b 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] or: P ∨ Q function: x:A ⟶ B[x] product: x:A × B[x] natural_number: $n 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] System: System(P.M[P]) let: let pi2: snd(t) so_lambda: λ2x.t[x] so_apply: x[s] runEvents: runEvents(r) top: Top decidable: Dec(P) or: P ∨ Q pi1: fst(t) run-event-step: run-event-step(e) not: ¬A implies:  Q sq_stable: SqStable(P) squash: T false: False prop: run-info: run-info(r;e) pRun: pRun(S0;env;nat2msg;loc2msg) ycomb: Y do-chosen-command: do-chosen-command(nat2msg;loc2msg;t;S;n;m;nm) is-run-event: is-run-event(r;t;x) nat: exposed-bfalse: exposed-bfalse bool: 𝔹 unit: Unit it: btrue: tt uiff: uiff(P;Q) ifthenelse: if then else fi  isl: isl(x) outl: outl(x) bfalse: ff band: p ∧b q assert: b exists: x:A. B[x] sq_type: SQType(T) guard: {T} bnot: ¬bb le: A ≤ B less_than': less_than'(a;b) ge: i ≥  int_upper: {i...} spreadn: spread3 satisfiable_int_formula: satisfiable_int_formula(fmla) ldag: LabeledDAG(T) lg-is-source: lg-is-source(g;i) int_seg: {i..j-} lelt: i ≤ j < k pInTransit: pInTransit(P.M[P]) iff: ⇐⇒ Q rev_implies:  Q fulpRunType: fulpRunType(T.M[T]) lg-all: x∈G.P[x] Id: Id true: True

Latex:
\mforall{}[M:Type  {}\mrightarrow{}  Type]
    \mforall{}n2m:\mBbbN{}  {}\mrightarrow{}  pMsg(P.M[P]).  \mforall{}l2m:Id  {}\mrightarrow{}  pMsg(P.M[P]).  \mforall{}S0:System(P.M[P]).  \mforall{}env:pEnvType(P.M[P]).
        let  r  =  pRun(S0;env;n2m;l2m)  in
                \mforall{}e:runEvents(r)
                    (fst(fst(run-info(r;e)))  <  run-event-step(e)
                    \mvee{}  (\mexists{}m:\mBbbN{}lg-size(snd(S0)).  ((fst(run-info(r;e)))  =  (fst(lg-label(snd(S0);m)))))) 
    supposing  Continuous+(P.M[P])



Date html generated: 2016_05_17-AM-10_48_25
Last ObjectModification: 2016_01_18-AM-00_24_32

Theory : process-model


Home Index