Step
*
2
1
3
1
1
1
of Lemma
lg-size-deliver-msg-general
1. M : Type ─→ Type
2. Continuous+(P.M[P])
3. t : ℕ
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. ∀X:component(P.M[P]) List. ∀G:LabeledDAG(pInTransit(P.M[P])).
     (lg-size(G) ≤ lg-size(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
10. X : component(P.M[P]) List@i
11. G : LabeledDAG(pInTransit(P.M[P]))@i
12. u1 = x ∈ Id
13. v2 : Process(P.M[P])@i
14. v3 : pExt(P.M[P])@i
15. Process-apply(u2;m) = <v2, v3> ∈ (Process(P.M[P]) × pExt(P.M[P]))@i
⊢ lg-size(G) ≤ lg-size(snd(accumulate (with value S 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))>)))
BY
{ (Assert lg-size(lg-append(G;add-cause(<t, x>v3))) ≤ lg-size(snd(accumulate (with value S 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))>))) BY
         (BackThruSomeHyp THEN Unfold `component` 0 THEN Auto)) }
1
1. M : Type ─→ Type
2. Continuous+(P.M[P])
3. t : ℕ
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. ∀X:component(P.M[P]) List. ∀G:LabeledDAG(pInTransit(P.M[P])).
     (lg-size(G) ≤ lg-size(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
10. X : component(P.M[P]) List@i
11. G : LabeledDAG(pInTransit(P.M[P]))@i
12. u1 = x ∈ Id
13. v2 : Process(P.M[P])@i
14. v3 : pExt(P.M[P])@i
15. Process-apply(u2;m) = <v2, v3> ∈ (Process(P.M[P]) × pExt(P.M[P]))@i
16. lg-size(lg-append(G;add-cause(<t, x>v3))) ≤ lg-size(snd(accumulate (with value S 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))>)))
⊢ lg-size(G) ≤ lg-size(snd(accumulate (with value S 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))>)))
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])).
          (lg-size(G)  \mleq{}  lg-size(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
10.  X  :  component(P.M[P])  List@i
11.  G  :  LabeledDAG(pInTransit(P.M[P]))@i
12.  u1  =  x
13.  v2  :  Process(P.M[P])@i
14.  v3  :  pExt(P.M[P])@i
15.  Process-apply(u2;m)  =  <v2,  v3>@i
\mvdash{}  lg-size(G)  \mleq{}  lg-size(snd(accumulate  (with  value  S  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))>)))
By
Latex:
(Assert  lg-size(lg-append(G;add-cause(<t,  x>v3)))  \mleq{}  lg-size(snd(accumulate  (with  value  S  and  list  i\000Ctem  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))>)))  BY
              (BackThruSomeHyp  THEN  Unfold  `component`  0  THEN  Auto))
Home
Index