In

tools to minimize and compare finite-state systems according to various bisimulations

* mCRL2: 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

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

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 system
In theoretical computer science, a transition system is a concept used in the study of computation. It is used to describe the potential behavior of discrete systems. It consists of states and transitions between states, which may be labeled wit ...

s, 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$, $\backslash Lambda$, →), where $S$ is a set of states, $\backslash Lambda$ is a set of labels and → is a set of labelled transitions (i.e., a subset of $S\; \backslash times\; \backslash Lambda\; \backslash times\; S$), a bisimulation is abinary 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\; \backslash subseteq\; S\; \backslash times\; S$,
such that both $R$ and its converse $R^T$ are simulation
A simulation is the imitation of the operation of a real-world process or system over time. Simulations require the use of models; the model represents the key characteristics or behaviors of the selected system or process, whereas the ...

s. 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 $\backslash Lambda$:
* if $p\; \backslash mathrel\; p\text{'}$, then there is $q\; \backslash mathrel\; q\text{'}$ such that $(p\text{'},q\text{'})\; \backslash in\; R$;
* if $q\; \backslash mathrel\; q\text{'}$, then there is $p\; \backslash mathrel\; p\text{'}$ such that $(p\text{'},q\text{'})\; \backslash in\; R$.
Given two states $p$ and $q$ in $S$, $p$ is bisimilar to $q$, written $p\; \backslash ,\; \backslash sim\; \backslash ,\; q$, if and only if there is a bisimulation $R$ such that $(p,\; q)\; \backslash in\; R$. This means that the bisimilarity relation $\backslash ,\; \backslash sim\; \backslash ,$ is the union of all bisimulations: $(p,q)\; \backslash in\backslash ,\backslash sim\backslash ,$ precisely when $(p,\; q)\; \backslash 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
In mathematics, an equivalence relation is a binary relation that is reflexive, symmetric and transitive. The equipollence relation between line segments in geometry is a common example of an equivalence relation.
Each equivalence relatio ...

.
----
Alternative definitions

Relational definition

