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` 0 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. M : 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. t : ℕ
⊢ 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