Psi-Calculi in Isabelle

This paper presents a mechanisation of psi-calculi, a parametric framework for modelling various dialects of process calculi including (but not limited to) the pi-calculus, the applied pi-calculus, and the spi calculus. psi-calculi are significantly more expressive, yet their semantics is as simple in structure as the semantics of the original pi-calculus. Proofs of meta-theoretic properties for psi-calculi are more involved, however, not least because psi-calculi (unlike simpler calculi) utilise binders that bind multiple names at once. The mechanisation is carried out in the Nominal Isabelle framework, an interactive proof assistant designed to facilitate formal reasoning about calculi with binders. Our main contributions are twofold. First, we have developed techniques that allow efficient reasoning about calculi that bind multiple names in Nominal Isabelle. Second, we have adopted these techniques to mechanise substantial results from the meta-theory of psi-calculi, including congruence properties of bisimilarity and the laws of structural congruence. To our knowledge, this is the most extensive formalisation of process calculi mechanised in a proof assistant to date.

[1]  Philippa Gardner,et al.  Explicit Fusions , 2000, MFCS.

[2]  Sergio Maffeis,et al.  On the Expressive Power of Polyadic Synchronisation in pi-calculus , 2002, EXPRESS.

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

[4]  Robin Milner,et al.  Communicating and mobile systems - the Pi-calculus , 1999 .

[5]  Brian Huffman,et al.  A New Foundation for Nominal Isabelle , 2010, ITP.

[6]  Joachim Parrow,et al.  Formalising the pi-Calculus Using Nominal Logic , 2007, FoSSaCS.

[7]  Robin Milner,et al.  Definition of standard ML , 1990 .

[8]  Björn Victor,et al.  Psi-calculi: Mobile Processes, Nominal Data, and Logic , 2009, 2009 24th Annual IEEE Symposium on Logic In Computer Science.

[9]  Chung-Kil Hur,et al.  The power of parameterization in coinductive proof , 2013, POPL.

[10]  Arthur Charguéraud,et al.  The Locally Nameless Representation , 2012, Journal of Automated Reasoning.

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

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

[13]  Clemens Ballarin Locales and Locale Expressions in Isabelle/Isar , 2003, TYPES.

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

[15]  Peter Beike,et al.  The Definition Of Standard Ml Revised , 2016 .

[16]  Joachim Parrow,et al.  Psi-calculi in Isabelle , 2009, TPHOLs.

[17]  Edsko de Vries,et al.  Locally Nameless Permutation Types , 2017, ArXiv.

[18]  Yves Bertot,et al.  A Short Presentation of Coq , 2008, TPHOLs.

[19]  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 .

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

[21]  David Park,et al.  Concurrency and Automata on Infinite Sequences , 1981, Theoretical Computer Science.

[22]  Björn Victor,et al.  Psi-calculi: a framework for mobile processes with nominal data and logic , 2011, Log. Methods Comput. Sci..

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

[24]  Arthur Charguéraud,et al.  Engineering formal metatheory , 2008, POPL '08.

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

[26]  Ugo Montanari,et al.  Open Bisimulation for the Concurrent Constraint Pi-Calculus , 2008, ESOP.

[27]  Maria Grazia Buscemi,et al.  Programming Languages and Systems, 16th European Symposium on Programming, ESOP 2007, Held as Part of the Joint European Conferences on Theory and Practics of Software, ETAPS 2007, Braga, Portugal, March 24 - April 1, 2007, Proceedings , 2007, European Symposium on Programming.

[28]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[29]  Björn Victor,et al.  Broadcast Psi-calculi with an Application to Wireless Protocols , 2011, SEFM.

[30]  A. Church An Unsolvable Problem of Elementary Number Theory , 1936 .

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

[32]  Jan A. Bergstra,et al.  Process Algebra for Synchronous Communication , 1984, Inf. Control..

[33]  Björn Victor,et al.  Sorted Psi-calculi with Generalised Pattern Matching , 2012 .

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

[35]  AbadiMartín,et al.  Mobile values, new names, and secure communication , 2001 .

[36]  Joachim Parrow,et al.  Higher-order psi-calculi , 2014, Math. Struct. Comput. Sci..

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

[38]  W. O. Berry,et al.  Preface , 1988, Brain Research Bulletin.

[39]  Christian Urban,et al.  Nominal Inversion Principles , 2008, TPHOLs.

[40]  Cezary Kaliszyk,et al.  General Bindings and Alpha-Equivalence in Nominal Isabelle , 2012, Log. Methods Comput. Sci..

[41]  Daniel Hirschko A full formalisation of pi-calculus theory in the Calculus of Constructions , 1997 .

[42]  Martín Abadi,et al.  A Calculus for Cryptographic Protocols: The spi Calculus , 1999, Inf. Comput..

[43]  Temesghen Kahsai,et al.  Implementing Spi Calculus Using Nominal Techniques , 2008, CiE.

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

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

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

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

[48]  Björn Victor,et al.  Extended pi-Calculi , 2008, ICALP.

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

[50]  Michael Norrish,et al.  A Brief Overview of HOL4 , 2008, TPHOLs.

[51]  Henk Barendregt,et al.  The Lambda Calculus: Its Syntax and Semantics , 1985 .

[52]  Tobias Nipkow,et al.  The Isabelle Framework , 2008, TPHOLs.

[53]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[54]  Jesper Bengtson,et al.  Formalising process calculi , 2010 .