Bisimulation and Bisimilarity #
A bisimulation is a binary relation on the states of an LTS
, which establishes a tight semantic
correspondence. More specifically, if two states s1
and s2
are related by a bisimulation, then
s1
can mimic all transitions of s2
and vice versa. Furthermore, the derivatives reaches through
these transitions remain related by the bisimulation.
Bisimilarity is the largest bisimulation: given an LTS
, it relates any two states that are related
by a bisimulation for that LTS.
Weak bisimulation (resp. bisimilarity) is the relaxed version of bisimulation (resp. bisimilarity) whereby internal actions performed by processes can be ignored.
For an introduction to theory of bisimulation, we refer to [San].
Main definitions #
Bisimulation lts r
: the relationr
on the states of the LTSlts
is a bisimulation.Bisimilarity lts
is the binary relation on the states oflts
that relates any two states related by some bisimulation onlts
.BisimulationUpTo lts r
: the relationr
is a bisimulation up to bisimilarity (this is known as one of the 'up to' techniques for bisimulation).WeakBisimulation lts r
: the relationr
on the states of the LTSlts
is a weak bisimulation.WeakBisimilarity lts
is the binary relation on the states oflts
that relates any two states related by some weak bisimulation onlts
.SWBisimulation lts
is a more convenient definition for establishing weak bisimulations, which we prove to be sound and complete.SWBisimilarity lts
is the binary relation on the states oflts
that relates any two states related by some sw-bisimulation onlts
.
Notations #
s1 ~[lts] s2
: the statess1
ands2
are bisimilar in the LTSlts
.s1 ≈[lts] s2
: the statess1
ands2
are weakly bisimilar in the LTSlts
.s1 ≈sw[lts] s2
: the statess1
ands2
are sw bisimilar in the LTSlts
.
Main statements #
Bisimulation.inv
: the inverse of a bisimulation is a bisimulation.Bisimilarity.eqv
: bisimilarity is an equivalence relation (seeEquivalence
).Bisimilarity.is_bisimulation
: bisimilarity is itself a bisimulation.Bisimilarity.largest_bisimulation
: bisimilarity is the largest bisimulation.Bisimilarity.gfp
: the union of bisimilarity and any bisimulation is equal to bisimilarity.Bisimulation.upTo_bisimulation
: any bisimulation up to bisimilarity is a bisimulation.Bisimulation.bisim_traceEq
: any bisimulation that relates two states implies that they are trace equivalent (seeTraceEq
).Bisimilarity.deterministic_bisim_eq_traceEq
: in a deterministic LTS, bisimilarity and trace equivalence coincide.WeakBisimilarity.weakBisim_eq_swBisim
: weak bisimilarity and sw-bisimilarity coincide in all LTSs.WeakBisimilarity.eqv
: weak bisimilarity is an equivalence relation.SWBisimilarity.eqv
: sw-bisimilarity is an equivalence relation.
A relation is a bisimulation if, whenever it relates two states in an lts, the transitions originating from these states mimic each other and the reached derivatives are themselves related.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Helper for following a transition using the first component of a Bisimulation
.
Equations
- ⋯ = ⋯
Instances For
Helper for following a transition using the second component of a Bisimulation
.
Equations
- ⋯ = ⋯
Instances For
Notation for bisimilarity.
Differently from standard pen-and-paper presentations, we require the lts to be mentioned explicitly.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The inverse of a bisimulation is a bisimulation.
The composition of two bisimulations is a bisimulation.
Bisimilarity is an equivalence relation.
Bisimilarity is a bisimulation.
Bisimilarity is the largest bisimulation.
The union of bisimilarity with any bisimulation is bisimilarity.
A relation r
is a bisimulation up to bisimilarity if, whenever it relates two
states in an lts, the transitions originating from these states mimic each other and the reached
derivatives are themselves related by r
up to bisimilarity.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Any bisimulation up to bisimilarity is a bisimulation.
If two states are related by a bisimulation, they can mimic each other's multi-step transitions.
Relation to trace equivalence #
Any bisimulation implies trace equivalence.
In general, trace equivalence is not a bisimulation (extra conditions are needed, see for
example Bisimulation.deterministic_trace_eq_is_bisim
).
In general, bisimilarity and trace equivalence are distinct.
In any deterministic LTS, trace equivalence is a bisimulation.
In any deterministic LTS, trace equivalence implies bisimilarity.
In any deterministic LTS, bisimilarity and trace equivalence coincide.
Relation to simulation #
Any bisimulation is also a simulation.
A relation is a bisimulation iff both it and its inverse are simulations.
Weak bisimulation and weak bisimilarity #
A weak bisimulation is similar to a Bisimulation
, but allows for the related processes to do
internal work. Technically, this is defined as a Bisimulation
on the saturation of the LTS.
Equations
- WeakBisimulation lts r = Bisimulation lts.saturate r
Instances For
Notation for weak bisimilarity.
Equations
- One or more equations did not get rendered due to their size.
Instances For
An SWBisimulation
is a more convenient definition of weak bisimulation, because the challenge
is a single transition. We prove later that this technique is sound, following a strategy inspired
by [San].
Equations
- One or more equations did not get rendered due to their size.
Instances For
Notation for swbisimilarity.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Utility theorem for 'following' internal transitions using an SWBisimulation
(first component, weighted version).
Utility theorem for 'following' internal transitions using an SWBisimulation
(second component, weighted version).
Utility theorem for 'following' internal transitions using an SWBisimulation
(first component).
Utility theorem for 'following' internal transitions using an SWBisimulation
(second component).
We can now prove that any relation is a WeakBisimulation
iff it is an SWBisimulation
. This formalises lemma 4.2.10 in [San].
If two states are related by an SWBisimulation
, then they are weakly bisimilar.
Weak bisimilarity and sw-bisimilarity coincide for all LTSs.
The inverse of an sw-bisimulation is an sw-bisimulation.
The inverse of a weak bisimulation is a weak bisimulation.
The composition of two weak bisimulations is a weak bisimulation.
The composition of two sw-bisimulations is an sw-bisimulation.
Weak bisimilarity is an equivalence relation.
SW-bisimilarity is an equivalence relation.