Model Checking for pi-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 MediaObjects/InlineFigure1.png, 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 MediaObjects/InlineFigure2.png.

[1]  Dale Miller,et al.  Encoding transition systems in sequent calculus , 2003, Theor. Comput. Sci..

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

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

[4]  Mads Dam,et al.  Model Checking Mobile Processes , 1993, Inf. Comput..

[5]  Robin Milner,et al.  Theories for the Global Ubiquitous Computer , 2004, FoSSaCS.

[6]  Lars-Henrik Eriksson,et al.  Extensions of Logic Programming , 1993, Lecture Notes in Computer Science.

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

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

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

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

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

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

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

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

[15]  Mads Dam Proof Systems for π-Calculus Logics , 2003, Logic for Concurrency and Synchronisation.

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

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

[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]  Marco Pistore,et al.  A model-checking verification environment for mobile processes , 2003, TSEM.

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

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

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

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

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

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

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

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

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

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