Step * of Lemma lg-label-deliver-msg

[M:Type ⟶ Type]
  ∀[t:ℕ]. ∀[x:Id]. ∀[m:pMsg(P.M[P])]. ∀[Cs:component(P.M[P]) List]. ∀[G:LabeledDAG(pInTransit(P.M[P]))].
  ∀[i:ℕlg-size(G)].
    (lg-label(snd(deliver-msg(t;m;x;Cs;G));i) lg-label(G;i) ∈ pInTransit(P.M[P])) 
  supposing Continuous+(P.M[P])
BY
(RepUR ``deliver-msg`` 0
   THEN RepeatFor ((D THENA Auto))
   THEN (GenConcl ⌜[] X ∈ (component(P.M[P]) List)⌝⋅ THENA Auto)
   THEN Thin (-1)
   THEN MoveToConcl (-1)
   THEN ListInd' (-1)
   THEN Try ((Reduce 0
              THEN Auto
              THEN DVar `u'
              THEN RepUR ``deliver-msg-to-comp`` 0
              THEN AutoSplit
              THEN Fold `deliver-msg-to-comp` 0
              THEN Try ((BackThruSomeHyp THEN Unfold `component` THEN Auto))))) }

1
.....wf..... 
1. Type ⟶ Type
2. Continuous+(P.M[P])
3. : ℕ
4. Id
5. pMsg(P.M[P])
⊢ λCs.∀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:
                          Cs
                        with starting value:
                         <X, G>));i)
          lg-label(G;i)
          ∈ pInTransit(P.M[P])) ∈ (component(P.M[P]) List) ⟶ ℙ

2
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])

3
.....wf..... 
1. Type ⟶ Type
2. Continuous+(P.M[P])
3. : ℕ
4. Id
5. pMsg(P.M[P])
6. component(P.M[P])@i
7. component(P.M[P]) List@i
⊢ ∀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])) ∈ ℙ


Latex:


Latex:
\mforall{}[M:Type  {}\mrightarrow{}  Type]
    \mforall{}[t:\mBbbN{}].  \mforall{}[x:Id].  \mforall{}[m:pMsg(P.M[P])].  \mforall{}[Cs:component(P.M[P])  List].
    \mforall{}[G:LabeledDAG(pInTransit(P.M[P]))].  \mforall{}[i:\mBbbN{}lg-size(G)].
        (lg-label(snd(deliver-msg(t;m;x;Cs;G));i)  =  lg-label(G;i)) 
    supposing  Continuous+(P.M[P])


By


Latex:
(RepUR  ``deliver-msg``  0
  THEN  RepeatFor  6  ((D  0  THENA  Auto))
  THEN  (GenConcl  \mkleeneopen{}[]  =  X\mkleeneclose{}\mcdot{}  THENA  Auto)
  THEN  Thin  (-1)
  THEN  MoveToConcl  (-1)
  THEN  ListInd'  (-1)
  THEN  Try  ((Reduce  0
                        THEN  Auto
                        THEN  DVar  `u'
                        THEN  RepUR  ``deliver-msg-to-comp``  0
                        THEN  AutoSplit
                        THEN  Fold  `deliver-msg-to-comp`  0
                        THEN  Try  ((BackThruSomeHyp  THEN  Unfold  `component`  0  THEN  Auto)))))




Home Index