Nuprl Lemma : pRun_functionality

[M:Type ⟶ Type]
  ∀[nat2msg:ℕ ⟶ pMsg(P.M[P])]. ∀[loc2msg:Id ⟶ pMsg(P.M[P])]. ∀[env:pEnvType(P.M[P])]. ∀[S1,S2:System(P.M[P])].
    pRun(S1;env;nat2msg;loc2msg) pRun(S2;env;nat2msg;loc2msg) ∈ pRunType(P.M[P]) supposing system-equiv(P.M[P];S1;S2) 
  supposing Continuous+(P.M[P])


Proof




Definitions occuring in Statement :  pRun: pRun(S0;env;nat2msg;loc2msg) pEnvType: pEnvType(T.M[T]) pRunType: pRunType(T.M[T]) system-equiv: system-equiv(T.M[T];S1;S2) System: System(P.M[P]) pMsg: pMsg(P.M[P]) Id: Id strong-type-continuous: Continuous+(T.F[T]) nat: uimplies: supposing a uall: [x:A]. B[x] so_apply: x[s] function: x:A ⟶ B[x] universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T uimplies: supposing a pRunType: pRunType(T.M[T]) and: P ∧ Q prop: so_lambda: λ2x.t[x] so_apply: x[s] all: x:A. B[x] guard: {T} int_seg: {i..j-} lelt: i ≤ j < k satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] false: False implies:  Q not: ¬A top: Top decidable: Dec(P) or: P ∨ Q subtype_rel: A ⊆B le: A ≤ B less_than': less_than'(a;b) nat: 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  pi2: snd(t) bfalse: ff sq_type: SQType(T) bnot: ¬bb assert: b ge: i ≥  int_upper: {i...} fulpRunType: fulpRunType(T.M[T]) System: System(P.M[P]) cand: c∧ B pEnvType: pEnvType(T.M[T]) nat_plus: + iff: ⇐⇒ Q rev_implies:  Q true: True spreadn: spread3 system-equiv: system-equiv(T.M[T];S1;S2) do-chosen-command: do-chosen-command(nat2msg;loc2msg;t;S;n;m;nm) ldag: LabeledDAG(T) squash: T let: let lg-is-source: lg-is-source(g;i) pInTransit: pInTransit(P.M[P]) pi1: fst(t) Id: Id create-component: create-component(t;P;x;Cs;L) select: L[n] cons: [a b] process-equiv: process-equiv component: component(P.M[P]) nequal: a ≠ b ∈ 

Latex:
\mforall{}[M:Type  {}\mrightarrow{}  Type]
    \mforall{}[nat2msg:\mBbbN{}  {}\mrightarrow{}  pMsg(P.M[P])].  \mforall{}[loc2msg:Id  {}\mrightarrow{}  pMsg(P.M[P])].  \mforall{}[env:pEnvType(P.M[P])].
    \mforall{}[S1,S2:System(P.M[P])].
        pRun(S1;env;nat2msg;loc2msg)  =  pRun(S2;env;nat2msg;loc2msg) 
        supposing  system-equiv(P.M[P];S1;S2) 
    supposing  Continuous+(P.M[P])



Date html generated: 2016_05_17-AM-10_40_56
Last ObjectModification: 2016_01_18-AM-00_23_04

Theory : process-model


Home Index