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