HOME

TheInfoList



OR:

In
theoretical computer science computer science (TCS) is a subset of general computer science and mathematics that focuses on mathematical aspects of computer science such as the theory of computation, lambda calculus, and type theory. It is difficult to circumscribe the ...
a bisimulation is a
binary relation In mathematics, a binary relation associates elements of one set, called the ''domain'', with elements of another set, called the ''codomain''. A binary relation over sets and is a new set of ordered pairs consisting of elements in and i ...
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.


Formal definition

Given a labelled state transition system (S, \Lambda, →), where S is a set of states, \Lambda is a set of labels and → is a set of labelled transitions (i.e., a subset of S \times \Lambda \times S), a bisimulation is a
binary relation In mathematics, a binary relation associates elements of one set, called the ''domain'', with elements of another set, called the ''codomain''. A binary relation over sets and is a new set of ordered pairs consisting of elements in and i ...
R \subseteq S \times S, such that both R and its converse R^T are simulations. From this follows that the symmetric closure of a bisimulation is a bisimulation, and that each symmetric simulation is a bisimulation. Thus some authors define bisimulation as a symmetric simulation. Equivalently, R is a bisimulation if and only if for every pair of states (p,q) in R and all labels ''α'' in \Lambda: * if p \mathrel p', then there is q \mathrel q' such that (p',q') \in R; * if q \mathrel q', then there is p \mathrel p' such that (p',q') \in R. Given two states p and q in S, p is bisimilar to q, written p \, \sim \, q, if and only if there is a bisimulation R such that (p, q) \in R. This means that the bisimilarity relation \, \sim \, is the union of all bisimulations: (p,q) \in\,\sim\, precisely when (p, q) \in R for some bisimulation R. The set of bisimulations is closed under union;Meaning the union of two bisimulations is a bisimulation. 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. ----


Alternative definitions


Relational definition

Bisimulation can be defined in terms of
composition of relations In the mathematics of binary relations, the composition of relations is the forming of a new binary relation from two given binary relations ''R'' and ''S''. In the calculus of relations, the composition of relations is called relative multiplica ...
as follows. Given a labelled state transition system (S, \Lambda, \rightarrow), a ''bisimulation'' relation is a
binary relation In mathematics, a binary relation associates elements of one set, called the ''domain'', with elements of another set, called the ''codomain''. A binary relation over sets and is a new set of ordered pairs consisting of elements in and i ...
R over S (i.e., RS × S) such that \forall\alpha\in\Lambda ::R\ ;\ \overset\quad \quad \overset\ ;\ R :and ::R^\ ;\ \overset\quad \quad \overset\ ;\ R^ 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 In mathematics, quantales are certain partially ordered algebraic structures that generalize locales ( point free topologies) as well as various multiplicative lattices of ideals from ring theory and functional analysis (C*-algebras, von Neumann ...
.


Fixpoint definition

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, Λ, →), define F:\mathcal(S \times S) \to \mathcal(S \times S) to be a function from binary relations over S to binary relations over S, as follows: Let R be any binary relation over S. F(R) is defined to be the set of all pairs (p,q) in S × S such that: : \forall \alpha \in \Lambda. \, \forall p' \in S. \, p \overset p' \, \Rightarrow \, \exists q' \in S. \, q \overset q' \,\textrm\, (p',q') \in R and : \forall \alpha \in \Lambda. \, \forall q' \in S. \, q \overset q' \, \Rightarrow \, \exists p' \in S. \, p \overset p' \,\textrm\, (p',q') \in R Bisimilarity is then defined to be the greatest fixed point of F.


Ehrenfeucht–Fraïssé game definition

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, \alpha, from (p,q). I.e.: (p,q) \overset (p',q) or (p,q) \overset (p,q') The "Defender" must then attempt to match that transition, \alpha from either (p',q) or (p,q') depending on the attacker's move. I.e., they must find an \alpha such that: (p',q) \overset (p',q') or (p,q') \overset (p',q') Attacker and defender continue to take alternating turns until: * The defender is unable to find any valid transitions to match the attacker's move. In this case the attacker wins. * The game reaches states (p,q) that are both 'dead' (i.e., there are no transitions from either state) In this case the defender wins * The game goes on forever, in which case the defender wins. * The game reaches states (p,q), which have already been visited. This is equivalent to an infinite play and counts as a win for the defender. By the above definition the system is a bisimulation if and only if there exists a winning strategy for the defender.


Coalgebraic definition

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, \Lambda, \rightarrow) is bijectively a function \xi_ from S to the powerset of S indexed by \Lambda written as \mathcal(\Lambda \times S), defined by :: p \mapsto \. Let \pi_i \colon S \times S \to S be i-th projection mapping (p, q) to p and q respectively for i = 1, 2; and \mathcal(\Lambda \times \pi_1) the forward image of \pi_1 defined by dropping the third component :: P \mapsto \ where P is a subset of \Lambda \times S \times S. Similarly for \mathcal(\Lambda \times \pi_2). Using the above notations, a relation R \subseteq S \times S is a bisimulation on a transition system (S, \Lambda, \rightarrow) if and only if there exists a transition system \gamma \colon R \to \mathcal(\Lambda \times R) on the relation R such that the diagram commutes, i.e. for i = 1, 2, the equations :: \xi_\rightarrow \circ \pi_i = \mathcal(\Lambda \times \pi_i) \circ \gamma hold where \xi_ is the functional representation of (S, \Lambda, \rightarrow).


Variants of bisimulation

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"). A different variant applies if the state transition system includes a notion of ''silent'' (or ''internal'') action, often denoted with \tau, i.e. actions that are not visible by external observers, then bisimulation can be relaxed to be ''weak bisimulation'', in which if two states p and q are bisimilar and there is some number of internal actions leading from p to some state p' then there must exist state q' such that there is some number (possibly zero) of internal actions leading from q to q'. A relation \mathcal on processes is a weak bisimulation if the following holds (with \mathcal \in \, and a,\tau being an observable and mute transition respectively): \forall p, q. \quad (p,q) \in \mathcal \Rightarrow p \stackrel p' \Rightarrow \exists q' . \quad q \stackrel q' \wedge (p',q') \in \mathcal \forall p, q. \quad (p,q) \in \mathcal \Rightarrow p \stackrel p' \Rightarrow \exists q' . \quad q \stackrel q' \wedge (p',q') \in \mathcal This is closely related to bisimulation
up to Two mathematical objects ''a'' and ''b'' are called equal up to an equivalence relation ''R'' * if ''a'' and ''b'' are related by ''R'', that is, * if ''aRb'' holds, that is, * if the equivalence classes of ''a'' and ''b'' with respect to ''R'' a ...
a relation. 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, (bisimilarity resp.) relationship depending on the context.


Bisimulation and modal logic

Since Kripke models are a special case of (labelled) state transition systems, bisimulation is also a topic in
modal logic Modal logic is a collection of formal systems developed to represent statements about necessity and possibility. It plays a major role in philosophy of language, epistemology, metaphysics, and natural language semantics. Modal logics extend other ...
. In fact, modal logic is the fragment of
first-order logic First-order logic—also known as predicate logic, quantificational logic, and first-order predicate calculus—is a collection of formal systems used in mathematics, philosophy, linguistics, and computer science. First-order logic uses quantifi ...
invariant under bisimulation ( van Benthem's theorem).


Algorithm

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.


See also

*
Simulation preorder In theoretical computer science a simulation is a relation between state transition systems associating systems that behave in the same way in the sense that one system ''simulates'' the other. Intuitively, a system simulates another system if it ...
*
Congruence relation In abstract algebra, a congruence relation (or simply congruence) is an equivalence relation on an algebraic structure (such as a group, ring, or vector space) that is compatible with the structure in the sense that algebraic operations done wi ...
* Probabilistic bisimulation


References


Further reading

* * * Davide Sangiorgi. (2011). ''Introduction to Bisimulation and Coinduction''. Cambridge University Press.


External links


Software tools

*
CADP CADP (Construction and Analysis of Distributed Processes) is a toolbox for the design of communication protocols and distributed systems. CADP is developed by the CONVECS team (formerly by the VASY team) at INRIA Rhone-Alpes and connected to vari ...

tools to minimize and compare finite-state systems according to various bisimulations
*
mCRL2 mCRL2 is a specification language for describing concurrent discrete event systems. It is accompanied with a toolset, that facilitates tools, techniques and methods for simulation, analysis and visualization of behaviour. The behavioural part of th ...
: tools to minimize and compare finite-state systems according to various bisimulations
The Bisimulation Game Game
{{Authority control Theoretical computer science Formal methods Logic in computer science Transition systems