| 1139 |      1 | (*  Title:      HOL/IOA/example/Impl.thy
 | 
| 1050 |      2 |     ID:         $Id$
 | 
| 1139 |      3 |     Author:     Tobias Nipkow & Konrad Slind
 | 
|  |      4 |     Copyright   1994  TU Muenchen
 | 
| 1050 |      5 | 
 | 
|  |      6 | The implementation
 | 
|  |      7 | *)
 | 
|  |      8 | 
 | 
|  |      9 | Impl = Sender + Receiver +  Abschannel +
 | 
|  |     10 | 
 | 
|  |     11 | types 
 | 
|  |     12 | 
 | 
|  |     13 | 'm impl_state 
 | 
|  |     14 | = "'m sender_state * 'm receiver_state * 'm packet list * bool list"
 | 
|  |     15 | (*  sender_state   *  receiver_state   *    srch_state  * rsch_state *)
 | 
|  |     16 | 
 | 
|  |     17 | 
 | 
| 1570 |     18 | constdefs
 | 
|  |     19 | 
 | 
| 1376 |     20 |  impl_ioa    :: ('m action, 'm impl_state)ioa
 | 
| 1570 |     21 |  "impl_ioa == (sender_ioa || receiver_ioa || srch_ioa || rsch_ioa)"
 | 
|  |     22 | 
 | 
| 1376 |     23 |  sen         :: 'm impl_state => 'm sender_state
 | 
| 1570 |     24 |  "sen == fst"
 | 
| 1050 |     25 | 
 | 
| 1570 |     26 |  rec         :: 'm impl_state => 'm receiver_state
 | 
|  |     27 |  "rec == fst o snd"
 | 
| 1050 |     28 | 
 | 
| 1570 |     29 |  srch        :: 'm impl_state => 'm packet list
 | 
|  |     30 |  "srch == fst o snd o snd"
 | 
|  |     31 | 
 | 
|  |     32 |  rsch        :: 'm impl_state => bool list
 | 
|  |     33 |  "rsch == snd o snd o snd"
 | 
| 1050 |     34 | 
 | 
|  |     35 | end
 |