Step * of 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])
BY
(Auto
   THEN Unfold `pRunType` 0
   THEN Ext
   THEN Auto
   THEN Try ((Fold `pRunType` THEN Auto))
   THEN RenameVar `t' (-1)
   THEN Assert ⌜system-equiv(P.M[P];snd((pRun(S1;env;nat2msg;loc2msg) t));snd((pRun(S2;env;nat2msg;loc2msg) t)))
                ∧ ((pRun(S1;env;nat2msg;loc2msg) t)
                  (pRun(S2;env;nat2msg;loc2msg) t)
                  ∈ (ℤ × Id × Id × pMsg(P.M[P])? × Top × LabeledDAG(pInTransit(P.M[P]))))⌝⋅
   THEN Try ((D -1 THEN Trivial))) }

1
.....assertion..... 
1. Type ⟶ Type
2. Continuous+(P.M[P])
3. nat2msg : ℕ ⟶ pMsg(P.M[P])
4. loc2msg Id ⟶ pMsg(P.M[P])
5. env pEnvType(P.M[P])
6. S1 System(P.M[P])
7. S2 System(P.M[P])
8. system-equiv(P.M[P];S1;S2)
9. : ℕ
⊢ system-equiv(P.M[P];snd((pRun(S1;env;nat2msg;loc2msg) t));snd((pRun(S2;env;nat2msg;loc2msg) t)))
∧ ((pRun(S1;env;nat2msg;loc2msg) t)
  (pRun(S2;env;nat2msg;loc2msg) t)
  ∈ (ℤ × Id × Id × pMsg(P.M[P])? × Top × LabeledDAG(pInTransit(P.M[P]))))


Latex:


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])


By


Latex:
(Auto
  THEN  Unfold  `pRunType`  0
  THEN  Ext
  THEN  Auto
  THEN  Try  ((Fold  `pRunType`  0  THEN  Auto))
  THEN  RenameVar  `t'  (-1)
  THEN  Assert  \mkleeneopen{}system-equiv(P.M[P];snd((pRun(S1;env;nat2msg;loc2msg)  t));
                                                                    snd((pRun(S2;env;nat2msg;loc2msg)  t)))
                            \mwedge{}  ((pRun(S1;env;nat2msg;loc2msg)  t)  =  (pRun(S2;env;nat2msg;loc2msg)  t))\mkleeneclose{}\mcdot{}
  THEN  Try  ((D  -1  THEN  Trivial)))




Home Index