Step
*
1
2
2
1
1
1
2
of Lemma
pRun_functionality
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 : {1...}
10. ∀t:ℕ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])))))@i
11. (env t pRun(S1;env;nat2msg;loc2msg)) = (env t pRun(S2;env;nat2msg;loc2msg)) ∈ (ℕ × ℕ × Id)
12. P5 : component(P.M[P]) List@i
13. P6 : LabeledDAG(pInTransit(P.M[P]))@i
14. P7 : component(P.M[P]) List@i
15. P8 : LabeledDAG(pInTransit(P.M[P]))@i
16. (P6 = P8 ∈ LabeledDAG(pInTransit(P.M[P])))
∧ (||P5|| = ||P7|| ∈ ℤ)
∧ (∀k:ℕ||P5||. let x,P = P5[k] in let z,Q = P7[k] in (x = z ∈ Id) ∧ P≡Q)@i
17. n : ℕ@i
18. ¬↑lg-is-source(P8;n)
19. ¬↑lg-is-source(P6;n)
20. m : ℕ@i
21. x : Id@i
⊢ system-equiv(P.M[P];<P5, P6><P7, P8>)
∧ (<inr ⋅ , P5, P6> = <inr ⋅ , P7, P8> ∈ (ℤ × Id × Id × pMsg(P.M[P])? × Top × LabeledDAG(pInTransit(P.M[P]))))
BY
{ D 0 }
1
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 : {1...}
10. ∀t:ℕ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])))))@i
11. (env t pRun(S1;env;nat2msg;loc2msg)) = (env t pRun(S2;env;nat2msg;loc2msg)) ∈ (ℕ × ℕ × Id)
12. P5 : component(P.M[P]) List@i
13. P6 : LabeledDAG(pInTransit(P.M[P]))@i
14. P7 : component(P.M[P]) List@i
15. P8 : LabeledDAG(pInTransit(P.M[P]))@i
16. (P6 = P8 ∈ LabeledDAG(pInTransit(P.M[P])))
∧ (||P5|| = ||P7|| ∈ ℤ)
∧ (∀k:ℕ||P5||. let x,P = P5[k] in let z,Q = P7[k] in (x = z ∈ Id) ∧ P≡Q)@i
17. n : ℕ@i
18. ¬↑lg-is-source(P8;n)
19. ¬↑lg-is-source(P6;n)
20. m : ℕ@i
21. x : Id@i
⊢ system-equiv(P.M[P];<P5, P6><P7, P8>)
2
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 : {1...}
10. ∀t:ℕ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])))))@i
11. (env t pRun(S1;env;nat2msg;loc2msg)) = (env t pRun(S2;env;nat2msg;loc2msg)) ∈ (ℕ × ℕ × Id)
12. P5 : component(P.M[P]) List@i
13. P6 : LabeledDAG(pInTransit(P.M[P]))@i
14. P7 : component(P.M[P]) List@i
15. P8 : LabeledDAG(pInTransit(P.M[P]))@i
16. (P6 = P8 ∈ LabeledDAG(pInTransit(P.M[P])))
∧ (||P5|| = ||P7|| ∈ ℤ)
∧ (∀k:ℕ||P5||. let x,P = P5[k] in let z,Q = P7[k] in (x = z ∈ Id) ∧ P≡Q)@i
17. n : ℕ@i
18. ¬↑lg-is-source(P8;n)
19. ¬↑lg-is-source(P6;n)
20. m : ℕ@i
21. x : Id@i
⊢ <inr ⋅ , P5, P6> = <inr ⋅ , P7, P8> ∈ (ℤ × Id × Id × pMsg(P.M[P])? × Top × LabeledDAG(pInTransit(P.M[P])))
Latex:
Latex:
1.  M  :  Type  {}\mrightarrow{}  Type
2.  Continuous+(P.M[P])
3.  nat2msg  :  \mBbbN{}  {}\mrightarrow{}  pMsg(P.M[P])
4.  loc2msg  :  Id  {}\mrightarrow{}  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  :  \{1...\}
10.  \mforall{}t:\mBbbN{}t
            (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)))@i
11.  (env  t  pRun(S1;env;nat2msg;loc2msg))  =  (env  t  pRun(S2;env;nat2msg;loc2msg))
12.  P5  :  component(P.M[P])  List@i
13.  P6  :  LabeledDAG(pInTransit(P.M[P]))@i
14.  P7  :  component(P.M[P])  List@i
15.  P8  :  LabeledDAG(pInTransit(P.M[P]))@i
16.  (P6  =  P8)
\mwedge{}  (||P5||  =  ||P7||)
\mwedge{}  (\mforall{}k:\mBbbN{}||P5||.  let  x,P  =  P5[k]  in  let  z,Q  =  P7[k]  in  (x  =  z)  \mwedge{}  P\mequiv{}Q)@i
17.  n  :  \mBbbN{}@i
18.  \mneg{}\muparrow{}lg-is-source(P8;n)
19.  \mneg{}\muparrow{}lg-is-source(P6;n)
20.  m  :  \mBbbN{}@i
21.  x  :  Id@i
\mvdash{}  system-equiv(P.M[P];<P5,  P6><P7,  P8>)  \mwedge{}  (<inr  \mcdot{}  ,  P5,  P6>  =  <inr  \mcdot{}  ,  P7,  P8>)
By
Latex:
D  0
Home
Index