Formalising the pi-Calculus Using Nominal Logic

We formalise the pi-calculus using the nominal datatype package, a package based on ideas from the nominal logic by Pitts et al., and demonstrate an implementation in Isabelle/HOL. The purpose is to derive powerful induction rules for the semantics in order to conduct machine checkable proofs, closely following the intuitive arguments found in manual proofs. In this way we have covered many of the standard theorems of bisimulation equivalence and congruence, both late and early, and both strong and weak in a unison manner. We thus provide one of the most extensive formalisations of a process calculus ever done inside a theorem prover. A significant gain in our formulation is that agents are identified up to alpha-equivalence, thereby greatly reducing the arguments about bound names. This is a normal strategy for manual proofs about the pi-calculus, but that kind of hand waving has previously been difficult to incorporate smoothly in an interactive theorem prover. We show how the nominal logic formalism and its support in Isabelle accomplishes this and thus significantly reduces the tedium of conducting completely formal proofs. This improves on previous work using weak higher order abstract syntax since we do not need extra assumptions to filter out exotic terms and can keep all arguments within a familiar first-order logic.

[1]  Martín Abadi,et al.  Mobile values, new names, and secure communication , 2001, POPL '01.

[2]  Robin Milner,et al.  Functions as processes , 1990, Mathematical Structures in Computer Science.

[3]  Lawrence Charles Paulson,et al.  Isabelle/HOL: A Proof Assistant for Higher-Order Logic , 2002 .

[4]  Otmane Aït Mohamed Mechanizing a pi-Calculus Equivalence in HOL , 1995, TPHOLs.

[5]  Joachim Parrow,et al.  An introduction to the pi-calculus , 2001 .

[6]  Natarajan Shankar,et al.  Metamathematics, machines, and Gödels's proof , 1994, Cambridge tracts in theoretical computer science.

[7]  Daniel Hirschkoff,et al.  A fully adequate shallow embedding of the π-calculus in Isabelle/HOL with mechanized syntax analysis , 2003, Journal of Functional Programming.

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

[9]  Christian Urban,et al.  A Recursion Combinator for Nominal Datatypes Implemented in Isabelle/HOL , 2006, IJCAR.

[10]  Christian Urban Nominal Techniques in Isabelle/HOL , 2008, Journal of Automated Reasoning.

[11]  Joachim Parrow,et al.  An Introduction to the π-Calculus , 2001, Handbook of Process Algebra.

[12]  Furio Honsell,et al.  pi-calculus in (Co)inductive-type theory , 2001, Theor. Comput. Sci..

[13]  Christian Urban,et al.  Nominal unification , 2004, Theor. Comput. Sci..

[14]  Joachim Parrow,et al.  A Completeness Proof for Bisimulation in the pi-calculus Using Isabelle , 2007, SOS@LICS/ICALP.

[15]  Markus Wenzel,et al.  Isar - A Generic Interpretative Approach to Readable Formal Proof Documents , 1999, TPHOLs.

[16]  Natarajan Shankar,et al.  PVS: A Prototype Verification System , 1992, CADE.

[17]  Bruno Blanchet,et al.  An efficient cryptographic protocol verifier based on prolog rules , 2001, Proceedings. 14th IEEE Computer Security Foundations Workshop, 2001..

[18]  Tobias Nipkow,et al.  The 5 Colour Theorem in Isabelle/Isar , 2002, TPHOLs.

[19]  Christian Urban,et al.  Nominal Techniques in Isabelle/HOL , 2005, Journal of Automated Reasoning.

[20]  Luca Cardelli,et al.  Mobile Ambients , 1998, FoSSaCS.

[21]  Daniel Hirschkoff A Full Formalisation of pi-Calculus Theory in the Calculus of Constructions , 1997, TPHOLs.

[22]  Michael Norrish,et al.  Barendregt's Variable Convention in Rule Inductions , 2007, CADE.

[23]  Andrew M. Pitts,et al.  A First Order Theory of Names and Binding , 2001 .

[24]  Andrew M. Pitts,et al.  Alpha-structural recursion and induction , 2005, JACM.

[25]  Andrew D. Gordon,et al.  Verified Interoperable Implementations of Security Protocols , 2006, CSFW.

[26]  M. Gordon,et al.  Introduction to HOL: a theorem proving environment for higher order logic , 1993 .

[27]  Georges Gonthier A computer-checked proof of the Four Colour Theorem , 2005 .

[28]  Tobias Nipkow,et al.  Flyspeck I: Tame Graphs , 2006, IJCAR.

[29]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[30]  Benjamin C. Pierce,et al.  Mechanized Metatheory for the Masses: The PoplMark Challenge , 2005, TPHOLs.

[31]  Gérard Boudol The π-calculus in direct style , 1997, POPL '97.

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

[33]  Davide Sangiorgi,et al.  The Pi-Calculus - a theory of mobile processes , 2001 .

[34]  Martín Abadi,et al.  A calculus for cryptographic protocols: the spi calculus , 1997, CCS '97.

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

[36]  Andrew M. Pitts,et al.  A New Approach to Abstract Syntax with Variable Binding , 2002, Formal Aspects of Computing.

[37]  Murdoch J. Gabbay The π-Calculus in FM , 2003 .

[38]  Björn Victor,et al.  The fusion calculus: expressiveness and symmetry in mobile processes , 1998, Proceedings. Thirteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.98CB36226).

[39]  Michael Norrish,et al.  A formal treatment of the barendregt variable convention in rule inductions , 2005, MERLIN '05.

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

[41]  Faron Moller,et al.  The Mobility Workbench - A Tool for the pi-Calculus , 1994, CAV.