Step * 1 of Lemma nysiad_on_input_message_bag_wf


1. {T:Type| valueall-type(T)} 
2. add2baghdr Atom List
3. addwaitinghdr Atom List
4. adeliverhdr Atom List
5. deqM EqDecider(M)
6. inputmsghdr Atom List
7. kdeliverhdr Atom List
8. readyhdr Atom List
9. senders bag(Id)
10. tooarcasthdr Atom List
11. waitingmap map-sig{i:l}(Id;M)
12. mf nysiad_headers_type{i:l}(add2baghdr;addwaitinghdr;adeliverhdr;inputmsghdr;kdeliverhdr;readyhdr;tooarcasthdr)
13. (mf kdeliverhdr) (Message(mf) × Id? × Id) ∈ Type
14. (mf tooarcasthdr) (Message(mf) × Id? × Id) ∈ Type
15. (mf inputmsghdr) (Message(mf) × Id? × Id) ∈ Type
16. (mf adeliverhdr) (Id × Message(mf)) ∈ Type
17. (mf addwaitinghdr) (Message(mf) × Id? × Id) ∈ Type
18. (mf add2baghdr) (Message(mf) × Id? × Id) ∈ Type
19. (mf readyhdr) Id ∈ Type
20. mf ∈ Name ⟶ Type
21. msg2m Message(mf) ⟶ M
⊢ nysiad_on_input_message_bag(M;add2baghdr;addwaitinghdr;adeliverhdr;deqM;inputmsghdr;...;readyhdr;...;...;...;mf;msg2m)
  ∈ Id
  ⟶ (Message(mf) × Id? × Id (Message(mf) × Id? × Id))
  ⟶ ((M × Id? × Id) List × map-sig-map(waitingmap))
  ⟶ bag(Interface)
BY
At ⌜Type⌝ (ProveWfLemmaAux EmlAuto)⋅ }

1
1. Type
2. valueall-type(M)
3. add2baghdr Atom List
4. addwaitinghdr Atom List
5. adeliverhdr Atom List
6. deqM EqDecider(M)
7. inputmsghdr Atom List
8. kdeliverhdr Atom List
9. readyhdr Atom List
10. senders bag(Id)
11. tooarcasthdr Atom List
12. waitingmap map-sig{i:l}(Id;M)
13. mf nysiad_headers_type{i:l}(add2baghdr;addwaitinghdr;adeliverhdr;inputmsghdr;kdeliverhdr;readyhdr;tooarcasthdr)
14. (mf kdeliverhdr) (Message(mf) × Id? × Id) ∈ Type
15. (mf tooarcasthdr) (Message(mf) × Id? × Id) ∈ Type
16. (mf inputmsghdr) (Message(mf) × Id? × Id) ∈ Type
17. (mf adeliverhdr) (Id × Message(mf)) ∈ Type
18. (mf addwaitinghdr) (Message(mf) × Id? × Id) ∈ Type
19. (mf add2baghdr) (Message(mf) × Id? × Id) ∈ Type
20. (mf readyhdr) Id ∈ Type
21. mf ∈ Name ⟶ Type
22. msg2m Message(mf) ⟶ M
23. slf Id@i
24. Message(mf) × Id? × Id (Message(mf) × Id? × Id)@i
25. (M × Id? × Id) List × map-sig-map(waitingmap)@i
26. isl(i) ∈ 𝔹
27. ↑isl(i)
⊢ nysiad_on_addwaiting(M;add2baghdr;addwaitinghdr;adeliverhdr;deqM;inputmsghdr;kdeliverhdr;readyhdr;...;...;mf;msg2m) 
  slf 
  outl(i) 
  s ∈ bag(Interface)


Latex:


Latex:

1.  M  :  \{T:Type|  valueall-type(T)\} 
2.  add2baghdr  :  Atom  List
3.  addwaitinghdr  :  Atom  List
4.  adeliverhdr  :  Atom  List
5.  deqM  :  EqDecider(M)
6.  inputmsghdr  :  Atom  List
7.  kdeliverhdr  :  Atom  List
8.  readyhdr  :  Atom  List
9.  senders  :  bag(Id)
10.  tooarcasthdr  :  Atom  List
11.  waitingmap  :  map-sig\{i:l\}(Id;M)
12.  mf  :  nysiad\_headers\_type\{i:l\}(add2baghdr;addwaitinghdr;adeliverhdr;inputmsghdr;...;readyhdr;...)
13.  (mf  kdeliverhdr)  =  (Message(mf)  \mtimes{}  Id?  \mtimes{}  Id)
14.  (mf  tooarcasthdr)  =  (Message(mf)  \mtimes{}  Id?  \mtimes{}  Id)
15.  (mf  inputmsghdr)  =  (Message(mf)  \mtimes{}  Id?  \mtimes{}  Id)
16.  (mf  adeliverhdr)  =  (Id  \mtimes{}  Message(mf))
17.  (mf  addwaitinghdr)  =  (Message(mf)  \mtimes{}  Id?  \mtimes{}  Id)
18.  (mf  add2baghdr)  =  (Message(mf)  \mtimes{}  Id?  \mtimes{}  Id)
19.  (mf  readyhdr)  =  Id
20.  mf  \mmember{}  Name  {}\mrightarrow{}  Type
21.  msg2m  :  Message(mf)  {}\mrightarrow{}  M
\mvdash{}  nysiad\_on\_input\_message\_bag(M;add2baghdr;addwaitinghdr;...;deqM;...;...;...;...;...;...;mf;msg2m)
    \mmember{}  Id
    {}\mrightarrow{}  (Message(mf)  \mtimes{}  Id?  \mtimes{}  Id  +  (Message(mf)  \mtimes{}  Id?  \mtimes{}  Id))
    {}\mrightarrow{}  ((M  \mtimes{}  Id?  \mtimes{}  Id)  List  \mtimes{}  map-sig-map(waitingmap))
    {}\mrightarrow{}  bag(Interface)


By


Latex:
At  \mkleeneopen{}Type\mkleeneclose{}  (ProveWfLemmaAux  EmlAuto)\mcdot{}




Home Index