A Generic Cyclic Theorem Prover

We describe the design and implementation of an automated theorem prover realising a fully general notion of cyclic proof. Our tool, called \(\textsc{Cyclist}\), is able to construct proofs obeying a very general cycle scheme in which leaves may be linked to any other matching node in the proof, and to verify the general, global infinitary condition on such proof objects ensuring their soundness. \(\textsc{Cyclist}\) is based on a new, generic theory of cyclic proofs that can be instantiated to a wide variety of logics. We have developed three such concrete instantiations, based on: (a) first-order logic with inductive definitions; (b) entailments of pure separation logic; and (c) Hoare-style termination proofs for pointer programs. Experiments run on these instantiations indicate that \(\textsc{Cyclist}\) offers significant potential as a future platform for inductive theorem proving.

[1]  David Walker,et al.  Local Model Checking in the Modal mu-Calculus , 1991, Theor. Comput. Sci..

[2]  S. Anderson,et al.  Secure Synthesis of Code: A Process Improvement Experiment , 1999, World Congress on Formal Methods.

[3]  Jean-Michel Couvreur,et al.  On-the-Fly Verification of Linear Temporal Logic , 1999, World Congress on Formal Methods.

[4]  Roy Dyckhoff Automated Reasoning with Analytic Tableaux and Related Methods , 2000, Lecture Notes in Computer Science.

[5]  Neil D. Jones,et al.  The size-change principle for program termination , 2001, POPL '01.

[6]  Alan Bundy,et al.  The Automation of Proof by Mathematical Induction , 1999, Handbook of Automated Reasoning.

[7]  Ulrich Schöpp,et al.  Verifying Temporal Properties Using Explicit Approximants: Completeness for Context-free Processes , 2002, FoSSaCS.

[8]  Mads Dam,et al.  On the Structure of Inductive Reasoning: Circular and Tree-Shaped Proofs in the µ-Calculus , 2003, FoSSaCS.

[9]  Claus-Peter Wirth,et al.  How to Prove Inductive Theorems? QUODLIBET! , 2003, CADE.

[10]  Jacques D. Fleuriot,et al.  IsaPlanner: A Prototype Proof Planner in Isabelle , 2003, CADE.

[11]  Mads Dam,et al.  On global induction mechanisms in a µ-calculus with explicit approximations , 2003, RAIRO Theor. Informatics Appl..

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

[13]  Denis Poitrenaud,et al.  SPOT: an extensible model checking library using transition-based generalized Bu/spl uml/chi automata , 2004, The IEEE Computer Society's 12th Annual International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunications Systems, 2004. (MASCOTS 2004). Proceedings..

[14]  Claus-Peter Wirth,et al.  Descente Infinie + Deduction , 2004, Log. J. IGPL.

[15]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[16]  Ian Stark,et al.  Free-Algebra Models for the pi-Calculus , 2005, FoSSaCS.

[17]  James Brotherston,et al.  Cyclic Proofs for First-Order Logic with Inductive Definitions , 2005, TABLEAUX.

[18]  J. Brotherston Sequent calculus proof systems for inductive definitions , 2006 .

[19]  Peter W. O'Hearn,et al.  Automatic Termination Proofs for Programs with Shape-Shifting Heaps , 2006, CAV.

[20]  Orna Kupferman,et al.  Büchi Complementation Made Tighter , 2006, Int. J. Found. Comput. Sci..

[21]  James Brotherston Formalised Inductive Reasoning in the Logic of Bunched Implications , 2007, SAS.

[22]  James Brotherston,et al.  Cyclic proofs of program termination in separation logic , 2008, POPL '08.

[23]  Wei-Ngan Chin,et al.  Enhancing Program Verification with Lemmas , 2008, CAV.

[24]  Moshe Y. Vardi,et al.  Büchi Complementation and Size-Change Termination , 2009, TACAS.

[25]  Alan Bundy,et al.  Conjecture Synthesis for Inductive Theories , 2011, Journal of Automated Reasoning.

[26]  Panagiotis Manolios,et al.  Computer-Aided Reasoning: An Approach , 2011 .

[27]  James Brotherston,et al.  Automated Cyclic Entailment Proofs in Separation Logic , 2011, CADE.

[28]  Mohamed Nassim Seghir,et al.  A Lightweight Approach for Loop Summarization , 2011, ATVA.

[29]  James Brotherston,et al.  Sequent calculi for induction and infinite descent , 2011, J. Log. Comput..

[30]  Nikolaj Bjørner,et al.  Automated Deduction - CADE-23 - 23rd International Conference on Automated Deduction, Wroclaw, Poland, July 31 - August 5, 2011. Proceedings , 2011, CADE.