| author | berghofe | 
| Thu, 29 Sep 2005 12:30:30 +0200 | |
| changeset 17713 | 7efbe0ec9d4c | 
| parent 17244 | 0b2ff9541727 | 
| child 19739 | c58ef2aa5430 | 
| permissions | -rw-r--r-- | 
| 3073 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 1 | (* Title: HOL/IOA/NTP/Abschannel.thy | 
| 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 2 | ID: $Id$ | 
| 12218 | 3 | Author: Olaf Müller | 
| 3073 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 4 | *) | 
| 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 5 | |
| 17244 | 6 | header {* The (faulty) transmission channel (both directions) *}
 | 
| 7 | ||
| 8 | theory Abschannel | |
| 9 | imports IOA Action | |
| 10 | begin | |
| 11 | ||
| 12 | datatype 'a abs_action = S 'a | R 'a | |
| 3073 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 13 | |
| 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 14 | consts | 
| 17244 | 15 | |
| 6468 | 16 | ch_asig :: "'a abs_action signature" | 
| 3073 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 17 | |
| 17244 | 18 | ch_trans :: "('a abs_action, 'a multiset)transition set"
 | 
| 3073 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 19 | |
| 17244 | 20 | ch_ioa   :: "('a abs_action, 'a multiset)ioa"
 | 
| 3073 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 21 | |
| 17244 | 22 | rsch_actions :: "'m action => bool abs_action option" | 
| 3073 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 23 | srch_actions :: "'m action =>(bool * 'm) abs_action option" | 
| 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 24 | |
| 17244 | 25 | srch_asig :: "'m action signature" | 
| 6468 | 26 | rsch_asig :: "'m action signature" | 
| 3073 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 27 | |
| 17244 | 28 | srch_wfair :: "('m action)set set"
 | 
| 29 | srch_sfair :: "('m action)set set"
 | |
| 30 | rsch_sfair :: "('m action)set set"
 | |
| 31 | rsch_wfair :: "('m action)set set"
 | |
| 3523 | 32 | |
| 17244 | 33 | srch_trans :: "('m action, 'm packet multiset)transition set"
 | 
| 34 | rsch_trans :: "('m action, bool multiset)transition set"
 | |
| 3073 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 35 | |
| 17244 | 36 | srch_ioa   :: "('m action, 'm packet multiset)ioa"
 | 
| 37 | rsch_ioa   :: "('m action, bool multiset)ioa"
 | |
| 3073 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 38 | |
| 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 39 | |
| 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 40 | defs | 
| 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 41 | |
| 17244 | 42 | srch_asig_def: "srch_asig == asig_of(srch_ioa)" | 
| 43 | rsch_asig_def: "rsch_asig == asig_of(rsch_ioa)" | |
| 3073 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 44 | |
| 17244 | 45 | srch_trans_def: "srch_trans == trans_of(srch_ioa)" | 
| 46 | rsch_trans_def: "rsch_trans == trans_of(rsch_ioa)" | |
| 3073 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 47 | |
| 17244 | 48 | srch_wfair_def: "srch_wfair == wfair_of(srch_ioa)" | 
| 49 | rsch_wfair_def: "rsch_wfair == wfair_of(rsch_ioa)" | |
| 3523 | 50 | |
| 17244 | 51 | srch_sfair_def: "srch_sfair == sfair_of(srch_ioa)" | 
| 52 | rsch_sfair_def: "rsch_sfair == sfair_of(rsch_ioa)" | |
| 3523 | 53 | |
| 17244 | 54 | srch_ioa_def: "srch_ioa == rename ch_ioa srch_actions" | 
| 55 | rsch_ioa_def: "rsch_ioa == rename ch_ioa rsch_actions" | |
| 3073 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 56 | |
| 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 57 | |
| 17244 | 58 | ch_asig_def: "ch_asig == (UN b. {S(b)}, UN b. {R(b)}, {})"
 | 
| 3073 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 59 | |
| 17244 | 60 | ch_trans_def: "ch_trans == | 
| 61 |  {tr. let s = fst(tr);
 | |
| 62 | t = snd(snd(tr)) | |
| 63 | in | |
| 64 | case fst(snd(tr)) | |
| 65 | of S(b) => t = addm s b | | |
| 3073 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 66 | R(b) => count s b ~= 0 & t = delm s b}" | 
| 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 67 | |
| 17244 | 68 | ch_ioa_def: "ch_ioa == (ch_asig, {{|}}, ch_trans,{},{})"
 | 
| 3073 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 69 | |
| 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 70 | |
| 17244 | 71 | rsch_actions_def: "rsch_actions (akt) == | 
| 72 | case akt of | |
| 73 | S_msg(m) => None | | |
| 74 | R_msg(m) => None | | |
| 75 | S_pkt(packet) => None | | |
| 76 | R_pkt(packet) => None | | |
| 77 | S_ack(b) => Some(S(b)) | | |
| 78 | R_ack(b) => Some(R(b)) | | |
| 79 | C_m_s => None | | |
| 80 | C_m_r => None | | |
| 81 | C_r_s => None | | |
| 3073 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 82 | C_r_r(m) => None" | 
| 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 83 | |
| 17244 | 84 | srch_actions_def: "srch_actions (akt) == | 
| 85 | case akt of | |
| 86 | S_msg(m) => None | | |
| 87 | R_msg(m) => None | | |
| 88 | S_pkt(p) => Some(S(p)) | | |
| 89 | R_pkt(p) => Some(R(p)) | | |
| 90 | S_ack(b) => None | | |
| 91 | R_ack(b) => None | | |
| 92 | C_m_s => None | | |
| 93 | C_m_r => None | | |
| 94 | C_r_s => None | | |
| 3073 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 95 | C_r_r(m) => None" | 
| 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 96 | |
| 17244 | 97 | ML {* use_legacy_bindings (the_context ()) *}
 | 
| 3073 
88366253a09a
Old NTP files now running under the IOA meta theory based on HOLCF;
 mueller parents: diff
changeset | 98 | |
| 17244 | 99 | end |