Step
*
1
1
2
2
1
1
of Lemma
local-simulation-classrel
1. f : Name ⟶ Type
2. Info : Type
3. T : Type
4. X : EClass(T)
5. locs : bag(Id)@i
6. hdr : Name@i
7. hdr encodes Id × Info
8. local-simulation-class(X;locs;hdr) ∈ EClass(T)
9. es : EO+(Message(f))@i'
10. e : E@i
11. LocalClass(X)
12. v : T
13. msg-header(info(e)) = hdr ∈ Name
14. fst(msg-body(info(e))) ↓∈ locs
15. local-simulation-eo(es;e;hdr;locs) ∈ EO+(Info)
16. local-simulation-event(es;e;hdr;locs) ∈ E
17. e1 : E@i
18. local-simulation-event(es;e;hdr;locs) = e1 ∈ E@i
19. True
20. v ∈ X(e1)
21. loc(e1) ↓∈ locs
22. ↑test-msg-header-and-loc(info(e);hdr;loc(e1))
⊢ v ↓∈ let Infos = base-process-inputs(loc(e1);hdr;es;e) in
           X list-eo(Infos;loc(e1)) (||Infos|| - 1)
BY
{ (NthHypEq (-3) THEN RepUR ``classrel`` 0 THEN EqCD THEN Auto THEN Symmetry) }
1
1. f : Name ⟶ Type
2. Info : Type
3. T : Type
4. X : EClass(T)
5. locs : bag(Id)@i
6. hdr : Name@i
7. hdr encodes Id × Info
8. local-simulation-class(X;locs;hdr) ∈ EClass(T)
9. es : EO+(Message(f))@i'
10. e : E@i
11. LocalClass(X)
12. v : T
13. msg-header(info(e)) = hdr ∈ Name
14. fst(msg-body(info(e))) ↓∈ locs
15. local-simulation-eo(es;e;hdr;locs) ∈ EO+(Info)
16. local-simulation-event(es;e;hdr;locs) ∈ E
17. e1 : E@i
18. local-simulation-event(es;e;hdr;locs) = e1 ∈ E@i
19. True
20. v ∈ X(e1)
21. loc(e1) ↓∈ locs
22. ↑test-msg-header-and-loc(info(e);hdr;loc(e1))
⊢ (X local-simulation-eo(es;e;hdr;locs) e1)
= let Infos = base-process-inputs(loc(e1);hdr;es;e) in
      X list-eo(Infos;loc(e1)) (||Infos|| - 1)
∈ bag(T)
Latex:
Latex:
1.  f  :  Name  {}\mrightarrow{}  Type
2.  Info  :  Type
3.  T  :  Type
4.  X  :  EClass(T)
5.  locs  :  bag(Id)@i
6.  hdr  :  Name@i
7.  hdr  encodes  Id  \mtimes{}  Info
8.  local-simulation-class(X;locs;hdr)  \mmember{}  EClass(T)
9.  es  :  EO+(Message(f))@i'
10.  e  :  E@i
11.  LocalClass(X)
12.  v  :  T
13.  msg-header(info(e))  =  hdr
14.  fst(msg-body(info(e)))  \mdownarrow{}\mmember{}  locs
15.  local-simulation-eo(es;e;hdr;locs)  \mmember{}  EO+(Info)
16.  local-simulation-event(es;e;hdr;locs)  \mmember{}  E
17.  e1  :  E@i
18.  local-simulation-event(es;e;hdr;locs)  =  e1@i
19.  True
20.  v  \mmember{}  X(e1)
21.  loc(e1)  \mdownarrow{}\mmember{}  locs
22.  \muparrow{}test-msg-header-and-loc(info(e);hdr;loc(e1))
\mvdash{}  v  \mdownarrow{}\mmember{}  let  Infos  =  base-process-inputs(loc(e1);hdr;es;e)  in
                      X  list-eo(Infos;loc(e1))  (||Infos||  -  1)
By
Latex:
(NthHypEq  (-3)  THEN  RepUR  ``classrel``  0  THEN  EqCD  THEN  Auto  THEN  Symmetry)
Home
Index