[Math] Uses of bisimulation outside of computer science.

computer sciencelo.logicmodel-theoryset-theory

Bisimulation is one of the most important ideas of theoretical computer science. I was wondering whether bisimilarity is used/known outside of computer science/modal logic? I am aware that it corresponds more or less to back and forth techniques from model theory, but are there any other areas where it finds application?

For those not in the know, here is a definition:

Given a labelled transition system $(S,\Lambda,\to)$,
a bisimulation relation is a binary relation $R$ over $S$ (that is, $R\subseteq S\times S$) such that for all pairs of elements $p,q\in S$ with $(p,q)\in R$, and for all $\alpha\in\Lambda$, we have

  • $p\to^\alpha p'$ implies that there is a $q'$ such that $q\to^\alpha q'$ and $(p',q')\in R$, and
  • symmetrically for $q$, namely, $q\\to^\alpha q'$ implies that there is a $p'$ such that $p\to^\alpha p'$ and $(p',q')\in R$.

Applications collected thus far in answers include:

  • process equivalence in concurrency theory
  • model logic: expressiveness characterisations, modal correspondence theory
  • coinduction, for example in Game Theory
  • non-well founded set theory
  • algebraic set theory
  • geometric topology

Best Answer

As you probably know, between choice and foundation, any use of coinductive arguments in ZFC can be eliminated. So you often have cases where coinduction could have been used, but more inductive methods are used instead. So you have to squint a bit to see them.

Aside from CS and modal logic, the place where coinductive arguments show up most commonly is in game theory, in the study of Nash equilibria of infinite games. The reason they show up here is that it's natural to think of a game in terms of a stream or infinite tree of player moves and opponent responses. If you think about it, this is very similar to the situation in process algebra, where you think of the interaction between a process and its environment.

This actually tells you where to look to find coinduction in the central areas of mathematics. In particular, Nash equilibrium can be understood as an application of Brouwer's fixed point theorem, which tells you that any time you see a compactness or completeness requirement, that's something that could be explained coinductively.

Basically, the intuition is that taking an infinite number of steps always takes you to a limit, and "taking an infinite number of steps" is essentially a function $\mathbb{N} \to \mathrm{blah}$, which is isomorphic to a stream of $\mathrm{blah}$s. This fact is of considerable importance in implementations of computable real arithmetic, because Cauchy sequences are streams, too, and it is natural to write corecursive programs to work with them.

EDIT: Here's a really cute paper by Dexter Kozen and Nicholas Ruozzi, "Applications of Metric Coinduction". They exploit the fact that for contractive maps in metric spaces, least and greatest fixed points coincide to simplify some analytic epsilon-delta arguments by just switching to coinductive arguments.

Related Question