Step
*
1
1
1
1
1
2
1
1
2
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)||
⊢ eo-local-agree(Info;local-simulation-eo(es;e;hdr;locs);list-eo(base-process-inputs(fst(...);hdr;es;e);...);...;... 
- 1)
BY
{ (Unfold `eo-local-agree` 0
   THEN (RWO "list-eo-info-le-before" 0 THENA (Try (BLemma `list-eo-E`) THEN Auto))
   THEN Unfold `local-simulation-eo` 0
   THEN RWO "global-eo-info-le-before" 0
   THEN Try ((Fold `local-simulation-eo` 0 THEN Auto))
   THEN Try ((SubsumeC ⌈({i:Id| i ↓∈ locs}  × Info) List⌉⋅ THEN CompleteAuto))) }
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. 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)||
⊢ map(λx.(snd(x));filter(λx.fst(x) = loc(local-simulation-event(es;e;hdr;locs));
                         firstn(local-simulation-event(es;e;hdr;locs) + 1;local-simulation-inputs(es;e;hdr;locs))))
= firstn((||base-process-inputs(fst(msg-body(info(e)));hdr;es;e)|| - 1)
  + 1;base-process-inputs(fst(msg-body(info(e)));hdr;es;e))
∈ (Info List)
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{}  eo-local-agree(Info;local-simulation-eo(es;e;hdr;locs);list-eo(...;fst(msg-body(...)));...;... 
-  1)
By
Latex:
(Unfold  `eo-local-agree`  0
  THEN  (RWO  "list-eo-info-le-before"  0  THENA  (Try  (BLemma  `list-eo-E`)  THEN  Auto))
  THEN  Unfold  `local-simulation-eo`  0
  THEN  RWO  "global-eo-info-le-before"  0
  THEN  Try  ((Fold  `local-simulation-eo`  0  THEN  Auto))
  THEN  Try  ((SubsumeC  \mkleeneopen{}(\{i:Id|  i  \mdownarrow{}\mmember{}  locs\}    \mtimes{}  Info)  List\mkleeneclose{}\mcdot{}  THEN  CompleteAuto)))
Home
Index