Step * of Lemma strong-message-constraint-implies-message-constraint

[f:Name ⟶ Type]. ∀[es:EO+(Message(f))]. ∀[X:EClass(Id × Message(f))]. ∀[hdrs:Name List].
  (strong-message-constraint{i:l}(es;X;hdrs;f)  message-constraint{i:l}(es;X;hdrs;f))
BY
(Auto
   THEN UnfoldTopAb 0
   THEN UnfoldTopAb (-1)
   THEN ParallelLast
   THEN Auto
   THEN ExRepD
   THEN (Assert ⌜<loc(e), info(e)> ↓∈ class-output(X;es;bg)⌝⋅
   THENM (BagMemberD (-1)
          THEN SquashExRepD
          THEN BagMemberD (-1)
          THEN RepeatFor (ParallelLast)
          THEN Assert ⌜(e1 < e)⌝⋅
          THEN Auto)
   )) }

1
.....assertion..... 
1. Name ⟶ Type
2. es EO+(Message(f))
3. EClass(Id × Message(f))
4. hdrs Name List
5. ∀e:E
     (↓∃bg:bag(E)
        ((∀e':E. (e' ↓∈ bg  (e' < e)))
        ∧ sub-bag(Id × Message(f);delivered-with-headers(hdrs;es;e);class-output(X;es;bg))))@i'
6. E@i'
7. bg bag(E)
8. ∀e':E. (e' ↓∈ bg  (e' < e))
9. sub-bag(Id × Message(f);delivered-with-headers(hdrs;es;e);class-output(X;es;bg))
10. (header(e) ∈ hdrs)@i
⊢ <loc(e), info(e)> ↓∈ class-output(X;es;bg)


Latex:


Latex:
\mforall{}[f:Name  {}\mrightarrow{}  Type].  \mforall{}[es:EO+(Message(f))].  \mforall{}[X:EClass(Id  \mtimes{}  Message(f))].  \mforall{}[hdrs:Name  List].
    (strong-message-constraint\{i:l\}(es;X;hdrs;f)  {}\mRightarrow{}  message-constraint\{i:l\}(es;X;hdrs;f))


By


Latex:
(Auto
  THEN  UnfoldTopAb  0
  THEN  UnfoldTopAb  (-1)
  THEN  ParallelLast
  THEN  Auto
  THEN  ExRepD
  THEN  (Assert  \mkleeneopen{}<loc(e),  info(e)>  \mdownarrow{}\mmember{}  class-output(X;es;bg)\mkleeneclose{}\mcdot{}
  THENM  (BagMemberD  (-1)
                THEN  SquashExRepD
                THEN  BagMemberD  (-1)
                THEN  RepeatFor  3  (ParallelLast)
                THEN  Assert  \mkleeneopen{}(e1  <  e)\mkleeneclose{}\mcdot{}
                THEN  Auto)
  ))




Home Index