Step
*
1
1
1
1
1
2
1
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. msg-body(info(e)) ∈ Id × Info
18. base-process-inputs(fst(msg-body(info(e)));hdr;es;e) ∈ Info List
19. 0 < ||base-process-inputs(fst(msg-body(info(e)));hdr;es;e)||
⊢ loc(local-simulation-event(es;e;hdr;locs)) = loc(||base-process-inputs(fst(msg-body(info(e)));hdr;es;e)|| - 1) ∈ Id
BY
{ ((RWO "list-eo-loc" 0 THENA Auto)
   THEN UsingVars [`Info'] (BLemma `local-simulation-event-loc`)
   THEN Auto
   THEN BLemma `assert-has-header-and-in-locs`
   THEN Auto) }
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.  msg-body(info(e))  \mmember{}  Id  \mtimes{}  Info
18.  base-process-inputs(fst(msg-body(info(e)));hdr;es;e)  \mmember{}  Info  List
19.  0  <  ||base-process-inputs(fst(msg-body(info(e)));hdr;es;e)||
\mvdash{}  loc(local-simulation-event(es;e;hdr;locs))
=  loc(||base-process-inputs(fst(msg-body(info(e)));hdr;es;e)||  -  1)
By
Latex:
((RWO  "list-eo-loc"  0  THENA  Auto)
  THEN  UsingVars  [`Info']  (BLemma  `local-simulation-event-loc`)
  THEN  Auto
  THEN  BLemma  `assert-has-header-and-in-locs`
  THEN  Auto)
Home
Index