15 rsent :: "'m receiver_state => bool multiset" |
23 rsent :: "'m receiver_state => bool multiset" |
16 rrcvd :: "'m receiver_state => 'm packet multiset" |
24 rrcvd :: "'m receiver_state => 'm packet multiset" |
17 rbit :: "'m receiver_state => bool" |
25 rbit :: "'m receiver_state => bool" |
18 rsending :: "'m receiver_state => bool" |
26 rsending :: "'m receiver_state => bool" |
19 |
27 |
20 rules |
28 defs |
21 |
29 |
22 rq_def "rq == fst" |
30 rq_def "rq == fst" |
23 rsent_def "rsent == fst o snd" |
31 rsent_def "rsent == fst o snd" |
24 rrcvd_def "rrcvd == fst o snd o snd" |
32 rrcvd_def "rrcvd == fst o snd o snd" |
25 rbit_def "rbit == fst o snd o snd o snd" |
33 rbit_def "rbit == fst o snd o snd o snd" |
26 rsending_def "rsending == snd o snd o snd o snd" |
34 rsending_def "rsending == snd o snd o snd o snd" |
27 |
35 |
28 receiver_asig_def "receiver_asig == \ |
36 receiver_asig_def "receiver_asig == \ |
29 \ <UN pkt. {R_pkt(pkt)}, \ |
37 \ <UN pkt. {R_pkt(pkt)}, \ |
30 \ (UN m. {R_msg(m)}) Un (UN b. {S_ack(b)}), \ |
38 \ (UN m. {R_msg(m)}) Un (UN b. {S_ack(b)}), \ |
31 \ insert(C_m_r, UN m. {C_r_r(m)})>" |
39 \ insert(C_m_r, UN m. {C_r_r(m)})>" |
32 |
40 |
33 receiver_trans_def "receiver_trans == \ |
41 receiver_trans_def "receiver_trans == \ |
34 \ {tr. let s = fst(tr); \ |
42 \ {tr. let s = fst(tr); \ |
35 \ t = snd(snd(tr)) \ |
43 \ t = snd(snd(tr)) \ |
53 \ rsent(t) = addm(rsent(s),rbit(s)) & \ |
61 \ rsent(t) = addm(rsent(s),rbit(s)) & \ |
54 \ rrcvd(t) = rrcvd(s) & \ |
62 \ rrcvd(t) = rrcvd(s) & \ |
55 \ rbit(t)=rbit(s) & \ |
63 \ rbit(t)=rbit(s) & \ |
56 \ rsending(s) & \ |
64 \ rsending(s) & \ |
57 \ rsending(t) | \ |
65 \ rsending(t) | \ |
58 \R_ack(b) => False | \ |
66 \ R_ack(b) => False | \ |
59 \ C_m_s => False | \ |
67 \ C_m_s => False | \ |
60 \ C_m_r => count(rsent(s),~rbit(s)) < countm(rrcvd(s),%y.hdr(y)=rbit(s)) & \ |
68 \ C_m_r => count(rsent(s),~rbit(s)) < countm(rrcvd(s),%y.hdr(y)=rbit(s)) & \ |
61 \ rq(t) = rq(s) & \ |
69 \ rq(t) = rq(s) & \ |
62 \ rsent(t)=rsent(s) & \ |
70 \ rsent(t)=rsent(s) & \ |
63 \ rrcvd(t)=rrcvd(s) & \ |
71 \ rrcvd(t)=rrcvd(s) & \ |