A CDCL-style calculus for solving non-linear constraints

In this paper we propose a novel approach for checking satisfiability of non-linear constraints over the reals, called ksmt. The procedure is based on conflict resolution in CDCL style calculus, using a composition of symbolical and numerical methods. To deal with the non-linear components in case of conflicts we use numerically constructed restricted linearisations. This approach covers a large number of computable non-linear real functions such as polynomials, rational or trigonometrical functions and beyond. A prototypical implementation has been evaluated on several non-linear SMT-LIB examples and the results have been compared with state-of-the-art SMT solvers.

[1]  Ivan Niven Irrational Numbers: THE GENERALIZED LINDEMANN THEOREM , 1956 .

[2]  Nestan Tsiskaridze,et al.  Conflict Resolution , 2009, CP.

[3]  Martin Fränzle,et al.  Efficient Solving of Large Non-linear Arithmetic Constraint Systems with Complex Boolean Structure , 2007, J. Satisf. Boolean Model. Comput..

[4]  Alberto Griggio,et al.  Incremental Linearization for Satisfiability and Verification Modulo Nonlinear Arithmetic and Transcendental Functions , 2018, ACM Trans. Comput. Log..

[5]  Cesare Tinelli,et al.  Solving SAT and SAT Modulo Theories: From an abstract Davis--Putnam--Logemann--Loveland procedure to DPLL(T) , 2006, JACM.

[6]  Leonardo Mendonça de Moura,et al.  A Model-Constructing Satisfiability Calculus , 2013, VMCAI.

[7]  Bruno Buchberger,et al.  A theoretical basis for the reduction of polynomials to canonical forms , 1976, SIGS.

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

[9]  Leonardo Mendonça de Moura,et al.  Solving non-linear arithmetic , 2012, ACCA.

[10]  J. P. Marques,et al.  GRASP : A Search Algorithm for Propositional Satisfiability , 1999 .

[11]  Milan Hladík,et al.  Efficient Solution of a Class of Quantified Constraints with Quantifier Prefix Exists-Forall , 2014, Math. Comput. Sci..

[12]  Yao Sun,et al.  A new algorithm for computing comprehensive Gröbner systems , 2010, ISSAC.

[13]  Thomas Sturm,et al.  REDLOG: computer algebra meets computer logic , 1997, SIGS.

[14]  Norbert Th. Müller,et al.  The iRRAM: Exact Arithmetic in C++ , 2000, CCA.

[15]  Andrei Voronkov,et al.  Implementing Conflict Resolution , 2011, Ershov Memorial Conference.

[16]  Cesare Tinelli,et al.  Designing Theory Solvers with Extensions , 2017, FroCoS.

[17]  Mizuhito Ogawa,et al.  Wrapping Computer Algebra is Surprisingly Successful for Non-Linear SMT , 2018, SC-Square@FLOC.

[18]  Daniel Richardson,et al.  Some undecidable problems involving elementary functions of a real variable , 1969, Journal of Symbolic Logic.

[19]  Kenneth L. McMillan,et al.  Generalizing DPLL to Richer Logics , 2009, CAV.

[20]  Klaus Weihrauch,et al.  Computable Analysis: An Introduction , 2014, Texts in Theoretical Computer Science. An EATCS Series.

[21]  Edmund M. Clarke,et al.  δ-Complete Decision Procedures for Satisfiability over the Reals , 2012, IJCAR.

[22]  David Monniaux,et al.  Polyhedral Approximation of Multivariate Polynomials Using Handelman's Theorem , 2016, VMCAI.

[23]  G. Sacks A DECISION METHOD FOR ELEMENTARY ALGEBRA AND GEOMETRY , 2003 .

[24]  Klaus Weihrauch,et al.  A Tutorial on Computable Analysis , 2008 .

[25]  Thomas Sturm,et al.  Towards Conflict-Driven Learning for Virtual Substitution , 2014, SMT.

[26]  Nikolaj Bjørner,et al.  AVATAR Modulo Theories , 2016, GCAI.

[27]  Frédéric Benhamou,et al.  Continuous and Interval Constraints , 2006, Handbook of Constraint Programming.

[28]  George E. Collins,et al.  Quantifier elimination for real closed fields by cylindrical algebraic decomposition , 1975 .

[29]  V. Lefèvre,et al.  Moyens arithmetiques pour un calcul fiable , 2000 .

[30]  Lawrence C. Paulson,et al.  Real Algebraic Strategies for MetiTarski Proofs , 2012, AISC/MKM/Calculemus.

[31]  Andrei Voronkov,et al.  Solving Systems of Linear Inequalities by Bound Propagation , 2011, CADE.

[32]  Andrei Voronkov,et al.  Bound Propagation for Arithmetic Reasoning in Vampire , 2013, 2013 15th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing.