Abstract
Incremental linearization is a conceptually simple, yet effective, technique that we have recently proposed for solving SMT problems over nonlinear real arithmetic constraints. In this paper, we show how the same approach can be applied successfully also to the harder case of nonlinear integer arithmetic problems. We describe in detail our implementation of the basic ideas inside the MathSAT SMT solver, and evaluate its effectiveness with an extensive experimental analysis over all nonlinear integer benchmarks in SMT-LIB. Our results show that MathSAT is very competitive with (and often outperforms) state-of-the-art SMT solvers based on alternative techniques.
This work was funded in part by the H2020-FETOPEN-2016-2017-CSA project SC\(^2\) (712689).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
In the following, we only consider quantifier-free theories, and we abuse the accepted notation by omitting the “QF_” prefix in the names of the theories.
- 2.
In the rest of the paper, for simplifying the presentation we assume that an equality constraint is written as a conjunction of weak inequality constraints, and an inequality constraint is written as a disjunction of strict inequality constraints.
- 3.
This can happen when the tangent lemmas (see Fig. 8) are not used.
- 4.
We are grateful to Andrew Reynolds for fruitful discussions about this.
- 5.
It is important to stress here that we keep the monomials in a normal form by reordering their variables, although this is not shown explicitly in the pseudo-code.
- 6.
In our implementation we use a bounded (dichotomic) search for this. For example, for the ‘UU’ direction we try increasing both a and b until either the tangent plane passing through (a, b) cannot separate the multiplication curve from the bad point c anymore, or we reach a maximum bound on the number of iterations.
References
Barrett, C., Conway, C.L., Deters, M., Hadarean, L., Jovanovic, D., King, T., Reynolds, A., Tinelli, C.: CVC4. In: CAV. pp. 171–177 (2011)
Barrett, C.W., Sebastiani, R., Seshia, S.A., Tinelli, C.: Satisfiability modulo theories. In: Handbook of Satisfiability, Frontiers in Artificial Intelligence and Applications, vol. 185, pp. 825–885. IOS Press (2009)
Borralleras, C., Lucas, S., Oliveras, A., Rodríguez-Carbonell, E., Rubio, A.: Sat modulo linear arithmetic for solving polynomial constraints. J. Autom. Reason. 48(1), 107–131 (2012)
Cimatti, A., Griggio, A., Irfan, A., Roveri, M., Sebastiani, R.: Incremental Linearization for Satisfiability and Verification Modulo Nonlinear Arithmetic and Transcendental Functions. Under Submission (2017), available at https://es.fbk.eu/people/irfan/papers/inclin-smt-vmt-nl-tf.pdf
Cimatti, Alessandro, Griggio, Alberto, Irfan, Ahmed, Roveri, Marco, Sebastiani, Roberto: Invariant Checking of NRA Transition Systems via Incremental Reduction to LRA with EUF. In: Legay, Axel, Margaria, Tiziana (eds.) TACAS 2017. LNCS, vol. 10205, pp. 58–75. Springer, Heidelberg (2017). https://doi.org/10.1007/978-3-662-54577-5_4
Cimatti, Alessandro, Griggio, Alberto, Irfan, Ahmed, Roveri, Marco, Sebastiani, Roberto: Satisfiability Modulo Transcendental Functions via Incremental Linearization. In: de Moura, Leonardo (ed.) CADE 2017. LNCS (LNAI), vol. 10395, pp. 95–113. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-63046-5_7
Cimatti, Alessandro, Griggio, Alberto, Schaafsma, Bastiaan Joost, Sebastiani, Roberto: The MathSAT5 SMT Solver. In: Piterman, Nir, Smolka, Scott A. (eds.) TACAS 2013. LNCS, vol. 7795, pp. 93–107. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-36742-7_7
Collins, G.E.: Quantifier Elimination for Real Closed Fields by Cylindrical Algebraic Decomposition-preliminary Report. SIGSAM Bull. 8(3), 80–90 (1974)
Corzilius, F., Loup, U., Junges, S., Ábrahám, E.: SMT-RAT: An SMT-compliant nonlinear real arithmetic toolbox. In: SAT. pp. 442–448. Springer (2012)
De Moura, L., Bjørner, N.: Z3: An efficient SMT solver. In: TACAS. pp. 337–340. Springer (2008)
Dutertre, B.: Yices 2.2. In: Biere, A., Bloem, R. (eds.) Computer-Aided Verification (CAV’2014). LNCS, vol. 8559, pp. 737–744. Springer (July 2014)
Fuhs, Carsten, Giesl, Jürgen, Middeldorp, Aart, Schneider-Kamp, Peter, Thiemann, René, Zankl, Harald: SAT Solving for Termination Analysis with Polynomial Interpretations. In: Marques-Silva, João, Sakallah, Karem A. (eds.) SAT 2007. LNCS, vol. 4501, pp. 340–354. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-72788-0_33
Jovanović, Dejan: Solving Nonlinear Integer Arithmetic with MCSAT. In: Bouajjani, Ahmed, Monniaux, David (eds.) VMCAI 2017. LNCS, vol. 10145, pp. 330–346. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-52234-0_18
Jovanović, D., De Moura, L.: Solving non-linear arithmetic. In: IJCAR. pp. 339–354. Springer (2012)
Kremer, Gereon, Corzilius, Florian, Ábrahám, Erika: A Generalised Branch-and-Bound Approach and Its Application in SAT Modulo Nonlinear Integer Arithmetic. In: Gerdt, Vladimir P., Koepf, Wolfram, Seiler, Werner M., Vorozhtsov, Evgenii V. (eds.) CASC 2016. LNCS, vol. 9890, pp. 315–335. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-45641-6_21
Matiyasevich, Y.V.: Hilbert’s Tenth Problem. MIT Press, Foundations of computing (1993)
Reynolds, Andrew, Tinelli, Cesare, Jovanović, Dejan, Barrett, Clark: Designing Theory Solvers with Extensions. In: Dixon, Clare, Finger, Marcelo (eds.) FroCoS 2017. LNCS (LNAI), vol. 10483, pp. 22–40. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-66167-4_2
SMT-LIB, The Satisfiability Modulo Theories Library. http://smtlib.org
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
Cimatti, A., Griggio, A., Irfan, A., Roveri, M., Sebastiani, R. (2018). Experimenting on Solving Nonlinear Integer Arithmetic with Incremental Linearization. In: Beyersdorff, O., Wintersteiger, C. (eds) Theory and Applications of Satisfiability Testing – SAT 2018. SAT 2018. Lecture Notes in Computer Science(), vol 10929. Springer, Cham. https://doi.org/10.1007/978-3-319-94144-8_23
Download citation
DOI: https://doi.org/10.1007/978-3-319-94144-8_23
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-94143-1
Online ISBN: 978-3-319-94144-8
eBook Packages: Computer ScienceComputer Science (R0)