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.
Cited By
- Bañados Schwerter F, Clark A, Jafery K and Garcia R (2021). Abstracting gradual typing moving forward: precise and space-efficient, Proceedings of the ACM on Programming Languages, 5:POPL, (1-28), Online publication date: 4-Jan-2021.
- Kasampalis T, Park D, Lin Z, Adve V and Roşu G Language-parametric compiler validation with application to LLVM Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, (1004-1019)
- Bottoni P and Labella A (2021). Transactions and contracts based on reaction systems, Theoretical Computer Science, 881:C, (25-61), Online publication date: 15-Aug-2021.
- Kahani N, Bagherzadeh M and Cordy J Synthesis of state machine models Proceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, (274-284)
- Attiya H and Rajsbaum S (2020). Indistinguishability, Communications of the ACM, 63:5, (90-99), Online publication date: 20-Apr-2020.
- Dasgupta S, Dinesh S, Venkatesh D, Adve V and Fletcher C Scalable validation of binary lifters Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation, (655-671)
- Simpson A and Voorneveld N (2019). Behavioural Equivalence via Modalities for Algebraic Effects, ACM Transactions on Programming Languages and Systems, 42:1, (1-45), Online publication date: 10-Jan-2020.
- Jiang Y, Liu S and Ehrhard T (2019). A fully abstract semantics for value-passing CCS for trees, Frontiers of Computer Science: Selected Publications from Chinese Universities, 13:4, (828-849), Online publication date: 1-Aug-2019.
- Baldan P, König B, Mika-Michalski C and Padoan T (2019). Fixpoint games on continuous lattices, Proceedings of the ACM on Programming Languages, 3:POPL, (1-29), Online publication date: 2-Jan-2019.
- Cenciarelli P, Gorla D and Salvo I (2019). Depletable channels, Acta Informatica, 56:5, (405-431), Online publication date: 1-Jul-2019.
- Balabonski T, Delga A, Rieg L, Tixeuil S and Urbain X (2019). Synchronous Gathering without Multiplicity Detection, Theory of Computing Systems, 63:2, (200-218), Online publication date: 1-Feb-2019.
- Patrignani M, Ahmed A and Clarke D (2019). Formal Approaches to Secure Compilation, ACM Computing Surveys, 51:6, (1-36), Online publication date: 30-Nov-2019.
- Sangiorgi D and Vignudelli V (2019). Environmental Bisimulations for Probabilistic Higher-order Languages, ACM Transactions on Programming Languages and Systems, 41:4, (1-64), Online publication date: 31-Dec-2020.
- Lucanu D, Rusu V and Arusoaie A (2017). A generic framework for symbolic execution, Journal of Symbolic Computation, 80:P1, (125-163), Online publication date: 1-May-2017.
- Ge R and Garcia R (2017). Refining semantics for multi-stage programming, ACM SIGPLAN Notices, 52:12, (2-14), Online publication date: 1-Dec-2017.
- Ge R and Garcia R Refining semantics for multi-stage programming Proceedings of the 16th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, (2-14)
- Aman B and Ciobanu G (2017). Verification of critical systems described in real-time TiMo, International Journal on Software Tools for Technology Transfer (STTT), 19:4, (395-408), Online publication date: 1-Aug-2017.
- Thiemann P and Vasconcelos V (2016). Context-free session types, ACM SIGPLAN Notices, 51:9, (462-475), Online publication date: 5-Dec-2016.
- Thiemann P and Vasconcelos V Context-free session types Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming, (462-475)
- Hillery B, Mercer E, Rungta N and Person S Exact Heap Summaries for Symbolic Execution Proceedings of the 17th International Conference on Verification, Model Checking, and Abstract Interpretation - Volume 9583, (206-225)
- Bartoletti M, Cimoli T and Zunino R Compliance in Behavioural Contracts Essays Dedicated to Pierpaolo Degano on Programming Languages with Applications to Biology and Security - Volume 9465, (103-121)
- Pan H, Li Y and Cao Y (2015). Lattice-valued simulations for quantitative transition systems, International Journal of Approximate Reasoning, 56:PA, (28-42), Online publication date: 1-Jan-2015.
- Cranen S, Gazda M, Wesselink W and Willemse T (2015). Abstraction in Fixpoint Logic, ACM Transactions on Computational Logic, 16:4, (1-39), Online publication date: 19-Nov-2015.
- Bonchi F and Pous D (2015). Hacking nondeterminism with induction and coinduction, Communications of the ACM, 58:2, (87-95), Online publication date: 28-Jan-2015.
- Xing C (2014). Adding coinduction into discrete mathematics, Journal of Computing Sciences in Colleges, 29:5, (84-90), Online publication date: 1-May-2014.
- Cheney J, Lindley S, Radanne G and Wadler P Effective quotation Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation, (15-26)
- Thielscher M Simulation of Action Theories and an Application to General Game-Playing Robots Essays Dedicated to Gerhard Brewka on the Occasion of His 60th Birthday on Advances in Knowledge Representation, Logic Programming, and Abstract Argumentation - Volume 9060, (33-46)
- Dam M, Guanciale R, Khakpour N, Nemati H and Schwarz O Formal verification of information flow security for a simple arm-based separation kernel Proceedings of the 2013 ACM SIGSAC conference on Computer & communications security, (223-234)
- Bonchi F and Pous D (2013). Checking NFA equivalence with bisimulations up to congruence, ACM SIGPLAN Notices, 48:1, (457-468), Online publication date: 23-Jan-2013.
- Hur C, Neis G, Dreyer D and Vafeiadis V (2013). The power of parameterization in coinductive proof, ACM SIGPLAN Notices, 48:1, (193-206), Online publication date: 23-Jan-2013.
- Bonchi F and Pous D Checking NFA equivalence with bisimulations up to congruence Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (457-468)
- Hur C, Neis G, Dreyer D and Vafeiadis V The power of parameterization in coinductive proof Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (193-206)
- Ji R, Hähnle R and Bubel R Program Transformation Based on Symbolic Execution and Deduction Proceedings of the 11th International Conference on Software Engineering and Formal Methods - Volume 8137, (289-304)
- Aceto L, Cassar I, Francalanza A and Ingólfsdóttir A Comparing Controlled System Synthesis and Suppression Enforcement Runtime Verification, (148-164)
Index Terms
- Introduction to Bisimulation and Coinduction
Recommendations
An equational theory for weak bisimulation via generalized parameterized coinduction
CPP 2020: Proceedings of the 9th ACM SIGPLAN International Conference on Certified Programs and ProofsCoinductive reasoning about infinitary structures such as streams is widely applicable. However, practical frameworks for developing coinductive proofs and finding reasoning principles that help structure such proofs remain a challenge, especially in ...
Circular coinduction in coq using bisimulation-up-to techniques
ITP'13: Proceedings of the 4th international conference on Interactive Theorem ProvingWe investigate methods for proving equality of infinite objects using circular coinduction, a combination of coinduction with term rewriting, in the Coq proof assistant. In order to ensure productivity, Coq requires the corecursive construction of ...