Skip to main content
    • Aa
    • Aa

Proof-relevant π-calculus: a constructive account of concurrency and causality

  • ROLY PERERA (a1) (a2) and JAMES CHENEY (a2)

We present a formalisation in Agda of the theory of concurrent transitions, residuation and causal equivalence of traces for the π-calculus. Our formalisation employs de Bruijn indices and dependently typed syntax, and aligns the ‘proved transitions’ proposed by Boudol and Castellani in the context of CCS with the proof terms naturally present in Agda's representation of the labelled transition relation. Our main contributions are proofs of the ‘diamond lemma’ for the residuals of concurrent transitions and a formal definition of equivalence of traces up to permutation of transitions.

In the π-calculus, transitions represent propagating binders whenever their actions involve bound names. To accommodate these cases, we require a more general diamond lemma where the target states of equivalent traces are no longer identical, but are related by a braiding that rewires the bound and free names to reflect the particular interleaving of events involving binders. Our approach may be useful for modelling concurrency in other languages where transitions carry meta-data sensitive to particular interleavings, such as dynamically allocated memory addresses.

Linked references
Hide All

This list contains references from the content that can be linked to their source. For a full set of references and notes please see the PDF or HTML where available.

B. Accattoli (2012). Proof pearl: Abella formalization of λ-calculus cube property. In: C. Hawblitzel and D. Miller (eds.) Certified Programs and Proofs, Lecture Notes in Computer Science, vol. 7679, Springer, Berlin, Heidelberg, 173187.

R. Affeldt and N. Kobayashi (2008). A Coq library for verification of concurrent programs. Electronic Notes in Theoretical Computer Science 199 1732.

M. Boreale and D. Sangiorgi (1998). A fully abstract semantics for causality in the π-calculus. Acta Informatica 35 (5) 353400.

G. Boudol and I. Castellani (1989). Permutation of transitions: An event structure semantics for CCS and SCCS. In: J. Bakker , W.-P. Roever and G. Rozenberg (eds.) Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency, Lecture Notes in Computer Science, vol. 354, Springer, 411427.

G. Boudol and I. Castellani (1991). Flow models of distributed computations: Three equivalent semantics for CCS. Information and Computation 114 247312.

A. Bucalo , F. Honsell , M. Miculan , I. Scagnetto and M. Hofmann (2006). Consistency of the theory of contexts. Journal of Functional Programming 16 (3) 327372.

I.D. Cristescu , J. Krivine and D. Varacca (2015). Rigid families for CCS and the π-calculus. In: Theoretical Aspects of Computing - ICTAC 2015: 12th International Colloquium, Cali, Colombia, October 29-31, 2015, Proceedings, Springer International Publishing, 223240.

P. Degano and C. Priami (1999). Non-interleaving semantics for mobile processes. Theoretical Computer Science 216 (1–2) 237270.

C. Fournet and G. Gonthier (2002). The join calculus: A language for distributed mobile programming. In: Applied Semantics: Advanced Lectures, Lecture Notes in Computer Science, vol. 2395/2002, Berlin/Heidelberg: Springer, 268332.

M.J. Gabbay and A.M. Pitts (2002). A new approach to abstract syntax with variable binding. Formal Aspects of Computing 13 341363.

G.P. Huet (1994). Residual theory in λ-calculus: A formal development. Journal of Functional Programming 4 (3) 371394.

R. Milner (1980). A Calculus of Communicating Systems, Lecture Notes in Computer Science, vol. 92, Springer-Verlag.

R. Milner , J. Parrow and D. Walker (1992). A calculus of mobile processes, I and II. Information and Computation 100 (1) 177.

U. Norell (2009). Dependently typed programming in Agda. In: Advanced Functional Programming, Lecture Notes in Computer Science, vol. 5832, Springer 230266.

C. Röckl (2001). A first-order syntax for the pi-calculus in Isabelle/HOL using permutations. Electronic Notes in Theoretical Computer Science 58 (1) 117.

C. Röckl and D. Hirschkoff (2003). A fully adequate shallow embedding of the π-calculus in Isabelle/HOL with mechanized syntax analysis. Journal of Functional Programming 13 (2) 415451.

E.W. Stark (1989). Concurrent transition systems. Theoretical Computer Science, 64 (3) 221269.

C. Urban (2008). Nominal techniques in Isabelle/HOL. Journal of Automated Reasoning 40 (4) 327356.

K. Watkins , I. Cervesato , F. Pfenning and D. Walker (2008). Specifying properties of concurrent computations in CLF. Electronic Notes in Theoretical Computer Science 199 6787.

Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Mathematical Structures in Computer Science
  • ISSN: 0960-1295
  • EISSN: 1469-8072
  • URL: /core/journals/mathematical-structures-in-computer-science
Please enter your name
Please enter a valid email address
Who would you like to send this to? *


Full text views

Total number of HTML views: 0
Total number of PDF views: 12 *
Loading metrics...

Abstract views

Total abstract views: 99 *
Loading metrics...

* Views captured on Cambridge Core between 4th May 2017 - 24th September 2017. This data will be updated every 24 hours.