Incremental Linearization for Satisfiability and Verification Modulo Nonlinear Arithmetic and Transcendental Functions

Satisfiability Modulo Theories (SMT) is the problem of deciding the satisfiability of a first-order formula with respect to some theory or combination of theories; Verification Modulo Theories (VMT) is the problem of analyzing the reachability for transition systems represented in terms of SMT formulae. In this article, we tackle the problems of SMT and VMT over the theories of nonlinear arithmetic over the reals (NRA) and of NRA augmented with transcendental (exponential and trigonometric) functions (NTA). We propose a new abstraction-refinement approach for SMT and VMT on NRA or NTA, called Incremental Linearization. The idea is to abstract nonlinear multiplication and transcendental functions as uninterpreted functions in an abstract space limited to linear arithmetic on the rationals with uninterpreted functions. The uninterpreted functions are incrementally axiomatized by means of upper- and lower-bounding piecewise-linear constraints. In the case of transcendental functions, particular care is required to ensure the soundness of the abstraction. The method has been implemented in the MathSAT SMT solver and in the nuXmv model checker. An extensive experimental evaluation on a wide set of benchmarks from verification and mathematics demonstrates the generality and the effectiveness of our approach.

[1]  Stefano Tonetta,et al.  Abstract Model Checking without Computing the Abstraction , 2009, FM.

[2]  Mahesh Viswanathan,et al.  HARE: A Hybrid Abstraction Refinement Engine for Verifying Non-linear Hybrid Automata , 2017, TACAS.

[3]  Volker Weispfenning,et al.  Quantifier Elimination for Real Algebra — the Quadratic Case and Beyond , 1997, Applicable Algebra in Engineering, Communication and Computing.

[4]  Alberto Griggio,et al.  A Simple and Flexible Way of Computing Small Unsatisfiable Cores in SAT Modulo Theories , 2007, SAT.

[5]  Bruno Dutertre,et al.  Yices 2.2 , 2014, CAV.

[6]  Kenneth L. McMillan,et al.  Interpolation and SAT-Based Model Checking , 2003, CAV.

[7]  Marco Roveri,et al.  The nuXmv Symbolic Model Checker , 2014, CAV.

[8]  Aaron R. Bradley,et al.  SAT-Based Model Checking without Unrolling , 2011, VMCAI.

[9]  Ivan Niven,et al.  Numbers: rational and irrational , 1961 .

[10]  Bernd Becker,et al.  Craig Interpolation in the Presence of Non-linear Constraints , 2011, FORMATS.

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

[12]  Alessandro Cimatti,et al.  A quantifier-free SMT encoding of non-linear hybrid automata , 2012, 2012 Formal Methods in Computer-Aided Design (FMCAD).

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

[14]  Alberto Griggio,et al.  Infinite-state invariant checking with IC3 and predicate abstraction , 2016, Formal Methods Syst. Des..

[15]  Ted K. Ralphs,et al.  Integer and Combinatorial Optimization , 2013 .

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

[17]  Christoph Weidenbach,et al.  Superposition Modulo Non-linear Arithmetic , 2011, FroCoS.

[18]  Nikolaj Bjørner,et al.  Generalized Property Directed Reachability , 2012, SAT.

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

[20]  Frédéric Benhamou,et al.  Algorithm 852: RealPaver: an interval solver using constraint satisfaction techniques , 2006, TOMS.

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

[22]  George E. Collins,et al.  Quantifier elimination for real closed fields by cylindrical algebraic decomposition--preliminary report , 1974, SIGS.

[23]  Sergiy Bogomolov,et al.  HYST: a source transformation and translation tool for hybrid automaton models , 2015, HSCC.

[24]  Erik Massop Hilbert's tenth problem , 2012 .

[25]  Pascal Fontaine,et al.  veriT: An Open, Trustable and Efficient SMT-Solver , 2009, CADE.

[26]  Mary Sheeran,et al.  Checking Safety Properties Using Induction and a SAT-Solver , 2000, FMCAD.

[27]  Marco Roveri,et al.  Satisfiability Modulo Transcendental Functions via Incremental Linearization , 2017, CADE.

[28]  Ashish Tiwari,et al.  Time-Aware Abstractions in HybridSal , 2015, CAV.

[29]  Georg Weissenbacher,et al.  Counterexample to Induction-Guided Abstraction-Refinement (CTIGAR) , 2014, CAV.

[30]  Christoph Weidenbach,et al.  SPASS Version 3.5 , 2009, CADE.

[31]  Bernd Becker,et al.  Advancing Software Model Checking Beyond Linear Arithmetic Theories , 2016, Haifa Verification Conference.

