Nuprl Lemma : pRun-System-invariant

[M:Type ⟶ Type]
  ∀[Q:ℕ ⟶ System(P.M[P]) ⟶ ℙ]
    ∀nat2msg:ℕ ⟶ pMsg(P.M[P]). ∀loc2msg:Id ⟶ pMsg(P.M[P]). ∀S0:System(P.M[P]).
      (Q[0;S0]
       (∀t:ℕ. ∀S:System(P.M[P]).
            (Q[t;S]
             (∀env:pEnvType(P.M[P])
                  let n,m,nm env (t 1) pRun(S0;env;nat2msg;loc2msg) in 
                  Q[t 1;snd(do-chosen-command(nat2msg;loc2msg;t 1;S;n;m;nm))])))
       {∀env:pEnvType(P.M[P]). ∀t:ℕ.  Q[t;snd((pRun(S0;env;nat2msg;loc2msg) t))]}) 
  supposing Continuous+(P.M[P])


Proof




Definitions occuring in Statement :  pRun: pRun(S0;env;nat2msg;loc2msg) pEnvType: pEnvType(T.M[T]) do-chosen-command: do-chosen-command(nat2msg;loc2msg;t;S;n;m;nm) System: System(P.M[P]) pMsg: pMsg(P.M[P]) Id: Id strong-type-continuous: Continuous+(T.F[T]) nat: spreadn: spread3 uimplies: supposing a uall: [x:A]. B[x] prop: guard: {T} so_apply: x[s1;s2] so_apply: x[s] pi2: snd(t) all: x:A. B[x] implies:  Q apply: a function: x:A ⟶ B[x] add: m natural_number: $n universe: Type
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] implies:  Q guard: {T} int_seg: {i..j-} lelt: i ≤ j < k satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] false: False not: ¬A top: Top prop: decidable: Dec(P) or: P ∨ Q 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) so_apply: x[s1;s2] so_lambda: λ2x.t[x] so_apply: x[s] label: ...$L... t ge: i ≥  iff: ⇐⇒ Q rev_implies:  Q bfalse: ff sq_type: SQType(T) bnot: ¬bb assert: b int_upper: {i...} fulpRunType: fulpRunType(T.M[T]) pEnvType: pEnvType(T.M[T]) nat_plus: + subtract: m true: True pRunType: pRunType(T.M[T]) spreadn: spread3

Latex:
\mforall{}[M:Type  {}\mrightarrow{}  Type]
    \mforall{}[Q:\mBbbN{}  {}\mrightarrow{}  System(P.M[P])  {}\mrightarrow{}  \mBbbP{}]
        \mforall{}nat2msg:\mBbbN{}  {}\mrightarrow{}  pMsg(P.M[P]).  \mforall{}loc2msg:Id  {}\mrightarrow{}  pMsg(P.M[P]).  \mforall{}S0:System(P.M[P]).
            (Q[0;S0]
            {}\mRightarrow{}  (\mforall{}t:\mBbbN{}.  \mforall{}S:System(P.M[P]).
                        (Q[t;S]
                        {}\mRightarrow{}  (\mforall{}env:pEnvType(P.M[P])
                                    let  n,m,nm  =  env  (t  +  1)  pRun(S0;env;nat2msg;loc2msg)  in 
                                    Q[t  +  1;snd(do-chosen-command(nat2msg;loc2msg;t  +  1;S;n;m;nm))])))
            {}\mRightarrow{}  \{\mforall{}env:pEnvType(P.M[P]).  \mforall{}t:\mBbbN{}.    Q[t;snd((pRun(S0;env;nat2msg;loc2msg)  t))]\}) 
    supposing  Continuous+(P.M[P])



Date html generated: 2016_05_17-AM-10_41_43
Last ObjectModification: 2016_01_18-AM-00_18_08

Theory : process-model


Home Index