PLS Lab

Barbed bisimulation

Barbed bisimulation refers to an notion of program equivalence which can be defined for any calculus equipped with

As it is a bisimulation at heart, it is often used with process calculi, such as CCS or π-calculus. However, it can also be applied to functional systems too - and in fact has its roots in applicative bisimilarity.

Suppose we have a set \mathcal{T} of terms of a calculus. Suppose further that this set is equipped with

The unary predicate denotes convergence. That is, P\Downarrow means that evaluation of P terminates in a way that is visible to the outside world. There are many meanings to this.

Definition. A relation \sim\ \subseteq \mathcal{T} \times \mathcal{T} is called a barbed simulation just if
P \sim Q implies that

  1. if P \rightarrow P' then Q \rightarrow Q' for some Q' with P' \sim Q'
  2. if P\Downarrow then Q\Downarrow.

Definition. A relation \sim\ \subseteq \mathcal{T} \times \mathcal{T} is called a barbed bisimulation whenever both \sim and \sim^{-1} are barbed simulations.

References

Milner, Robin, and Davide Sangiorgi. 1992. ‘Barbed Bisimulation’. In Automata, Languages and Programming, edited by W. Kuich, 623:685–95. Lecture Notes in Computer Science. Berlin, Heidelberg: Springer Berlin Heidelberg. https://doi.org/10.1007/3-540-55719-9_114.
@inproceedings{milner_1992,
	address = {Berlin, Heidelberg},
	series = {Lecture {Notes} in {Computer} {Science}},
	title = {Barbed bisimulation},
	volume = {623},
	doi = {10.1007/3-540-55719-9_114},
	booktitle = {Automata, {Languages} and {Programming}},
	publisher = {Springer Berlin Heidelberg},
	author = {Milner, Robin and Sangiorgi, Davide},
	editor = {Kuich, W.},
	year = {1992},
	pages = {685--695}
}