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
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