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.

96 CHAPTER 4. THEORY OF FIXED POINTS<br />

4.3 Bisimulation as a fixed point<br />

Now that we have the theory underlying Tarski’s fixed point theorem in place,<br />

it is high time to put it into practice. We shall first use the theory we have just<br />

developed to provide the promised reformulation of bisimulation equivalence, <strong>and</strong><br />

next we shall show by means of examples how this reformulation leads directly to<br />

an algorithm for computing bisimilarity over finite labelled transition systems. The<br />

algorithm for computing bisimilarity that stems from the theory of fixed points is<br />

not the most efficient one that has b<strong>ee</strong>n devised; however, it is really pleasing<br />

to s<strong>ee</strong> how apparently very abstract notions from mathematics turn out to have<br />

unexpected applications in computer science.<br />

Throughout this section, we let (Proc, Act, { α → | α ∈ Act}) be a labelled transition<br />

system. We recall that a relation R ⊆ Proc×Proc is a strong bisimulation—<br />

s<strong>ee</strong> Definition 3.2 on page 43—if the following holds:<br />

If (p, q) ∈ R then, for every α ∈ Act:<br />

1. p α → p ′ implies q α → q ′ for some q ′ such that (p ′ , q ′ ) ∈ R;<br />

2. q α → q ′ implies p α → p ′ for some p ′ such that (p ′ , q ′ ) ∈ R.<br />

Then strong bisimulation equivalence (or strong bisimilarity) is defined as<br />

∼ = {R ∈ 2 (Proc×Proc) | R is a strong bisimulation} .<br />

In what follows we shall describe the relation ∼ as a fixed point to a suitable monotonic<br />

function. First we note that (2 (Proc×Proc) , ⊆) (i.e., the set of binary relations<br />

over Proc ordered by set inclusion) is a complete lattice with <strong>and</strong> as<br />

least upper bound <strong>and</strong> greatest lower bound. (Why? In fact, you should be able<br />

to realize readily that we have s<strong>ee</strong>n this kind of complete lattice in our previous<br />

developments!)<br />

Consider now a binary relation R over Proc—that is, an element of the set<br />

2 (Proc×Proc) . We define the set F(R) as follows:<br />

(p, q) ∈ F(R), for all p, q ∈ Proc, if <strong>and</strong> only if<br />

1. p α → p ′ implies q α → q ′ for some q ′ such that (p ′ , q ′ ) ∈ R;<br />

2. q α → q ′ implies p α → p ′ for some p ′ such that (p ′ , q ′ ) ∈ R.<br />

In other words, F(R) contains all the pairs of processes from which, in one round<br />

of the bisimulation game, the defender can make sure that the players reach a current<br />

pair of processes that is already contained in R.

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

Saved successfully!

Ooh no, something went wrong!