[32]  Alberto Griggio,et al.  The MathSAT5 SMT Solver , 2013, TACAS.

[33]  J. H. PEARCE,et al.  Functions of a Complex Variable , 1947, Nature.

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

[35]  Alberto Griggio,et al.  HyComp: An SMT-Based Model Checker for Hybrid Systems , 2015, TACAS.

[36]  R. M. Hueschen,et al.  Development of the Transport Class Model (TCM) Aircraft Simulation From a Sub-Scale Generic Transport Model (GTM) Simulation , 2011 .

[37]  Karin Baier,et al.  Pi A Source Book , 2016 .

[38]  Victor Magron,et al.  Certification of inequalities involving transcendental functions: Combining SDP and max-plus approximation , 2013, 2013 European Control Conference (ECC).

[39]  Cesare Tinelli,et al.  Satisfiability Modulo Theories , 2021, Handbook of Satisfiability.

[40]  Edmund M. Clarke,et al.  dReal: An SMT Solver for Nonlinear Theories over the Reals , 2013, CADE.

[41]  Niklas Sörensson,et al.  Temporal induction by incremental SAT solving , 2003, BMC@CAV.

[42]  Laurence A. Wolsey,et al.  Integer and Combinatorial Optimization , 1988, Wiley interscience series in discrete mathematics and optimization.

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

[44]  Victor Magron,et al.  NLCertify: A Tool for Formal Nonlinear Optimization , 2014, ICMS.

[45]  Alberto Griggio,et al.  Computing Small Unsatisfiable Cores in Satisfiability Modulo Theories , 2014, J. Artif. Intell. Res..

[46]  Alessandro Cimatti,et al.  From Electrical Switched Networks to Hybrid Automata , 2016, FM.

[47]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.

[48]  Cesare Tinelli,et al.  CoCoSpec: A Mode-Aware Contract Language for Reactive Systems , 2016, SEFM.

[49]  Lawrence C. Paulson,et al.  MetiTarski: An Automatic Theorem Prover for Real-Valued Special Functions , 2010, Journal of Automated Reasoning.

[50]  Harald Ruess,et al.  Bounded Model Checking and Induction: From Refutation to Verification (Extended Abstract, Category A) , 2003, CAV.

[51]  Alberto L. Sangiovanni-Vincentelli,et al.  CalCS: SMT solving for non-linear convex constraints , 2010, Formal Methods in Computer Aided Design.

[52]  Sebastian Junges,et al.  SMT-RAT: An Open Source C++ Toolbox for Strategic and Parallel SMT Solving , 2015, SAT.

[53]  Sagar Chaki,et al.  SMT-based model checking for recursive programs , 2014, Formal Methods in System Design.

[54]  Stefan Ratschan,et al.  Efficient solving of quantified inequality constraints over the real numbers , 2002, TOCL.

[55]  Mizuhito Ogawa,et al.  raSAT: An SMT Solver for Polynomial Constraints , 2016, IJCAR.

[56]  Wei Chen,et al.  dReach: δ-Reachability Analysis for Hybrid Systems , 2015, TACAS.

[57]  Pravin Varaiya,et al.  What's decidable about hybrid automata? , 1995, STOC '95.

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

[59]  Florent de Dinechin,et al.  Certifying the Floating-Point Implementation of an Elementary Function Using Gappa , 2011, IEEE Transactions on Computers.

[60]  Marco Roveri,et al.  Invariant Checking of NRA Transition Systems via Incremental Reduction to LRA with EUF , 2017, TACAS.

[61]  Guillaume Melquiond,et al.  Proving Tight Bounds on Univariate Expressions with Elementary Functions in Coq , 2016, Journal of Automated Reasoning.

[62]  James H. Davenport,et al.  The complexity of quantifier elimination and cylindrical algebraic decomposition , 2007, ISSAC '07.

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

[64]  Alessandro Armando,et al.  Bounded model checking of software using SMT solvers instead of SAT solvers , 2006, International Journal on Software Tools for Technology Transfer.

[65]  Daniel Kroening,et al.  Interpolation-Based Verification of Floating-Point Programs with Abstract CDCL , 2013, SAS.

[66]  E. Townsend Function Of A Complex Variable , 2022 .

[67]  James H. Davenport,et al.  Real Quantifier Elimination is Doubly Exponential , 1988, J. Symb. Comput..

[68]  Mizuhito Ogawa,et al.  Subtropical Satisfiability , 2017, FroCoS.

[69]  Temesghen Kahsai,et al.  Verifying the Safety of a Flight-Critical System , 2015, FM.

[70]  Thomas C. Hales,et al.  Formal Verification of Nonlinear Inequalities with Taylor Interval Approximations , 2013, NASA Formal Methods.