A Full Formalisation of pi-Calculus Theory in the Calculus of Constructions

A formalisation of π-calculus in the Coq system is presented. Based on a de Bruijn notation for names, our implementation exploits the mechanisation of some proof techniques described by Sangiorgi in [San95b] to derive several results of classical π-calculus theory, including congruence, structural equivalence and the replication theorems. As the proofs are described, insight is given to the main implementational issues that arise in our study, without entering too much the technical details. Possible extensions of this work include the full verification for the “functions as processes” paradigm, as well as the design of a system to check bisimilarities for processes.

[1]  S. Abramsky The lazy lambda calculus , 1990 .

[2]  Andrew D. Gordon,et al.  Five Axioms of Alpha-Conversion , 1996, TPHOLs.

[3]  Robin Milner,et al.  The Polyadic π-Calculus: a Tutorial , 1993 .

[4]  Benjamin C. Pierce,et al.  Decoding Choice Encodings , 1996, Inf. Comput..

[5]  Davide Sangiorgi,et al.  On the bisimulation proof method , 1998, Mathematical Structures in Computer Science.

[6]  Dale Miller The pi-Calculus as a Theory in Linear Logic: Preliminary Results , 1992, ELP.

[7]  Samuel Boutin Using Reeection to Build Eecient and Certiied Decision Procedures , 1997 .

[8]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[9]  Davide Sangiorgi,et al.  On Bisimulations for the Asynchronous pi-Calculus , 1996, Theor. Comput. Sci..

[10]  Hugo Herbelin,et al.  The Coq proof assistant : reference manual, version 6.1 , 1997 .

[11]  Gilles Kahn,et al.  Proof by Pointing , 1994, TACS.

[12]  James McKinna,et al.  Pure Type Systems Formalized , 1993, TLCA.

[13]  Alley Stoughton,et al.  Substitution Revisited , 1988, Theor. Comput. Sci..

[14]  T. Melham A mechanized theory of the π-calculus in HOL , 1992 .

[15]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[16]  Gérard Huet,et al.  Residual theory in λ-calculus: a formal development , 1994, Journal of Functional Programming.

[17]  Yves Bertot,et al.  User Guide to the CTCOQ Proof Environment , 1997 .

[18]  Thomas F. Melham A Mechanized Theory of the Pi-Calculus in HOL , 1994, Nord. J. Comput..

[19]  Eduardo Giménez,et al.  Un calcul de constructions infinies et son application a la verification de systemes communicants , 1996 .

[20]  Daniel Hirschkoff Up to Context Proofs for the -calculus in the Coq System up to Context Proofs for the -calculus in the Coq System , .

[21]  Samuel Boutin,et al.  Using Reflection to Build Efficient and Certified Decision Procedures , 1997, TACS.

[22]  Benjamin Werner,et al.  Une Théorie des Constructions Inductives , 1994 .

[23]  de Ng Dick Bruijn Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem , 1972 .

[24]  de Ng Dick Bruijn,et al.  Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem , 1972 .