Model Checking for π-Calculus Using Proof Search

Model checking for transition systems specified in π-calculus has been a difficult problem due to the infinite-branching nature of input prefix, name-restriction and scope extrusion. We propose here an approach to model checking for π-calculus by encoding it into a logic which supports reasoning about bindings and fixed points. This logic, called FOλ∆∇, is a conservative extension of Church’s Simple Theory of Types with a “generic” quantifier. By encoding judgments about transitions in pi-calculus into this logic, various conditions on the scoping of names and restrictions on name instantiations are captured naturally by the quantification theory of the logic. Moreover, standard implementation techniques for (higher-order) logic programming are applicable for implementing proof search for this logic, as illustrated in a prototype implementation discussed in this paper. The use of logic variables and eigenvariables in the implementation allows for exploring the state space of processes in a symbolic way. Compositionality of properties of the transitions is a simple consequence of the meta theory of the logic (i.e., cut elimination). We illustrate the benefits of specifying systems in this logic by studying several specifications of modal logics for pi-calculus. These specifications are also executable directly in the prototype implementation of FOλ∆∇.

[1]  Gérard P. Huet,et al.  A Unification Algorithm for Typed lambda-Calculus , 1975, Theor. Comput. Sci..

[2]  Dale Miller,et al.  A Logic Programming Language with Lambda-Abstraction, Function Variables, and Simple Unification , 1991, J. Log. Comput..

[3]  R. Milner,et al.  Modal Logics for Mobile Processes , 1991, Theor. Comput. Sci..

[4]  Lars-Henrik Eriksson A Finitary Version of the Calculus of Partial Inductive Defintions , 1991, ELP.

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

[6]  Dale Miller,et al.  Unification Under a Mixed Prefix , 1992, J. Symb. Comput..

[7]  ROBIN MILNER,et al.  Edinburgh Research Explorer A Calculus of Mobile Processes, I , 2003 .

[8]  T. Nipkom Functional unification of higher-order patterns , 1993, LICS 1993.

[9]  Peter Schroeder-Heister,et al.  Rules of definitional reflection , 1993, [1993] Proceedings Eighth Annual IEEE Symposium on Logic in Computer Science.

[10]  Mads Dam Model Checking Mobile Processes , 1993, CONCUR.

[11]  Robert F. Stärk Cut-Property and Negation as Failure , 1994, Int. J. Found. Comput. Sci..

[12]  Catuscia Palamidessi,et al.  Encoding Transition Systems in Sequent Calculus , 2003, Linear Logic Tokyo Meeting.

[13]  C. R. Ramakrishnan,et al.  Efficient Model Checking Using Tabled Resolution , 1997, CAV.

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

[15]  Dale Miller,et al.  Foundational aspects of syntax , 1999, CSUR.

[16]  Dale Miller,et al.  Cut-elimination for a logic with definitions and induction , 2000, Theor. Comput. Sci..

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

[18]  Mads Dam,et al.  Proof systems for pi-calculus logics , 2002 .

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

[20]  C. R. Ramakrishnan,et al.  A logical encoding of the π-calculus: model checking mobile processes using tabled resolution , 2002, International Journal on Software Tools for Technology Transfer.

[21]  Frank Pfenning,et al.  Tabled higher-order logic programming , 2003 .

[22]  Dale Miller,et al.  A proof theory for generic judgments: an extended abstract , 2003, 18th Annual IEEE Symposium of Logic in Computer Science, 2003. Proceedings..

[23]  Marco Pistore,et al.  A model-checking verification environment for mobile processes , 2003, TSEM.

[24]  Dale Miller,et al.  A Proof Search Specification of the pi-Calculus , 2005, FGUC.

[25]  J. Hannan,et al.  A logical framework for reasoning about logical specifications , 2004 .

[26]  Alwen Tiu Level 0/1 Prover: A Tutorial , 2004 .

[27]  Luís Caires Behavioral and Spatial Observations in a Logic for the pi-Calculus , 2004, FoSSaCS.