In theoretical computer science a bisimulation is a binary relation between state transition systems, associating systems that behave in the same way in that one system simulates the other and vice versa.
Intuitively two systems are bisimilar if they, assuming we view them as playing a game according to some rules, match each other's moves. In this sense, each of the systems cannot be distinguished from the other by an observer.
Given a labeled state transition system,where is a set of states,
Λ
S x Λ x S
R\subseteqS x S
RT
Equivalently, is a bisimulation if and only if for every pair of states
(p,q)
Λ
pl{\overset{λ}{ → }}p'
ql{\overset{λ}{ → }}q'
(p',q')\inR
ql{\overset{λ}{ → }}q'
pl{\overset{λ}{ → }}p'
(p',q')\inR
Given two states and in, is bisimilar to, written
p\simq
(p,q)\inR
(p,q)\in\sim
(p,q)\inR
The set of bisimulations is closed under union;[2] therefore, the bisimilarity relation is itself a bisimulation. Since it is the union of all bisimulations, it is the unique largest bisimulation. Bisimulations are also closed under reflexive, symmetric, and transitive closure; therefore, the largest bisimulation must be reflexive, symmetric, and transitive. From this follows that the largest bisimulation—bisimilarity—is an equivalence relation.[3]
Bisimulation can be defined in terms of composition of relations as follows.
(S,Λ, → )
\forallλ\inΛ
and
From the monotonicity and continuity of relation composition, it follows immediately that the set of bisimulations is closed under unions (joins in the poset of relations), and a simple algebraic calculation shows that the relation of bisimilarity—the join of all bisimulations—is an equivalence relation. This definition, and the associated treatment of bisimilarity, can be interpreted in any involutive quantale.
Bisimilarity can also be defined in order-theoretical fashion, in terms of fixpoint theory, more precisely as the greatest fixed point of a certain function defined below.
Given a labelled state transition system (
S
F:l{P}(S x S)\tol{P}(S x S)
S
S
Let
R
S
F(R)
(p,q)
S
S
and
Bisimilarity is then defined to be the greatest fixed point of
F
Bisimulation can also be thought of in terms of a game between two players: attacker and defender.
"Attacker" goes first and may choose any valid transition,
λ
(p,q)
The "Defender" must then attempt to match that transition,
λ
(p',q)
(p,q')
λ
Attacker and defender continue to take alternating turns until:
(p,q)
(p,q)
By the above definition the system is a bisimulation if and only if there exists a winning strategy for the defender.
A bisimulation for state transition systems is a special case of coalgebraic bisimulation for the type of covariant powerset functor.Note that every state transition system
(S,Λ, → )
\xi →
S
S
Λ
l{P}(Λ x S)
Let
\pii\colonS x S\toS
i
(p,q)
p
q
i=1,2
l{P}(Λ x \pi1)
\pi1
P
Λ x S x S
l{P}(Λ x \pi2)
Using the above notations, a relation
R\subseteqS x S
(S,Λ, → )
\gamma\colonR\tol{P}(Λ x R)
R
commutes, i.e. for
i=1,2
\xi →
(S,Λ, → )
In special contexts the notion of bisimulation is sometimes refined by adding additional requirements or constraints. An example is that of stutter bisimulation, in which one transition of one system may be matched with multiple transitions of the other, provided that the intermediate states are equivalent to the starting state ("stutters").[4]
A different variant applies if the state transition system includes a notion of silent (or internal) action, often denoted with
\tau
p
q
p
p'
q'
q
q'
l{R}
l{S}\in\{l{R},l{R}-1\}
a,\tau
This is closely related to the notion of bisimulation "up to" a relation.[5]
Typically, if the state transition system gives the operational semantics of a programming language, then the precise definition of bisimulation will be specific to the restrictions of the programming language. Therefore, in general, there may be more than one kind of bisimulation (respectively bisimilarity) relationship depending on the context.
Since Kripke models are a special case of (labelled) state transition systems, bisimulation is also a topic in modal logic. In fact, modal logic is the fragment of first-order logic invariant under bisimulation (van Benthem's theorem).
Checking that two finite transition systems are bisimilar can be done in polynomial time. The fastest algorithms are quasilinear time using partition refinement through a reduction to the coarsest partition problem.
. Davide Sangiorgi. An introduction to Bisimulation and Coinduction . 2011 . Cambridge University Press . 9781107003637 . Cambridge, UK . 773040572.
. Communication and Concurrency . Prentice-Hall, Inc. . 1989 . 0131149849 . USA . Robin Milner.