Step * 2 of Lemma lg-label-deliver-msg


1. Type ─→ Type
2. Continuous+(P.M[P])
3. : ℕ
4. Id
5. pMsg(P.M[P])
6. u1 Id@i
7. u2 Process(P.M[P])@i
8. component(P.M[P]) List@i
9. ∀X:component(P.M[P]) List
     ∀[G:LabeledDAG(pInTransit(P.M[P]))]. ∀[i:ℕlg-size(G)].
       (lg-label(snd(accumulate (with value and list item C):
                      deliver-msg-to-comp(t;m;x;S;C)
                     over list:
                       v
                     with starting value:
                      <X, G>));i)
       lg-label(G;i)
       ∈ pInTransit(P.M[P]))@i
10. component(P.M[P]) List@i
11. LabeledDAG(pInTransit(P.M[P]))
12. : ℕlg-size(G)
13. u1 x ∈ Id
⊢ lg-label(snd(accumulate (with value and list item C):
                deliver-msg-to-comp(t;m;x;S;C)
               over list:
                 v
               with starting value:
                let Q,ext Process-apply(u2;m) 
                in <[<u1, Q> X], lg-append(G;add-cause(<t, x>;ext))>));i)
lg-label(G;i)
∈ pInTransit(P.M[P])
BY
(GenConclAtAddr [2;1;1;2;1] THEN -2 THEN Reduce 0)⋅ }

1
1. Type ─→ Type
2. Continuous+(P.M[P])
3. : ℕ
4. Id
5. pMsg(P.M[P])
6. u1 Id@i
7. u2 Process(P.M[P])@i
8. component(P.M[P]) List@i
9. ∀X:component(P.M[P]) List
     ∀[G:LabeledDAG(pInTransit(P.M[P]))]. ∀[i:ℕlg-size(G)].
       (lg-label(snd(accumulate (with value and list item C):
                      deliver-msg-to-comp(t;m;x;S;C)
                     over list:
                       v
                     with starting value:
                      <X, G>));i)
       lg-label(G;i)
       ∈ pInTransit(P.M[P]))@i
10. component(P.M[P]) List@i
11. LabeledDAG(pInTransit(P.M[P]))
12. : ℕlg-size(G)
13. u1 x ∈ Id
14. v2 Process(P.M[P])@i
15. v3 pExt(P.M[P])@i
16. Process-apply(u2;m) = <v2, v3> ∈ (Process(P.M[P]) × pExt(P.M[P]))@i
⊢ lg-label(snd(accumulate (with value and list item C):
                deliver-msg-to-comp(t;m;x;S;C)
               over list:
                 v
               with starting value:
                <[<u1, v2> X], lg-append(G;add-cause(<t, x>;v3))>));i)
lg-label(G;i)
∈ pInTransit(P.M[P])


Latex:



Latex:

1.  M  :  Type  {}\mrightarrow{}  Type
2.  Continuous+(P.M[P])
3.  t  :  \mBbbN{}
4.  x  :  Id
5.  m  :  pMsg(P.M[P])
6.  u1  :  Id@i
7.  u2  :  Process(P.M[P])@i
8.  v  :  component(P.M[P])  List@i
9.  \mforall{}X:component(P.M[P])  List
          \mforall{}[G:LabeledDAG(pInTransit(P.M[P]))].  \mforall{}[i:\mBbbN{}lg-size(G)].
              (lg-label(snd(accumulate  (with  value  S  and  list  item  C):
                                            deliver-msg-to-comp(t;m;x;S;C)
                                          over  list:
                                              v
                                          with  starting  value:
                                            <X,  G>));i)
              =  lg-label(G;i))@i
10.  X  :  component(P.M[P])  List@i
11.  G  :  LabeledDAG(pInTransit(P.M[P]))
12.  i  :  \mBbbN{}lg-size(G)
13.  u1  =  x
\mvdash{}  lg-label(snd(accumulate  (with  value  S  and  list  item  C):
                                deliver-msg-to-comp(t;m;x;S;C)
                              over  list:
                                  v
                              with  starting  value:
                                let  Q,ext  =  Process-apply(u2;m) 
                                in  <[<u1,  Q>  /  X],  lg-append(G;add-cause(<t,  x>ext))>));i)
=  lg-label(G;i)


By


Latex:
(GenConclAtAddr  [2;1;1;2;1]  THEN  D  -2  THEN  Reduce  0)\mcdot{}




Home Index