Incremental Instance Generation in Local Reasoning

Many verification approaches use SMT solvers in some form, and are limited by their incomplete handling of quantified formulas. Local reasoning allows to handle SMT problems involving a certain class of universally quantified formulas in a complete way by instantiation to a finite set of ground formulas. We present a method to generate these instances incrementally, in order to provide a more efficient way of solving these satisfiability problems. The incremental instantiation is guided semantically, inspired by the instance generation approach to first-order theorem proving. Our method is sound and complete, and terminates on both satisfiable and unsatisfiable input after generating a subset of the instances needed in standard local reasoning. Experimental results show that for a large class of examples the incremental approach is substantially more efficient than eager generation of all instances.

[1]  Harald Ganzinger,et al.  New directions in instantiation-based theorem proving , 2003, 18th Annual IEEE Symposium of Logic in Computer Science, 2003. Proceedings..

[2]  Henny B. Sipma,et al.  What's Decidable About Arrays? , 2006, VMCAI.

[3]  Albert Oliveras,et al.  Challenges in Satisfiability Modulo Theories , 2007, RTA.

[4]  David Detlefs,et al.  Simplify: a theorem prover for program checking , 2005, JACM.

[5]  Viorica Sofronie-Stokkermans,et al.  Applications of Hierarchical Reasoning in the Verification of Complex Systems , 2007, Electron. Notes Theor. Comput. Sci..

[6]  Roberto Bruttomesso,et al.  To Ackermann-ize or Not to Ackermann-ize? On Efficiently Handling Uninterpreted Function Symbols in SMT(EUF ÈT) , 2006, LPAR.

[7]  Nikolaj Bjørner,et al.  An SMT Approach to Bounded Reachability Analysis of Model Programs , 2008, FORTE.

[8]  George C. Necula,et al.  Data Structure Specifications via Local Equality Axioms , 2005, CAV.

[9]  Harald Ganzinger,et al.  Theory Instantiation , 2006, LPAR.

[10]  Carsten Ihlemann,et al.  On Local Reasoning in Verification , 2008, TACAS.

[11]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[12]  Harald Ganzinger Relating semantic and proof-theoretic concepts for polynomial time decidability of uniform word problems , 2001, Proceedings 16th Annual IEEE Symposium on Logic in Computer Science.

[13]  Cesare Tinelli,et al.  Solving Quantified Verification Conditions Using Satisfiability Modulo Theories , 2007, CADE.

[14]  Harald Ganzinger,et al.  Integrating Equational Reasoning into Instantiation-Based Theorem Proving , 2004, CSL.

[15]  Viorica Sofronie-Stokkermans,et al.  Hierarchic Reasoning in Local Theory Extensions , 2005, CADE.

[16]  Viorica Sofronie-Stokkermans,et al.  Hierarchical and Modular Reasoning in Complex Theories: The Case of Local Theory Extensions , 2007, FroCoS.

[17]  Robert Givan,et al.  Polynomial-time computation via local inference relations , 2000, TOCL.