| author | wenzelm | 
| Mon, 22 Jan 2024 22:18:20 +0100 | |
| changeset 79514 | 9204c034a5bf | 
| parent 67613 | ce654b0e6d69 | 
| permissions | -rw-r--r-- | 
| 42151 | 1 | (* Title: HOL/HOLCF/IOA/NTP/Spec.thy | 
| 3073 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 2 | Author: Tobias Nipkow & Konrad Slind | 
| 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 3 | *) | 
| 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 4 | |
| 62002 | 5 | section \<open>The specification of reliable transmission\<close> | 
| 17244 | 6 | |
| 7 | theory Spec | |
| 66453 
cc19f7ca2ed6
session-qualified theory imports: isabelle imports -U -i -d '~~/src/Benchmarks' -a;
 wenzelm parents: 
62009diff
changeset | 8 | imports IOA.IOA Action | 
| 17244 | 9 | begin | 
| 3073 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 10 | |
| 27361 | 11 | definition | 
| 12 | spec_sig :: "'m action signature" where | |
| 67613 | 13 |   sig_def: "spec_sig = (\<Union>m.{S_msg(m)}, 
 | 
| 14 |                         \<Union>m.{R_msg(m)}, 
 | |
| 27361 | 15 |                         {})"
 | 
| 3073 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 16 | |
| 27361 | 17 | definition | 
| 18 |   spec_trans :: "('m action, 'm list)transition set" where
 | |
| 19 | trans_def: "spec_trans = | |
| 20 |    {tr. let s = fst(tr);                            
 | |
| 21 | t = snd(snd(tr)) | |
| 22 | in | |
| 23 | case fst(snd(tr)) | |
| 24 | of | |
| 67613 | 25 | S_msg(m) \<Rightarrow> t = s@[m] | | 
| 26 | R_msg(m) \<Rightarrow> s = (m#t) | | |
| 27 | S_pkt(pkt) \<Rightarrow> False | | |
| 28 | R_pkt(pkt) \<Rightarrow> False | | |
| 29 | S_ack(b) \<Rightarrow> False | | |
| 30 | R_ack(b) \<Rightarrow> False | | |
| 31 | C_m_s \<Rightarrow> False | | |
| 32 | C_m_r \<Rightarrow> False | | |
| 33 | C_r_s \<Rightarrow> False | | |
| 34 | C_r_r(m) \<Rightarrow> False}" | |
| 3073 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 35 | |
| 27361 | 36 | definition | 
| 37 |   spec_ioa :: "('m action, 'm list)ioa" where
 | |
| 38 |   ioa_def: "spec_ioa = (spec_sig, {[]}, spec_trans,{},{})"
 | |
| 17244 | 39 | |
| 3073 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 40 | end |