Step
*
1
of Lemma
iseg-local-simulation-inputs
1. f : Name ─→ Type@i'
2. [Info] : Type
3. es : EO+(Message(f))@i'
4. hdr : Name@i
5. locs : bag(Id)@i
6. hdr encodes Id × Info
7. e1 : E@i
8. e2 : E@i
9. e1 ≤loc e2 @i
⊢ mapfilter(λm.msg-body(m);λm.has-header-and-in-locs(m;hdr;locs);map(λe.info(e);≤loc(e1))) ≤
   mapfilter(λm.msg-body(m);λm.has-header-and-in-locs(m;hdr;locs);map(λe.info(e);≤loc(e2)))
BY
{ (BLemma `iseg-mapfilter` THEN Auto) }
1
1. f : Name ─→ Type@i'
2. Info : Type
3. es : EO+(Message(f))@i'
4. hdr : Name@i
5. locs : bag(Id)@i
6. hdr encodes Id × Info
7. e1 : E@i
8. e2 : E@i
9. e1 ≤loc e2 @i
10. ∀x:Message(f). (↑((λm.has-header-and-in-locs(m;hdr;locs)) x) ∈ Type)
11. m : Message(f)@i
12. ↑((λm.has-header-and-in-locs(m;hdr;locs)) m)@i
⊢ msg-type(m;f) ⊆r (Id × Info)
2
1. f : Name ─→ Type@i'
2. [Info] : Type
3. es : EO+(Message(f))@i'
4. hdr : Name@i
5. locs : bag(Id)@i
6. hdr encodes Id × Info
7. e1 : E@i
8. e2 : E@i
9. e1 ≤loc e2 @i
⊢ map(λe.info(e);≤loc(e1)) ≤ map(λe.info(e);≤loc(e2))
Latex:
Latex:
1.  f  :  Name  {}\mrightarrow{}  Type@i'
2.  [Info]  :  Type
3.  es  :  EO+(Message(f))@i'
4.  hdr  :  Name@i
5.  locs  :  bag(Id)@i
6.  hdr  encodes  Id  \mtimes{}  Info
7.  e1  :  E@i
8.  e2  :  E@i
9.  e1  \mleq{}loc  e2  @i
\mvdash{}  mapfilter(\mlambda{}m.msg-body(m);\mlambda{}m.has-header-and-in-locs(m;hdr;locs);map(\mlambda{}e.info(e);\mleq{}loc(e1)))  \mleq{}
      mapfilter(\mlambda{}m.msg-body(m);\mlambda{}m.has-header-and-in-locs(m;hdr;locs);map(\mlambda{}e.info(e);\mleq{}loc(e2)))
By
Latex:
(BLemma  `iseg-mapfilter`  THEN  Auto)
Home
Index