Processes, Systems & Tests: Defining Contextual Equivalences

  title={Processes, Systems \& Tests: Defining Contextual Equivalences},
  author={Cl{\'e}ment Aubert and Daniele Varacca},
  journal={Electronic Proceedings in Theoretical Computer Science},
In this position paper, we would like to offer and defend a template to study equivalences between programs—in the particular framework of process algebras for concurrent computation. We believe that our layered model of development will clarify the distinction that is too often left implicit between the tasks and duties of the programmer and of the tester. It will also enlighten pre-existing issues that have been running across process algebras such as the calculus of communicating systems… 

Figures from this paper

Causal Consistent Replication in Reversible Concurrent Calculi

The system obtained is the first reversible system capable of representing infinite behaviors that enjoys causal consistency, for the simple and purely syntactical notion of reversible concurrency.



Operational methods in semantics

These lecture notes contain a selection of the material taught by the author over several years in courses on the semantics of programming languages, foundations of programming, compilation, and concurrency theory to provide a compact reference for grasping the basic ideas of a rapidly evolving field.

Typing and subtyping for mobile processes

  • B. PierceD. Sangiorgi
  • Computer Science
    [1993] Proceedings Eighth Annual IEEE Symposium on Logic in Computer Science
  • 1993
The authors define the syntax, typing, subtyping, and operational semantics of their calculus, prove that the typing rules are sound, apply the system to Milner's lambda -calculus encodings, and sketch extensions to higher-order process calculi and polymorphic typing.

Higher-order languages : dualities and bisimulation enhancements

This thesis proves that two encodings of the lambda-calculus in the pi-calculi are in fact equivalent, and describes higher-order languages as first-order systems, by proving correct the translations and up-to techniques that are specific to each language.

On the Representation of References in the Pi-Calculus

Proof techniques for barbed equivalence in Aπ are investigated, based on two forms of labelled bisimilarities, which derive both soundness and completeness; for another, more efficient and involving an inductive ‘game’ on reference names, the derive soundness, leaving completeness open.

The Applied Pi Calculus

The applied pi calculus is defined, a simple, general extension of the pi calculus in which values can be formed from names via the application of built-in functions, subject to equations, and be sent as messages.

Evaluating functions as processes

It is shown that an abstract-machine evaluation of a lambda-term in the pi-calculus corresponds to linear weak head reduction, a strategy arising from the representation of lambda-terms as linear logic proof nets, and that the relation between the two is as tight as it can be.

Proofs as Executions

A new interpretation of the logical contents of programs in the context of concurrent interaction, wherein proofs correspond to valid executions of a processes, appears as a way of making explicit the flow of causality between interacting processes.

A Game Semantics of the Asynchronous pi-Calculus

A simple game semantics of this language is described, placing it within a rich hierarchy of games models for programming languages, based on the notion of closed Freyd category, and it is shown that the denotations of processes are equivalent to their sets of traces.

A typed context calculus