equal
deleted
inserted
replaced
14 spec_trans :: "('m action, 'm list)transition set" |
14 spec_trans :: "('m action, 'm list)transition set" |
15 spec_ioa :: "('m action, 'm list)ioa" |
15 spec_ioa :: "('m action, 'm list)ioa" |
16 |
16 |
17 defs |
17 defs |
18 |
18 |
19 sig_def "spec_sig == (UN m.{S_msg(m)}, \ |
19 sig_def "spec_sig == (UN m.{S_msg(m)}, |
20 \ UN m.{R_msg(m)} Un {Next}, \ |
20 UN m.{R_msg(m)} Un {Next}, |
21 \ {})" |
21 {})" |
22 |
22 |
23 trans_def "spec_trans == \ |
23 trans_def "spec_trans == |
24 \ {tr. let s = fst(tr); \ |
24 {tr. let s = fst(tr); |
25 \ t = snd(snd(tr)) \ |
25 t = snd(snd(tr)) |
26 \ in \ |
26 in |
27 \ case fst(snd(tr)) \ |
27 case fst(snd(tr)) |
28 \ of \ |
28 of |
29 \ Next => t=s |\ (* Note that there is condition as in Sender *) |
29 Next => t=s |\ (* Note that there is condition as in Sender *) |
30 \ S_msg(m) => t = s@[m] | \ |
30 S_msg(m) => t = s@[m] | |
31 \ R_msg(m) => s = (m#t) | \ |
31 R_msg(m) => s = (m#t) | |
32 \ S_pkt(pkt) => False | \ |
32 S_pkt(pkt) => False | |
33 \ R_pkt(pkt) => False | \ |
33 R_pkt(pkt) => False | |
34 \ S_ack(b) => False | \ |
34 S_ack(b) => False | |
35 \ R_ack(b) => False}" |
35 R_ack(b) => False}" |
36 |
36 |
37 ioa_def "spec_ioa == (spec_sig, {[]}, spec_trans)" |
37 ioa_def "spec_ioa == (spec_sig, {[]}, spec_trans)" |
38 |
38 |
39 end |
39 end |