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 7r-calculus is a process algebra that supports process mobility by focusing on the communication of channels.Milner's presentation of the r-calculus includes a type system assigning arities to channels and enforcing a corresponding discipline in their use. We extend Milner's language of types by distinguishing between the ability to read from a channel, the ability to write to a channel, and the ability both to read and to write. This refinement gives rise to a natural subtype relation similar to those studied in typed A-calculi.The greater precision of our type discipline yields stronger versions of some standard theorems about the Ir-calculus. These can be used, for example, to obtain the validity of @-reduction for the more efficient of Milner 's encodings of the call-by-value A-calculus, for which @-reduction does not hold in the ordinary 7r-calculus.We define the syntax, typing, subtyping, and operational semantics of our calculus, prove that the typing rules are sound, apply the system to Milner's Acalculus encodings, and sketch extensions to higherorder process calculi and polymorphic typing.
The most popular method for establishing bisimilarities among processes is to exhibit bisimulation relations. By de nition, R is a bisimulation relation if R progresses to R itself, i.e., pairs of processes in R can match each other's actions and their derivatives are again in R.We study generalisations of the method aimed at reducing the size of the relations to exhibit and hence relieving the proof work needed to establish bisimilarity results. We allow a relation R to progress to a di erent relation F(R), where F is a function on relations. Functions which can be safely used in this way (i.e., such that if R progresses to F(R), then R only includes pairs of bisimilar processes) are sound. We give a simple condition which ensures soundness. We show that the class of sound functions contains non-trivial functions and we study the closure properties of the class with respect to various important function constructors, like composition, union and iteration. These properties allow us to construct sophisticated sound functions and hence sophisticated proof techniques for bisimilarity from simpler ones.The usefulness of our proof techniques is supported by various non-trivial examples drawn from the process algebras CCS and -calculus. They include the proof of the unique solution of equations and the proof of a few properties of the replication operator. Among these, there is a novel result which justi es the adoption of a simple form of pre x-guarded replication as the only form of replication in the -calculus. A summary has appeared in the proceedings of MFCS`95. 1 1. whenever P ?! P 0 , there is Q 0 such that Q ?! Q 0 and P 0 S Q 0 ; 2. the converse, i.e., whenever Q ?! Q 0 , there is P 0 such that P ?! P 0 and P 0 S Q 0 . When R and S coincide, the above clauses are the ordinary ones of the de nition of a bisimulation relation.De nition 2.2 R is a bisimulation relation if R progresses to itself, i.e. R R holds. 5
Developing a theory of bisimulation in higher-order languages can be hard. Particularly challenging can be: (1) the proof of congruence, as well as enhancements of the bisimulation proof method with "up-to context" techniques, and (2) obtaining definitions and results that scale to languages with different features. To meet these challenges, we present environmental bisimulations, a form of bisimulation for higher-order languages, and its basic theory. We consider four representative calculi: pure λ-calculi (call-by-name and call-byvalue), call-by-value λ-calculus with higher-order store, and then Higher-Order π-calculus. In each case: we present the basic properties of environmental bisimilarity, including congruence; we show that it coincides with contextual equivalence; we develop some up-to techniques, including up-to context, as examples of possible enhancements of the associated bisimulation method. Unlike previous approaches (such as applicative bisimulations, logical relations, Sumii-Pierce-Koutavas-Wand), our method does not require induction/indices on evaluation derivation/steps (which may complicate the proofs of congruence, transitivity, and the combination with up-to techniques), or sophisticated methods such as Howe's for proving congruence. It also scales from the pure λ-calculi to the richer calculi with simple congruence proofs.
A higher-order process calculus is a calculus for communicating systems which contains higher-order constructs like communication of terms. We analyse the notion of bisimulation in these calculi. We argue that both the standard de nition of bisimulation (i.e., the one for CCS and related calculi), as well as higher-order bisimulation AGR88, Bou89, Tho90] are in general unsatisfactory, because of their overdiscrimination. We propose and study a new form of bisimulation for such calculi, called context bisimulation, which yields a more satisfactory discriminanting power. A drawback of context bisimulation is the heavy use of universal quanti cation in its de nition, which is hard to handle in practice. To resolve this di culty we introduce triggered bisimulation and normal bisimulation, and we prove that they both coincide with context bisimulation. In the proof, we exploit the factorisation theorem: When comparing the behaviour of two processes, it allows us to \isolate" subcomponents which might give di erences, so that the analysis can be concentrated on them.
scite is a Brooklyn-based startup that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
334 Leonard St
Brooklyn, NY 11211
Copyright © 2023 scite Inc. All rights reserved.
Made with 💙 for researchers