Step * of Lemma local-simulation-agreement

correct:Id ⟶ ℙ. ∀g,f:Name ⟶ Type. ∀X:EClass(Interface).
  (LocalClass(X)
   (∀locs:bag(Id). ∀hdr:Name.
        ∀hdrs:Name List. ∀R:Interface ⟶ Interface ⟶ ℙ. ∀es:EO+(Message(f)).
          ((∀i,j:Id.  ((correct i)  (correct j)  local-simulation-input-consistency(g;X;hdr;locs;es;i;j)))
           (∀i:Id. ((correct i)  local-simulation-input-validity(g;X;hdr;locs;hdrs;es;i)))
           (∀eo:EO+(Message(g)). (eo-msg-interface-constraint(eo;X;hdrs;g)  any v1,v2 from satisfy R[v1;v2]))
           any v1,v2 from local-simulation-class(X;locs;hdr) satisfy
             R[v1;v2]
             at locations i.correct i) 
        supposing hdr encodes Id × Message(g)))
BY
((Intro⋅ THEN InstLemma `consistent-local-simulation` [])
   THEN RepeatFor ((ParallelLast' THENA Auto))
   THEN RepeatFor (Intro)
   THEN ParallelOp -3
   THEN Thin (-5)
   THEN (InstLemma `local-simulation-inputs_wf` [⌜f⌝;⌜Message(g)⌝;⌜es⌝;⌜hdr⌝;⌜locs⌝]⋅ THENA Auto)
   THEN (Auto THEN THEN Auto)
   THEN (InstHyp [⌜[e1; e2]⌝12⋅
         THENA (Auto
                THEN RWO "pairwise-cons" 0
                THEN Auto
                THEN (FHyp 14 [-7;-6] THENA Auto)
                THEN BackThruHyp' (-1)
                THEN Auto)
         )
   THEN (InstHyp [⌜hdrs⌝(-1)⋅ THENA Auto)) }

1
.....antecedent..... 
1. correct Id ⟶ ℙ@i'
2. Name ⟶ Type@i'
3. Name ⟶ Type@i'
4. EClass(Interface)@i'
5. LocalClass(X)@i'
6. locs bag(Id)@i
7. hdr Name@i
8. hdr encodes Id × Message(g)
9. hdrs Name List@i
10. Interface ⟶ Interface ⟶ ℙ@i'
11. es EO+(Message(f))@i'
12. ∀ee:E List
      ((∀e1,e2∈ee.  local-simulation-inputs(es;e1;hdr;locs) || local-simulation-inputs(es;e2;hdr;locs))
       (∀hdrs:Name List
            ((∀e∈ee.eo-msg-interface-constraint(local-simulation-eo(es;e;hdr;locs);X;hdrs;g))
             (∃eo:EO+(Message(g))
                 (eo-msg-interface-constraint(eo;X;hdrs;g)
                 ∧ (∀e∈ee.∀[v:Interface]
                            (↑has-header-and-in-locs(info(e);hdr;locs)) ∧ (∃e':E. v ∈ X(e')) 
                            supposing v ∈ local-simulation-class(X;locs;hdr)(e)))))))
13. ∀[e:E]. (local-simulation-inputs(es;e;hdr;locs) ∈ ({i:Id| i ↓∈ locs}  × Message(g)) List)
14. ∀i,j:Id.  ((correct i)  (correct j)  local-simulation-input-consistency(g;X;hdr;locs;es;i;j))@i
15. ∀i:Id. ((correct i)  local-simulation-input-validity(g;X;hdr;locs;hdrs;es;i))@i
16. ∀eo:EO+(Message(g)). (eo-msg-interface-constraint(eo;X;hdrs;g)  any v1,v2 from satisfy R[v1;v2])@i'
17. e1 E@i
18. e2 E@i
19. correct loc(e1)@i
20. correct loc(e2)@i
21. v1 Interface@i
22. v2 Interface@i
23. v1 ∈ local-simulation-class(X;locs;hdr)(e1)@i
24. v2 ∈ local-simulation-class(X;locs;hdr)(e2)@i
25. ∀hdrs:Name List
      ((∀e∈[e1; e2].eo-msg-interface-constraint(local-simulation-eo(es;e;hdr;locs);X;hdrs;g))
       (∃eo:EO+(Message(g))
           (eo-msg-interface-constraint(eo;X;hdrs;g)
           ∧ (∀e∈[e1; e2].∀[v:Interface]
                            (↑has-header-and-in-locs(info(e);hdr;locs)) ∧ (∃e':E. v ∈ X(e')) 
                            supposing v ∈ local-simulation-class(X;locs;hdr)(e)))))
⊢ (∀e∈[e1; e2].eo-msg-interface-constraint(local-simulation-eo(es;e;hdr;locs);X;hdrs;g))

2
1. correct Id ⟶ ℙ@i'
2. Name ⟶ Type@i'
3. Name ⟶ Type@i'
4. EClass(Interface)@i'
5. LocalClass(X)@i'
6. locs bag(Id)@i
7. hdr Name@i
8. hdr encodes Id × Message(g)
9. hdrs Name List@i
10. Interface ⟶ Interface ⟶ ℙ@i'
11. es EO+(Message(f))@i'
12. ∀ee:E List
      ((∀e1,e2∈ee.  local-simulation-inputs(es;e1;hdr;locs) || local-simulation-inputs(es;e2;hdr;locs))
       (∀hdrs:Name List
            ((∀e∈ee.eo-msg-interface-constraint(local-simulation-eo(es;e;hdr;locs);X;hdrs;g))
             (∃eo:EO+(Message(g))
                 (eo-msg-interface-constraint(eo;X;hdrs;g)
                 ∧ (∀e∈ee.∀[v:Interface]
                            (↑has-header-and-in-locs(info(e);hdr;locs)) ∧ (∃e':E. v ∈ X(e')) 
                            supposing v ∈ local-simulation-class(X;locs;hdr)(e)))))))