Bisimulation can be defined in terms ofcomposition 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,\; \backslash Lambda,\; \backslash 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., $R$ ⊆ $S$ × $S$) such that $\backslash forall\backslash alpha\backslash in\backslash Lambda$
::$R\backslash \; ;\backslash \; \backslash overset\backslash quad\; \backslash quad\; \backslash overset\backslash \; ;\backslash \; R$
:and
::$R^\backslash \; ;\backslash \; \backslash overset\backslash quad\; \backslash quad\; \backslash overset\backslash \; ;\backslash \; 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.
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:\backslash mathcal(S\; \backslash times\; S)\; \backslash to\; \backslash mathcal(S\; \backslash 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: :$\backslash forall\; \backslash alpha\; \backslash in\; \backslash Lambda.\; \backslash ,\; \backslash forall\; p\text{'}\; \backslash in\; S.\; \backslash ,\; p\; \backslash overset\; p\text{'}\; \backslash ,\; \backslash Rightarrow\; \backslash ,\; \backslash exists\; q\text{'}\; \backslash in\; S.\; \backslash ,\; q\; \backslash overset\; q\text{'}\; \backslash ,\backslash textrm\backslash ,\; (p\text{'},q\text{'})\; \backslash in\; R$ and :$\backslash forall\; \backslash alpha\; \backslash in\; \backslash Lambda.\; \backslash ,\; \backslash forall\; q\text{'}\; \backslash in\; S.\; \backslash ,\; q\; \backslash overset\; q\text{'}\; \backslash ,\; \backslash Rightarrow\; \backslash ,\; \backslash exists\; p\text{'}\; \backslash in\; S.\; \backslash ,\; p\; \backslash overset\; p\text{'}\; \backslash ,\backslash textrm\backslash ,\; (p\text{'},q\text{'})\; \backslash 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, $\backslash alpha$, from $(p,q)$. I.e.: $(p,q)\; \backslash overset\; (p\text{'},q)$ or $(p,q)\; \backslash overset\; (p,q\text{'})$ The "Defender" must then attempt to match that transition, $\backslash alpha$ from either $(p\text{'},q)$ or $(p,q\text{'})$ depending on the attacker's move. I.e., they must find an $\backslash alpha$ such that: $(p\text{'},q)\; \backslash overset\; (p\text{'},q\text{'})$ or $(p,q\text{'})\; \backslash overset\; (p\text{'},q\text{'})$ 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 powersetfunctor
In mathematics, specifically category theory, a functor is a mapping between categories. Functors were first considered in algebraic topology, where algebraic objects (such as the fundamental group) are associated to topological spaces, and ma ...

.
Note that every state transition system $(S,\; \backslash Lambda,\; \backslash rightarrow)$ is bijectively a function $\backslash xi\_$ from $S$ to the powerset
In mathematics, the power set (or powerset) of a set is the set of all subsets of , including the empty set and itself. In axiomatic set theory (as developed, for example, in the ZFC axioms), the existence of the power set of any set is post ...

of $S$ indexed by $\backslash Lambda$ written as $\backslash mathcal(\backslash Lambda\; \backslash times\; S)$, defined by
::$p\; \backslash mapsto\; \backslash .$
Let $\backslash pi\_i\; \backslash colon\; S\; \backslash times\; S\; \backslash to\; S$ be $i$-th projection mapping
$(p,\; q)$ to $p$ and $q$ respectively for $i\; =\; 1,\; 2$; and
$\backslash mathcal(\backslash Lambda\; \backslash times\; \backslash pi\_1)$ the forward image of $\backslash pi\_1$ defined by dropping the third component
::$P\; \backslash mapsto\; \backslash $
where $P$ is a subset of $\backslash Lambda\; \backslash times\; S\; \backslash times\; S$. Similarly for $\backslash mathcal(\backslash Lambda\; \backslash times\; \backslash pi\_2)$.
Using the above notations, a relation $R\; \backslash subseteq\; S\; \backslash times\; S$ is a bisimulation on a transition system $(S,\; \backslash Lambda,\; \backslash rightarrow)$ if and only if there exists a transition system $\backslash gamma\; \backslash colon\; R\; \backslash to\; \backslash mathcal(\backslash Lambda\; \backslash times\; R)$ on the relation $R$ such that the diagram
A diagram is a symbolic representation of information using visualization techniques. Diagrams have been used since prehistoric times on walls of caves, but became more prevalent during the Enlightenment. Sometimes, the technique uses a thr ...

commutes, i.e. for $i\; =\; 1,\; 2$, the equations
:: $\backslash xi\_\backslash rightarrow\; \backslash circ\; \backslash pi\_i\; =\; \backslash mathcal(\backslash Lambda\; \backslash times\; \backslash pi\_i)\; \backslash circ\; \backslash gamma$
hold
where $\backslash xi\_$ is the functional representation of $(S,\; \backslash Lambda,\; \backslash 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 $\backslash 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\text{'}$ then there must exist state $q\text{'}$ such that there is some number (possibly zero) of internal actions leading from $q$ to $q\text{'}$. A relation $\backslash mathcal$ on processes is a weak bisimulation if the following holds (with $\backslash mathcal\; \backslash in\; \backslash $, and $a,\backslash tau$ being an observable and mute transition respectively): $\backslash forall\; p,\; q.\; \backslash quad\; (p,q)\; \backslash in\; \backslash mathcal\; \backslash Rightarrow\; p\; \backslash stackrel\; p\text{'}\; \backslash Rightarrow\; \backslash exists\; q\text{'}\; .\; \backslash quad\; q\; \backslash stackrel\; q\text{'}\; \backslash wedge\; (p\text{'},q\text{'})\; \backslash in\; \backslash mathcal$ $\backslash forall\; p,\; q.\; \backslash quad\; (p,q)\; \backslash in\; \backslash mathcal\; \backslash Rightarrow\; p\; \backslash stackrel\; p\text{'}\; \backslash Rightarrow\; \backslash exists\; q\text{'}\; .\; \backslash quad\; q\; \backslash stackrel\; q\text{'}\; \backslash wedge\; (p\text{'},q\text{'})\; \backslash in\; \backslash mathcal$ This is closely related to bisimulationup 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
In theoretical computer science, a transition system is a concept used in the study of computation. It is used to describe the potential behavior of discrete systems. It consists of states and transitions between states, which may be labeled with ...

gives the operational semantics
Operational semantics is a category of formal programming language semantics in which certain desired properties of a program, such as correctness, safety or security, are verified by constructing proofs from logical statements about its exe ...

of a programming language
A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language.
The description of a programming ...

, 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 inmodal 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 quant ...

invariant under bisimulation (van Benthem's theorem
A van is a type of road vehicle used for transporting goods or people. Depending on the type of van, it can be bigger or smaller than a pickup truck and SUV, and bigger than a common car. There is some varying in the scope of the word across ...

).
Algorithm

Checking that two finite transition systems are bisimilar can be done inpolynomial time
In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by t ...

. The fastest algorithms are quasilinear time using partition refinement In the design of algorithms, partition refinement is a technique for representing a partition of a set as a data structure that allows the partition to be refined by splitting its sets into a larger number of smaller sets. In that sense it is dual t ...

through a reduction to the coarsest partition problem.
See also

* Simulation preorder *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 w ...

* Probabilistic bisimulation
References

Further reading

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

Software tools

* CADPtools to minimize and compare finite-state systems according to various bisimulations

* mCRL2: 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