Formalising the pi-calculus using nominal logic
Jesper Bengtson, Joachim Parrow

TL;DR
This paper formalises the pi-calculus within Isabelle/HOL using nominal logic, enabling machine-checked proofs of key theorems with reduced complexity in handling bound names and alpha-equivalence.
Contribution
It introduces a comprehensive formalisation of the pi-calculus in a theorem prover using nominal logic, simplifying proofs and covering standard bisimulation theorems uniformly.
Findings
Successfully formalised standard bisimulation theorems
Reduced complexity in handling bound names and alpha-equivalence
Enabled machine-checked proofs of process calculus properties
Abstract
We formalise the pi-calculus using the nominal datatype 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 uniform 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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
