Introduction to Bisimulation and Coinduction

Davide Sangiorgi

Cambridge Universtity Press, 2012
260 pages, 210 exercises
Table of contents | Errata corrige
Some slides for the book
CUP press display and order information
Amazon press display and order information

Induction is a pervasive tool in computer science and mathematics for defining objects and reasoning on them. Coinduction is the dual of induction and as such it brings in quite different tools. Today, it is widely used in computer science, but also in other fields, including artificial intelligence, cognitive science, mathematics, modal logics, philosophy and physics. The best known instance of coinduction is bisimulation, mainly employed to define and prove equalities among potentially infinite objects: processes, streams, non-well-founded sets, etc.

This book presents bisimulation and coinduction: the fundamental concepts and techniques and the duality with induction. Each chapter contains exercises and selected solutions, enabling students to connect theory with practice. A special emphasis is placed on bisimulation as a behavioural equivalence for processes. Thus the book serves as an introduction to models for expressing processes (such as process calculi) and to the associated techniques of operational and algebraic analysis.

The book is a pre-cursor to the companion book Advanced Topics in Bisimulation and Coinduction on more advanced topics.

'A beautiful textbook on bisimulation and coinduction, some of the most influential and powerful recent concepts in computer science. The volume contains a comprehensive introduction presented in an impressive pedagogical style providing the reader with a pleasantblend of the theory behind the concepts and how to apply them. Furthermore, the book is full of illustrative examples and exercises - a book readily usable for teaching!'

- Mogens Nielsen, Aarhus University

'Coinduction is essential to the foundations of computer science. Sangiorgi's new book provides a comprehensive and accessible account, including an illuminating exposition of the duality with the more well known concept of induction. The application to the theory of processes, in the form of bisimulation equivalence, is emphasised, although other approaches to process equivalence are also explained. Written in a clear and stimulating manner, it is destined to become the definitive textbook for many years to come.'

- Matthew Hennessy, Trinity College Dublin

'This book is an excellent text introducing bisimulation and coinduction, two subjects that are becoming more and more important in contemporary computer science. I strongly recommend it to any graduate student in computer science or related fields.'

-- Jos Baeten, Eindhoven University of Technology

'Bisimulation and related coinductive techniques are now standard tools in many areas of computer science, but the lack of an accessible, comprehensive introduction has made it difficult for newcomers to appreciate their elegance and power. Here, at last, is that introduction - written by a world authority, weaving a multitude of previously disparate topics into a coherent narrative, and generously leavened with insightful exercises.'

- Benjamin C. Pierce, University of Pennsylvania