Step
*
1
of Lemma
assert-has-header-and-in-locs
1. [f] : Name ─→ Type
2. msg : Message(f)@i
3. hdr : Name@i
4. locs : bag(Id)@i
5. [%] : hdr encodes Id × Top
6. msg-header(msg) = hdr ∈ Name
⊢ ↑bag-deq-member(IdDeq;fst(msg-body(msg));locs) 
⇐⇒ (msg-header(msg) = hdr ∈ Name) ∧ fst(msg-body(msg)) ↓∈ locs
BY
{ (Assert ⌈msg-body(msg) ∈ Id × Top⌉⋅ THEN Auto) }
1
1. f : Name ─→ Type
2. msg : Message(f)@i
3. hdr : Name@i
4. locs : bag(Id)@i
5. hdr encodes Id × Top
6. msg-header(msg) = hdr ∈ Name
7. msg-body(msg) ∈ Id × Top
8. ↑bag-deq-member(IdDeq;fst(msg-body(msg));locs)@i
⊢ fst(msg-body(msg)) ↓∈ locs
Latex:
Latex:
1.  [f]  :  Name  {}\mrightarrow{}  Type
2.  msg  :  Message(f)@i
3.  hdr  :  Name@i
4.  locs  :  bag(Id)@i
5.  [\%]  :  hdr  encodes  Id  \mtimes{}  Top
6.  msg-header(msg)  =  hdr
\mvdash{}  \muparrow{}bag-deq-member(IdDeq;fst(msg-body(msg));locs)
\mLeftarrow{}{}\mRightarrow{}  (msg-header(msg)  =  hdr)  \mwedge{}  fst(msg-body(msg))  \mdownarrow{}\mmember{}  locs
By
Latex:
(Assert  \mkleeneopen{}msg-body(msg)  \mmember{}  Id  \mtimes{}  Top\mkleeneclose{}\mcdot{}  THEN  Auto)
Home
Index