Step
*
1
1
of Lemma
deliver-msg_functionality
.....wf..... 
1. M : Type ─→ Type
2. Continuous+(P.M[P])
3. t : ℕ@i
4. x : Id@i
5. m : pMsg(P.M[P])@i
⊢ λCs1.∀Cs2:component(P.M[P]) List
         ((||Cs1|| = ||Cs2|| ∈ ℤ)
         
⇒ (∀k:ℕ||Cs1||. let x,P = Cs1[k] in let z,Q = Cs2[k] in (x = z ∈ Id) ∧ P≡Q)
         
⇒ (∀S1,S2:System(P.M[P]).
               ((system-equiv(P.M[P];S1;S2) ∧ (S1 = S2 ∈ (Top × LabeledDAG(pInTransit(P.M[P])))))
               
⇒ (system-equiv(P.M[P];accumulate (with value S and list item C):
                                        deliver-msg-to-comp(t;m;x;S;C)
                                       over list:
                                         Cs1
                                       with starting value:
                                        S1);accumulate (with value S and list item C):
                                             deliver-msg-to-comp(t;m;x;S;C)
                                            over list:
                                              Cs2
                                            with starting value:
                                             S2))
                  ∧ (accumulate (with value S and list item C):
                      deliver-msg-to-comp(t;m;x;S;C)
                     over list:
                       Cs1
                     with starting value:
                      S1)
                    = accumulate (with value S and list item C):
                       deliver-msg-to-comp(t;m;x;S;C)
                      over list:
                        Cs2
                      with starting value:
                       S2)
                    ∈ (Top × LabeledDAG(pInTransit(P.M[P])))))))) ∈ (component(P.M[P]) List) ─→ ℙ
BY
{ ((RepeatFor 7 (MemCD) THEN Try (CompleteAuto))
   THEN (GenConclAtAddrType  ⌈System(P.M[P])⌉ [2;2;2]⋅ THENA Auto)
   THEN (GenConclAtAddrType  ⌈System(P.M[P])⌉ [2;2;3]⋅ THENA Auto)
   THEN Auto) }
Latex:
Latex:
.....wf..... 
1.  M  :  Type  {}\mrightarrow{}  Type
2.  Continuous+(P.M[P])
3.  t  :  \mBbbN{}@i
4.  x  :  Id@i
5.  m  :  pMsg(P.M[P])@i
\mvdash{}  \mlambda{}Cs1.\mforall{}Cs2:component(P.M[P])  List
                  ((||Cs1||  =  ||Cs2||)
                  {}\mRightarrow{}  (\mforall{}k:\mBbbN{}||Cs1||.  let  x,P  =  Cs1[k]  in  let  z,Q  =  Cs2[k]  in  (x  =  z)  \mwedge{}  P\mequiv{}Q)
                  {}\mRightarrow{}  (\mforall{}S1,S2:System(P.M[P]).
                              ((system-equiv(P.M[P];S1;S2)  \mwedge{}  (S1  =  S2))
                              {}\mRightarrow{}  (system-equiv(P.M[P];accumulate  (with  value  S  and  list  item  C):
                                                                                deliver-msg-to-comp(t;m;x;S;C)
                                                                              over  list:
                                                                                  Cs1
                                                                              with  starting  value:
                                                                                S1);accumulate  (with  value  S  and  list  item  C):
                                                                                          deliver-msg-to-comp(t;m;x;S;C)
                                                                                        over  list:
                                                                                            Cs2
                                                                                        with  starting  value:
                                                                                          S2))
                                    \mwedge{}  (accumulate  (with  value  S  and  list  item  C):
                                            deliver-msg-to-comp(t;m;x;S;C)
                                          over  list:
                                              Cs1
                                          with  starting  value:
                                            S1)
                                        =  accumulate  (with  value  S  and  list  item  C):
                                              deliver-msg-to-comp(t;m;x;S;C)
                                            over  list:
                                                Cs2
                                            with  starting  value:
                                              S2))))))  \mmember{}  (component(P.M[P])  List)  {}\mrightarrow{}  \mBbbP{}
By
Latex:
((RepeatFor  7  (MemCD)  THEN  Try  (CompleteAuto))
  THEN  (GenConclAtAddrType    \mkleeneopen{}System(P.M[P])\mkleeneclose{}  [2;2;2]\mcdot{}  THENA  Auto)
  THEN  (GenConclAtAddrType    \mkleeneopen{}System(P.M[P])\mkleeneclose{}  [2;2;3]\mcdot{}  THENA  Auto)
  THEN  Auto)
Home
Index