equal
deleted
inserted
replaced
1 (* Title: HOL/IOA/ABP/Abschannels.thy |
1 (* Title: HOL/IOA/example/Abschannels.thy |
2 ID: $Id$ |
2 ID: $Id$ |
3 Author: Olaf Mueller |
3 Author: Olaf Mueller |
4 Copyright 1995 TU Muenchen |
4 Copyright 1994 TU Muenchen |
5 |
5 |
6 The transmission channel |
6 The transmission channel |
7 *) |
7 *) |
8 |
8 |
9 Abschannel = IOA + Action + Lemmas + List + |
9 Abschannel = IOA + Action + Lemmas + List + |
10 |
10 |
|
11 |
11 datatype ('a)act = S('a) | R('a) |
12 datatype ('a)act = S('a) | R('a) |
|
13 |
12 |
14 |
13 consts |
15 consts |
14 |
16 |
15 ch_asig :: "'a act signature" |
17 ch_asig :: "'a act signature" |
16 |
|
17 ch_trans :: "('a act, 'a list)transition set" |
18 ch_trans :: "('a act, 'a list)transition set" |
18 |
|
19 ch_ioa :: "('a act, 'a list)ioa" |
19 ch_ioa :: "('a act, 'a list)ioa" |
20 |
20 |
21 rsch_actions :: "'m action => bool act option" |
21 rsch_actions :: "'m action => bool act option" |
22 srch_actions :: "'m action =>(bool * 'm) act option" |
22 srch_actions :: "'m action =>(bool * 'm) act option" |
23 |
23 |
40 rsch_trans_def "rsch_trans == trans_of(rsch_ioa)" |
40 rsch_trans_def "rsch_trans == trans_of(rsch_ioa)" |
41 |
41 |
42 srch_ioa_def "srch_ioa == rename ch_ioa srch_actions" |
42 srch_ioa_def "srch_ioa == rename ch_ioa srch_actions" |
43 rsch_ioa_def "rsch_ioa == rename ch_ioa rsch_actions" |
43 rsch_ioa_def "rsch_ioa == rename ch_ioa rsch_actions" |
44 |
44 |
45 |
45 |
|
46 (********************************************************** |
|
47 G e n e r i c C h a n n e l |
|
48 *********************************************************) |
|
49 |
46 ch_asig_def "ch_asig == (UN b. {S(b)}, UN b. {R(b)}, {})" |
50 ch_asig_def "ch_asig == (UN b. {S(b)}, UN b. {R(b)}, {})" |
47 |
51 |
48 ch_trans_def "ch_trans == \ |
52 ch_trans_def "ch_trans == \ |
49 \ {tr. let s = fst(tr); \ |
53 \ {tr. let s = fst(tr); \ |
50 \ t = snd(snd(tr)) \ |
54 \ t = snd(snd(tr)) \ |
55 \ b = hd(s) & \ |
59 \ b = hd(s) & \ |
56 \ ((t = s) | (t = tl(s))) }" |
60 \ ((t = s) | (t = tl(s))) }" |
57 |
61 |
58 ch_ioa_def "ch_ioa == (ch_asig, {[]}, ch_trans)" |
62 ch_ioa_def "ch_ioa == (ch_asig, {[]}, ch_trans)" |
59 |
63 |
|
64 (********************************************************** |
|
65 C o n c r e t e C h a n n e l s b y R e n a m i n g |
|
66 *********************************************************) |
|
67 |
60 rsch_actions_def "rsch_actions (akt) == \ |
68 rsch_actions_def "rsch_actions (akt) == \ |
61 \ case akt of \ |
69 \ case akt of \ |
62 \ Next => None | \ |
70 \ Next => None | \ |
63 \ S_msg(m) => None | \ |
71 \ S_msg(m) => None | \ |
64 \ R_msg(m) => None | \ |
72 \ R_msg(m) => None | \ |