13. ∀[e:E]. (local-simulation-inputs(es;e;hdr;locs) ∈ ({i:Id| i ↓∈ locs}  × Message(g)) List)
14. ∀i,j:Id.  ((correct i)  (correct j)  local-simulation-input-consistency(g;X;hdr;locs;es;i;j))@i
15. ∀i:Id. ((correct i)  local-simulation-input-validity(g;X;hdr;locs;hdrs;es;i))@i
16. ∀eo:EO+(Message(g)). (eo-msg-interface-constraint(eo;X;hdrs;g)  any v1,v2 from satisfy R[v1;v2])@i'
17. e1 E@i
18. e2 E@i
19. correct loc(e1)@i
20. correct loc(e2)@i
21. v1 Interface@i
22. v2 Interface@i
23. v1 ∈ local-simulation-class(X;locs;hdr)(e1)@i
24. v2 ∈ local-simulation-class(X;locs;hdr)(e2)@i
25. ∀hdrs:Name List
      ((∀e∈[e1; e2].eo-msg-interface-constraint(local-simulation-eo(es;e;hdr;locs);X;hdrs;g))
       (∃eo:EO+(Message(g))
           (eo-msg-interface-constraint(eo;X;hdrs;g)
           ∧ (∀e∈[e1; e2].∀[v:Interface]
                            (↑has-header-and-in-locs(info(e);hdr;locs)) ∧ (∃e':E. v ∈ X(e')) 
                            supposing v ∈ local-simulation-class(X;locs;hdr)(e)))))
26. ∃eo:EO+(Message(g))
     (eo-msg-interface-constraint(eo;X;hdrs;g)
     ∧ (∀e∈[e1; e2].∀[v:Interface]
                      (↑has-header-and-in-locs(info(e);hdr;locs)) ∧ (∃e':E. v ∈ X(e')) 
                      supposing v ∈ local-simulation-class(X;locs;hdr)(e)))
⊢ R[v1;v2]


Latex:


Latex:
\mforall{}correct:Id  {}\mrightarrow{}  \mBbbP{}.  \mforall{}g,f:Name  {}\mrightarrow{}  Type.  \mforall{}X:EClass(Interface).
    (LocalClass(X)
    {}\mRightarrow{}  (\mforall{}locs:bag(Id).  \mforall{}hdr:Name.
                \mforall{}hdrs:Name  List.  \mforall{}R:Interface  {}\mrightarrow{}  Interface  {}\mrightarrow{}  \mBbbP{}.  \mforall{}es:EO+(Message(f)).
                    ((\mforall{}i,j:Id.
                            ((correct  i)
                            {}\mRightarrow{}  (correct  j)
                            {}\mRightarrow{}  local-simulation-input-consistency(g;X;hdr;locs;es;i;j)))
                    {}\mRightarrow{}  (\mforall{}i:Id.  ((correct  i)  {}\mRightarrow{}  local-simulation-input-validity(g;X;hdr;locs;hdrs;es;i)))
                    {}\mRightarrow{}  (\mforall{}eo:EO+(Message(g))
                                (eo-msg-interface-constraint(eo;X;hdrs;g)  {}\mRightarrow{}  any  v1,v2  from  X  satisfy  R[v1;v2]))
                    {}\mRightarrow{}  any  v1,v2  from  local-simulation-class(X;locs;hdr)  satisfy
                          R[v1;v2]
                          at  locations  i.correct  i) 
                supposing  hdr  encodes  Id  \mtimes{}  Message(g)))


By


Latex:
((Intro\mcdot{}  THEN  InstLemma  `consistent-local-simulation`  [])
  THEN  RepeatFor  7  ((ParallelLast'  THENA  Auto))
  THEN  RepeatFor  2  (Intro)
  THEN  ParallelOp  -3
  THEN  Thin  (-5)
  THEN  (InstLemma  `local-simulation-inputs\_wf`  [\mkleeneopen{}f\mkleeneclose{};\mkleeneopen{}Message(g)\mkleeneclose{};\mkleeneopen{}es\mkleeneclose{};\mkleeneopen{}hdr\mkleeneclose{};\mkleeneopen{}locs\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  (Auto  THEN  D  0  THEN  Auto)
  THEN  (InstHyp  [\mkleeneopen{}[e1;  e2]\mkleeneclose{}]  12\mcdot{}
              THENA  (Auto
                            THEN  RWO  "pairwise-cons"  0
                            THEN  Auto
                            THEN  (FHyp  14  [-7;-6]  THENA  Auto)
                            THEN  BackThruHyp'  (-1)
                            THEN  Auto)
              )
  THEN  (InstHyp  [\mkleeneopen{}hdrs\mkleeneclose{}]  (-1)\mcdot{}  THENA  Auto))




Home Index