Linear Arithmetic Satisfiability via Strategy Improvement

Satisfiability-checking of formulas in the theory of linear rational arithmetic (LRA) has broad applications including program verification and synthesis. Satisfiability Modulo Theories (SMT) solvers are effective at checking satisfiability of the ground fragment of LRA, but applying them to quantified formulas requires a costly quantifier elimination step. This article presents a novel decision procedure for LRA that leverages SMT solvers for the ground fragment of LRA, but avoids explicit quantifier elimination. The intuition behind the algorithm stems from an interpretation of a quantified formula as a game between two players, whose goals are to prove that the formula is either satisfiable or not. The algorithm synthesizes a winning strategy for one of the players by iteratively improving candidate strategies for both. Experimental results demonstrate that the proposed procedure is competitive with existing solvers.

[1]  Mikolás Janota,et al.  Playing with Quantified Satisfaction , 2015, LPAR.

[2]  Mikolás Janota,et al.  Solving QBF with Counterexample Guided Refinement , 2012, SAT.

[3]  Armando Solar-Lezama,et al.  Program synthesis by sketching , 2008 .

[4]  Lintao Zhang,et al.  Solving QBF with combined conjunctive and disjunctive normal form , 2006, AAAI 2006.

[5]  Mikolás Janota,et al.  Solving QBF with Counterexample Guided Refinement , 2012, SAT.

[6]  David Monniaux,et al.  Quantifier Elimination by Lazy Model Enumeration , 2010, CAV.

[7]  Nikolaj Bjørner,et al.  Anatomy of Alternating Quantifier Satisfiability (Work in progress) , 2012, SMT@IJCAR.

[8]  Jaakko Hintikka,et al.  Game-theoretical semantics: insights and prospects , 1982, Notre Dame J. Formal Log..

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

[10]  Jeanne Ferrante,et al.  A Decision Procedure for the First Order Theory of Real Addition with Order , 1975, SIAM J. Comput..

[11]  JOHN F. Young Machine Intelligence , 1971, Nature.

[12]  Volker Weispfenning,et al.  The Complexity of Linear Problems in Fields , 1988, Journal of symbolic computation.

[13]  Silvio Ghilardi,et al.  MCMT: A Model Checker Modulo Theories , 2010, IJCAR.

[14]  Sagar Chaki,et al.  SMT-Based Model Checking for Recursive Programs , 2014, CAV.

[15]  Viktor Kuncak,et al.  Counterexample-Guided Quantifier Instantiation for Synthesis in SMT , 2015, CAV.

[16]  TWO-WEEK Loan COpy,et al.  University of California , 1886, The American journal of dental science.

[17]  Nikolaj Bjørner,et al.  Efficient E-Matching for SMT Solvers , 2007, CADE.

[18]  Rüdiger Loos,et al.  Applying Linear Quantifier Elimination , 1993, Comput. J..

[19]  Cesare Tinelli,et al.  Solving quantified verification conditions using satisfiability modulo theories , 2007, Annals of Mathematics and Artificial Intelligence.

[20]  Stephan Schulz,et al.  System Description: E 1.8 , 2013, LPAR.

[21]  C. Q. Lee,et al.  The Computer Journal , 1958, Nature.

[22]  Solving Exists/Forall Problems With Yices , 2015 .

[23]  Andrei Voronkov,et al.  First-Order Theorem Proving and Vampire , 2013, CAV.

[24]  Sanjit A. Seshia,et al.  Combinatorial sketching for finite programs , 2006, ASPLOS XII.