14.08.2013 Views

Reactive Systems: Modelling, Specification and Verification - Cs.ioc.ee

Reactive Systems: Modelling, Specification and Verification - Cs.ioc.ee

Reactive Systems: Modelling, Specification and Verification - Cs.ioc.ee

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3.3. STRONG BISIMILARITY 57<br />

Recall that we defined the specification of a counter thus:<br />

Counter0<br />

Countern<br />

def<br />

= up.Counter1<br />

def<br />

= up.Countern+1 + down.Countern−1 (n > 0) .<br />

Moreover, we stated that we expect that process to be ‘behaviourally equivalent’ to<br />

the process C defined by<br />

C def<br />

= up.(C | down.0) .<br />

We can now show that, in fact, C <strong>and</strong> Counter0 are strongly bisimilar. To this end,<br />

note that this follows if we can show that the relation R below<br />

{(C | Π k i=1 Pi, Countern) | (1) k ≥ 0 ,<br />

(2) Pi = 0 or Pi = down.0, for each i ,<br />

(3) the number of is with Pi = down.0 is n}<br />

is a strong bisimulation. (Can you s<strong>ee</strong> why?) The following result states that this<br />

does hold true.<br />

Proposition 3.1 The relation R defined above is a strong bisimulation.<br />

Proof: Assume that<br />

(C | Π k i=1Pi) R Countern .<br />

By the definition of the relation R, each Pi is either 0 or down.0, <strong>and</strong> the number<br />

of Pi = down.0 is n. We shall now show that<br />

1. if C | Π k i=1 Pi α → P for some action α <strong>and</strong> process P , then there is some<br />

process Q such that Countern α → Q <strong>and</strong> P R Q, <strong>and</strong><br />

2. if Countern α → Q for some some action α <strong>and</strong> process Q, then there is some<br />

process P such that C | Π k i=1 Pi α → P <strong>and</strong> P R Q.<br />

We establish these two claims separately.<br />

1. Assume that C | Π k i=1 Pi α → P for some some action α <strong>and</strong> process P . Then<br />

• either α = up <strong>and</strong> P = C | down.0 | Π k i=1 Pi<br />

• or n > 0, α = down <strong>and</strong> P = C | Πk i=1P ′<br />

i<br />

processes (P1, . . . , Pk) <strong>and</strong> (P ′ 1 , . . . , P ′ k<br />

, where the vectors of<br />

) differ in exactly one position<br />

ℓ, <strong>and</strong> at that position Pℓ = down.0 <strong>and</strong> P ′ ℓ = 0.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!