A Collaborative Framework for Non-Linear Integer Arithmetic Reasoning in Alt-Ergo

In this paper, we describe a collaborative framework for reasoning modulo simple properties of non-linear integer arithmetic. This framework relies on the AC(X) combination method and on interval calculus. The first component is used to handle equalities of linear integer arithmetic and associativity and commutativity properties of non-linear multiplication. The interval calculus component is used - in addition to standard linear operations over inequalities - to refine bounds of non-linear terms and to inform the SAT solver about judicious case-splits on bounded intervals. The framework has been implemented in the Alt-Ergo theorem prover. We show its effectiveness on a set of formulas generated from deductive program verification.

[1]  François Bobot,et al.  Why3: Shepherd Your Herd of Provers , 2011 .

[2]  M. H. van Emden,et al.  Interval arithmetic: From principles to implementation , 2001, JACM.

[3]  Sylvain Conchon,et al.  Canonized Rewriting and Ground AC Completion Modulo Shostak Theories : Design and Implementation , 2011, Log. Methods Comput. Sci..

[4]  Claude Marché,et al.  Mechanically Proving Termination Using Polynomial Interpretations , 2005, Journal of Automated Reasoning.

[5]  Karem A. Sakallah,et al.  Automatic abstraction and verification of verilog models , 2004, Proceedings. 41st Design Automation Conference, 2004..

[6]  D. Babic,et al.  Modular Arithmetic Decision Procedure , 2005 .

[7]  Cesare Tinelli,et al.  Abstract DPLL and Abstract DPLL Modulo Theories , 2005, LPAR.

[8]  Ganesh Gopalakrishnan,et al.  Proceedings of the 23rd international conference on Computer aided verification , 2011 .

[9]  Bor-Yuh Evan Chang,et al.  Boogie: A Modular Reusable Verifier for Object-Oriented Programs , 2005, FMCO.

[10]  George E. Collins,et al.  Quantifier Elimination for Real Closed Fields by Cylindrical Algebraic Decomposition: a synopsis , 1976, SIGS.

[11]  Grant Olney Passmore,et al.  Combined decision procedures for nonlinear arithmetics, real and complex , 2011 .

[12]  A. Tarski A Decision Method for Elementary Algebra and Geometry , 2023 .

[13]  L. D. Moura,et al.  The YICES SMT Solver , 2006 .

[14]  Nigel P. Smart,et al.  The algorithmic resolution of diophantine equations - a computational cookbook , 1999, London Mathematical Society student texts.

[15]  Edmond Schonberg,et al.  Hi-Lite: the convergence of compiler technology and program verification , 2012, HILT.

[16]  Daniel Kroening,et al.  Decision Procedures - An Algorithmic Point of View , 2008, Texts in Theoretical Computer Science. An EATCS Series.

[17]  Jean-Marie Hullot,et al.  Associative Commutative Pattern Matching , 1979, IJCAI.

[18]  Christopher W. Brown QEPCAD B: a program for computing with semi-algebraic sets using CADs , 2003, SIGS.

[19]  J. M. Hvllot Associative commutative pattern matching , 1979, IJCAI 1979.

[20]  Claude Marché,et al.  Normalized Rewriting: An Alternative to Rewriting Modulo a Set of Equations , 1996, J. Symb. Comput..

[21]  Anna Philippou,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2018, Lecture Notes in Computer Science.

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

[23]  Marco Bozzano,et al.  Encoding RTL Constructs for MathSAT: a Preliminary Report , 2006, Electron. Notes Theor. Comput. Sci..

[24]  François Bobot,et al.  A Simplex-Based Extension of Fourier-Motzkin for Solving Linear Integer Arithmetic , 2012, IJCAR.

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

[26]  Sanjit A. Seshia,et al.  A hybrid SAT-based decision procedure for separation logic with uninterpreted functions , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[27]  Sylvain Conchon,et al.  Canonization for disjoint unions of theories , 2005, Inf. Comput..

[28]  Clark W. Barrett,et al.  The SMT-LIB Standard Version 2.0 , 2010 .

[29]  V. Weispfenning A New Approach to Quantifier Elimination for Real Algebra , 1998 .

[30]  Amit Goel,et al.  Architecting Solvers for SAT Modulo Theories: Nelson-Oppen with DPLL , 2007, FroCoS.

[31]  K. Gödel Über formal unentscheidbare Sätze der Principia Mathematica und verwandter Systeme I , 1931 .

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

[33]  Malay K. Ganai Efficient Decision Procedure for Bounded Integer Non-linear Operations Using SMT() , 2009, Haifa Verification Conference.

[34]  Deepak Kapur,et al.  Using Gröbner Bases to Reason About Geometry Problems , 1986, J. Symb. Comput..

[35]  Cesare Tinelli,et al.  The SMT-LIB Standard: Version 1.2 , 2005 .

[36]  Nikolaj Bjørner,et al.  Model-based Theory Combination , 2008, SMT@CAV.

[37]  Ju. V. Matijasevic,et al.  ENUMERABLE SETS ARE DIOPHANTINE , 2003 .

[38]  Evelyne Contejean A Certified AC Matching Algorithm , 2004, RTA.