Step * 2 1 1 of Lemma pRun-intransit-invariant


1. [M] Type ─→ Type
2. Continuous+(P.M[P])
3. n2m : ℕ ─→ pMsg(P.M[P])@i
4. l2m Id ─→ pMsg(P.M[P])@i
5. Cs0 component(P.M[P]) List@i
6. G0 LabeledDAG(pInTransit(P.M[P]))@i
7. env pEnvType(P.M[P])@i
8. : ℕ@i
9. ∀x:pInTransit(P.M[P]). ∀t:ℤ.
     (((fst(fst(x))) ≤ t) ∨ (∃m:ℕlg-size(G0). ((fst(x)) (fst(lg-label(G0;m))) ∈ (ℤ × Id))) ∈ ℙ)
10. t1 : ℕ@i
11. System(P.M[P])@i
12. let Cs,G 
    in ∀x∈G.((fst(fst(x))) ≤ t1) ∨ (∃m:ℕlg-size(G0). ((fst(x)) (fst(lg-label(G0;m))) ∈ (ℤ × Id)))@i
13. e1 pEnvType(P.M[P])@i
14. v1 : ℕ@i
15. v3 : ℕ@i
16. v4 Id@i
17. (e1 (t1 1) pRun(<Cs0, G0>;e1;n2m;l2m)) = <v1, v3, v4> ∈ (ℕ × ℕ × Id)@i
⊢ let Cs,G snd(do-chosen-command(n2m;l2m;t1 1;S;v1;v3;v4)) 
  in ∀x∈G.((fst(fst(x))) ≤ (t1 1)) ∨ (∃m:ℕlg-size(G0). ((fst(x)) (fst(lg-label(G0;m))) ∈ (ℤ × Id)))
BY
(D (-7)
   THEN All Reduce
   THEN RenameVar `G' (-7)
   THEN RenameVar `C' (-8)
   THEN (RepUR ``do-chosen-command`` THEN AutoSplit)⋅)⋅ }

1
1. [M] Type ─→ Type
2. Continuous+(P.M[P])
3. n2m : ℕ ─→ pMsg(P.M[P])@i
4. l2m Id ─→ pMsg(P.M[P])@i
5. Cs0 component(P.M[P]) List@i
6. G0 LabeledDAG(pInTransit(P.M[P]))@i
7. env pEnvType(P.M[P])@i
8. : ℕ@i
9. ∀x:pInTransit(P.M[P]). ∀t:ℤ.
     (((fst(fst(x))) ≤ t) ∨ (∃m:ℕlg-size(G0). ((fst(x)) (fst(lg-label(G0;m))) ∈ (ℤ × Id))) ∈ ℙ)
10. t1 : ℕ@i
11. component(P.M[P]) List@i
12. LabeledDAG(pInTransit(P.M[P]))@i
13. ∀x∈G.((fst(fst(x))) ≤ t1) ∨ (∃m:ℕlg-size(G0). ((fst(x)) (fst(lg-label(G0;m))) ∈ (ℤ × Id)))@i
14. e1 pEnvType(P.M[P])@i
15. v1 : ℕ@i
16. v3 : ℕ@i
17. v4 Id@i
18. (e1 (t1 1) pRun(<Cs0, G0>;e1;n2m;l2m)) = <v1, v3, v4> ∈ (ℕ × ℕ × Id)@i
19. ↑lg-is-source(G;v1)
⊢ let Cs,G snd(let ev,x,c lg-label(G;v1) in 
  let G' lg-remove(G;v1) in
      if com-kind(c) =a "msg" then let ms comm-msg(c) in <inl <ev, x, ms>deliver-msg(t1 1;ms;x;C;G')>
      if com-kind(c) =a "create" then let comm-create(c) in <inr ⋅ create-component(t1 1;P;x;C;G')>
      if com-kind(c) =a "choose" then let ms n2m v3 in <inl <ev, x, ms>deliver-msg(t1 1;ms;x;C;G')>
      if com-kind(c) =a "new" then let ms l2m v4 in <inl <ev, x, ms>deliver-msg(t1 1;ms;x;C;G')>
      else <inr ⋅ C, G'>
      fi 
  in ∀x∈G.((fst(fst(x))) ≤ (t1 1)) ∨ (∃m:ℕlg-size(G0). ((fst(x)) (fst(lg-label(G0;m))) ∈ (ℤ × Id)))

2
1. [M] Type ─→ Type
2. Continuous+(P.M[P])
3. n2m : ℕ ─→ pMsg(P.M[P])@i
4. l2m Id ─→ pMsg(P.M[P])@i
5. Cs0 component(P.M[P]) List@i
6. G0 LabeledDAG(pInTransit(P.M[P]))@i
7. env pEnvType(P.M[P])@i
8. : ℕ@i
9. ∀x:pInTransit(P.M[P]). ∀t:ℤ.
     (((fst(fst(x))) ≤ t) ∨ (∃m:ℕlg-size(G0). ((fst(x)) (fst(lg-label(G0;m))) ∈ (ℤ × Id))) ∈ ℙ)
10. t1 : ℕ@i
11. component(P.M[P]) List@i
12. LabeledDAG(pInTransit(P.M[P]))@i
13. ∀x∈G.((fst(fst(x))) ≤ t1) ∨ (∃m:ℕlg-size(G0). ((fst(x)) (fst(lg-label(G0;m))) ∈ (ℤ × Id)))@i
14. e1 pEnvType(P.M[P])@i
15. v1 : ℕ@i
16. ¬↑lg-is-source(G;v1)
17. v3 : ℕ@i
18. v4 Id@i
19. (e1 (t1 1) pRun(<Cs0, G0>;e1;n2m;l2m)) = <v1, v3, v4> ∈ (ℕ × ℕ × Id)@i
⊢ ∀x∈G.((fst(fst(x))) ≤ (t1 1)) ∨ (∃m:ℕlg-size(G0). ((fst(x)) (fst(lg-label(G0;m))) ∈ (ℤ × Id)))


Latex:



Latex:

1.  [M]  :  Type  {}\mrightarrow{}  Type
2.  Continuous+(P.M[P])
3.  n2m  :  \mBbbN{}  {}\mrightarrow{}  pMsg(P.M[P])@i
4.  l2m  :  Id  {}\mrightarrow{}  pMsg(P.M[P])@i
5.  Cs0  :  component(P.M[P])  List@i
6.  G0  :  LabeledDAG(pInTransit(P.M[P]))@i
7.  env  :  pEnvType(P.M[P])@i
8.  t  :  \mBbbN{}@i
9.  \mforall{}x:pInTransit(P.M[P]).  \mforall{}t:\mBbbZ{}.
          (((fst(fst(x)))  \mleq{}  t)  \mvee{}  (\mexists{}m:\mBbbN{}lg-size(G0).  ((fst(x))  =  (fst(lg-label(G0;m)))))  \mmember{}  \mBbbP{})
10.  t1  :  \mBbbN{}@i
11.  S  :  System(P.M[P])@i
12.  let  Cs,G  =  S 
        in  \mforall{}x\mmember{}G.((fst(fst(x)))  \mleq{}  t1)  \mvee{}  (\mexists{}m:\mBbbN{}lg-size(G0).  ((fst(x))  =  (fst(lg-label(G0;m)))))@i
13.  e1  :  pEnvType(P.M[P])@i
14.  v1  :  \mBbbN{}@i
15.  v3  :  \mBbbN{}@i
16.  v4  :  Id@i
17.  (e1  (t1  +  1)  pRun(<Cs0,  G0>e1;n2m;l2m))  =  <v1,  v3,  v4>@i
\mvdash{}  let  Cs,G  =  snd(do-chosen-command(n2m;l2m;t1  +  1;S;v1;v3;v4)) 
    in  \mforall{}x\mmember{}G.((fst(fst(x)))  \mleq{}  (t1  +  1))  \mvee{}  (\mexists{}m:\mBbbN{}lg-size(G0).  ((fst(x))  =  (fst(lg-label(G0;m)))))


By


Latex:
(D  (-7)
  THEN  All  Reduce
  THEN  RenameVar  `G'  (-7)
  THEN  RenameVar  `C'  (-8)
  THEN  (RepUR  ``do-chosen-command``  0  THEN  AutoSplit)\mcdot{})\mcdot{}




Home Index