Towards Combining Model Checking and Proof Checking

Model checking and automated theorem proving are two pillars of formal verification methods. This paper investigates model checking from an automated theorem proving perspective, aiming at combining the expressiveness of automated theorem proving and the complete automaticity of model checking. It places the focus on the verification of temporal logic properties of Kripke models. The main contributions are: (1) introducing an extended computation tree logic that allows polyadic predicate symbols; (2) designing a proof system for this logic, taking Kripke models as parameters; (3) developing a proof search algorithm for this system and a new automated theorem prover to implement it. The verification process of the new prover is completely automatic, and produces either a counterexample when the property does not hold, or a certificate when it does. The experimental results compare well to existing state-of-the-art tools on some benchmarks, and the efficiency is illustrated by application to an air traffic control problem.

[1]  Gary L. Peterson,et al.  Myths About the Mutual Exclusion Problem , 1981, Inf. Process. Lett..

[2]  Martin Lange,et al.  Cut-free sequent systems for temporal logic , 2008, J. Log. Algebraic Methods Program..

[3]  John C. Reynolds,et al.  The discoveries of continuations , 1993, LISP Symb. Comput..

[4]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[5]  Mark Reynolds,et al.  An axiomatization of full Computation Tree Logic , 2001, Journal of Symbolic Logic.

[6]  John J. Craig,et al.  Introduction to Robotics Mechanics and Control , 1986 .

[7]  Dov M. Gabbay,et al.  A Sound and Complete Deductive System for CTL* Verification , 2008, Log. J. IGPL.

[8]  Christel Baier,et al.  Principles of model checking , 2008 .

[9]  Joseph Y. Halpern,et al.  Decision procedures and expressiveness in the temporal logic of branching time , 1982, STOC '82.

[10]  Ying Jiang,et al.  A Logical Approach to CTL , 2014 .

[11]  Radu Mateescu,et al.  CADP 2011: a toolbox for the construction and analysis of distributed processes , 2012, International Journal on Software Tools for Technology Transfer.

[12]  Peter Sestoft,et al.  Programming Language Concepts , 2012, Undergraduate Topics in Computer Science.

[13]  Victor Carreño,et al.  Abstract Model of the Sats Concept of Operations: Initial Results and Recommendations , 2013 .

[14]  Nachum Dershowitz,et al.  Termination of Rewriting , 1987, J. Symb. Comput..

[15]  Clare Dixon,et al.  Clausal temporal resolution , 1999, TOCL.

[16]  Ofer Strichman,et al.  Bounded model checking , 2003, Adv. Comput..

[17]  R. BurchJ.,et al.  Symbolic model checking , 1992 .

[18]  Edmund M. Clarke,et al.  Using Branching Time Temporal Logic to Synthesize Synchronization Skeletons , 1982, Sci. Comput. Program..

[19]  Melvin Fitting,et al.  First-Order Logic and Automated Theorem Proving , 1990, Graduate Texts in Computer Science.

[20]  Donald W Loveland,et al.  Automated theorem proving: a logical basis , 1978, Fundamental studies in computer science.