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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

110 CHAPTER 5. HENNESSY-MILNER LOGIC<br />

This transition can only be matched by either<br />

or<br />

B a → 0<br />

B a → a.B .<br />

However, neither 0 nor a.B is strongly bisimilar to A, because this process can<br />

perform an a-labelled transition <strong>and</strong> become 0 in doing so. On the other h<strong>and</strong>,<br />

a.B a → B<br />

is the only transition that is possible from a.B, <strong>and</strong> B is not strongly bisimilar to 0.<br />

Based on this analysis, it s<strong>ee</strong>ms that a property distinguishing the processes A<br />

<strong>and</strong> B is 〈a〉〈a〉[a]ff—that is, the process can perform a sequence of two a-labelled<br />

transitions, <strong>and</strong> in so doing reach a state from which no a-labelled transition is<br />

possible. In fact, you should be able to establish that A satisfies this property, but<br />

B does not. (Do so!)<br />

Again, faced with two non-bisimilar processes, we have b<strong>ee</strong>n able to find a formula<br />

in the logic M that distinguishes them, in the sense that one process satisfies<br />

it, but the other does not. Is this true in general? And what can we say about two<br />

processes that satisfy precisely the same formulae in M? Are they guarant<strong>ee</strong>d to<br />

be strongly bisimilar?<br />

We shall now present a seminal theorem, due to Hennessy <strong>and</strong> Milner, that<br />

answers both of these questions in one fell swoop by establishing a satisfying,<br />

<strong>and</strong> very fruitful, connection betw<strong>ee</strong>n the apparently unrelated notions of strong<br />

bisimilarity <strong>and</strong> the logic M. The theorem applies to a class of processes that we<br />

now proc<strong>ee</strong>d to define.<br />

Definition 5.3 [Image finite process] A process P is image finite iff the collection<br />

{P ′ | P a → P ′ } is finite for each action a.<br />

An LTS is image finite if so is each of its states. <br />

For example, the process Arep (for ‘A replicated’) defined thus:<br />

Arep def<br />

= a.0 | Arep<br />

is not image finite. In fact, you should be able to prove by induction on n that, for<br />

each n ≥ 1,<br />

Arep a → a.0 | · · · | a.0 |0 | Arep .<br />

<br />

n times

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

Saved successfully!

Ooh no, something went wrong!