Proof systems for π-calculus logics

  • Authors:
  • Mads Dam

  • Affiliations:
  • Dept. of Teleinformatics, Royal Institute of Technology, Sweden

  • Venue:
  • Logic for concurrency and synchronisation
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

We study the problem of verifying general temporal and functional properties of mobile and dynamic process networks, cast in terms of the π-calculus. Much of the expressive power of this calculus derives from the combination of name generation and communication (to handle mobility) with dynamic process creation. In the paper we introduce the π-µ-calculus, an extension of the modal mu-calculus with name equality, inequality, first-order universal and existential quantification, and primitives for name input and output as an appropriate temporal logic for the π-calculus. A compositional proof system is given with the scope of verifying dynamic networks of π-calculus agents against properties specified in this logic. The proof system consists of a local part based, roughly, on the classical sequent calculus extended with data structures for private names, and rules to support process structure dependent reasoning. In addition the proof system contains a rule of discharge to close well-founded cycles in the proof graph. The proof system is shown to be sound in general and weakly complete for the non-recursive fragment of the specification logic. We also obtain a weak completeness result for recursive formulas against finite-control calculus processes. Two examples are considered. The first example is based on Milner's encoding of data types into the π-calculus, specifically the natural numbers. This encoding is interesting from the point of view of verification, since it makes essential use of all the distinguishing features of the π-calculus, including dynamic process creation. Corresponding to the encoding of natural numbers into the π-calculus we propose an encoding of the type of natural numbers into the π-µ-calculus and establish some type correctness properties. As the second example we consider a garbage-collecting unbounded buffer (which dynamically create and destroy buffer cells) and show how to establish absence of spurious output of such a system.