Skip to main content

A Generalised Branch-and-Bound Approach and Its Application in SAT Modulo Nonlinear Integer Arithmetic

  • Conference paper
  • First Online:
Computer Algebra in Scientific Computing (CASC 2016)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9890))

Included in the following conference series:

  • 962 Accesses

Abstract

The branch-and-bound framework has already been successfully applied in SAT-modulo-theories (SMT) solvers to check the satisfiability of linear integer arithmetic formulas. In this paper we study how it can be used in SMT solvers for non-linear integer arithmetic on top of two real-algebraic decision procedures: the virtual substitution and the cylindrical algebraic decomposition methods. We implemented this approach in our SMT solver SMT-RAT and compared it with the currently best performing SMT solvers for this logic, which are mostly based on bit-blasting. Furthermore, we implemented a combination of our approach with bit-blasting that outperforms the state-of-the-art SMT solvers for most instances.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Z3 has a command-line option to solve, instead of QF_NIA problems, their QF_NRA relaxations. This way Z3 can detect unsatisfiability (no real solution is found) or sometimes even satisfiability (the found real solution happens to be integer), but otherwise it returns “unknown”.

  2. 2.

    These sub-problems are not necessarily constraints or conjunctions of constraints, but in general formulas with arbitrary Boolean structure.

  3. 3.

    In the experimental results we use final lemmas only.

  4. 4.

    Note that modern SAT solvers also allow to forget learnt clauses that did not contribute to conflicts recently. This applies also to branching clauses.

  5. 5.

    A projected polynomial can have several “parents”; in this case we can choose any of them. In practice, one could store the chronologically “oldest” parents, as backtracking removes input polynomials in chronologically reverse order.

  6. 6.

    This form of multiple-branch lemmas are handled analogously to the 2-branch-case.

  7. 7.

    Additionally, all of these strategies employ a common preprocessing.

References

  1. Arnon, D.S., Collins, G.E., McCallum, S.: Cylindrical algebraic decomposition I: the basic algorithm. SIAM J. Comput. 13(4), 865–877 (1984)

    Article  MathSciNet  MATH  Google Scholar 

  2. Arnon, D.S., Collins, G.E., McCallum, S.: Cylindrical algebraic decomposition II: an adjacency algorithm for the plane. SIAM J. Comput. 13(4), 878–889 (1984)

    Article  MathSciNet  MATH  Google Scholar 

  3. Barnett, M., Chang, B.-Y.E., DeLine, R., Jacobs, B., M. Leino, K.R.: Boogie: a modular reusable verifier for object-oriented programs. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2005. LNCS, vol. 4111, pp. 364–387. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  4. Barrett, C., Conway, C.L., Deters, M., Hadarean, L., Jovanović, D., King, T., Reynolds, A., Tinelli, C.: CVC4. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 171–177. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  5. Barrett, C.W., Nieuwenhuis, R., Oliveras, A., Tinelli, C.: Splitting on demand in SAT modulo theories. In: Hermann, M., Voronkov, A. (eds.) LPAR 2006. LNCS (LNAI), vol. 4246, pp. 512–526. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  6. Barrett, C., Sebastiani, R., Seshia, S.A., Tinelli, C.: Satisfiability modulo theories. In: Handbook of Satisfiability. Frontiers in Artificial Intelligence and Applications, vol. 185, Chap. 26, pp. 825–885. IOS Press, Amsterdam (2009)

    Google Scholar 

  7. Biere, A., Heule, M.J.H., van Maaren, H., Walsh, T. (eds.): Handbook of Satisfiability. Frontiers in Artificial Intelligence and Applications, vol. 185. IOS Press, Amsterdam (2009)

    Google Scholar 

  8. Borralleras, C., Lucas, S., Navarro-Marset, R., Rodríguez-Carbonell, E., Rubio, A.: Solving non-linear polynomial arithmetic via SAT modulo linear arithmetic. In: Schmidt, R.A. (ed.) CADE-22. LNCS, vol. 5663, pp. 294–305. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  9. Bouton, T., Caminha B. de Oliveira, D., Déharbe, D., Fontaine, P.: veriT: an open, trustable and efficient SMT-solver. In: Schmidt, R.A. (ed.) CADE-22. LNCS, vol. 5663, pp. 151–156. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  10. Brown, C.W.: Improved projection for cylindrical algebraic decomposition. J. Symbolic Comput. 32(5), 447–465 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  11. Cimatti, A., Griggio, A., Schaafsma, B.J., Sebastiani, R.: The MathSAT5 SMT solver. In: Piterman, N., Smolka, S.A. (eds.) TACAS 2013 (ETAPS 2013). LNCS, vol. 7795, pp. 93–107. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  12. Collins, G.E.: Quantifier elimination for real closed fields by cylindrical algebraic decomposition. In: Brakhage, H. (ed.) Automata Theory and Formal Languages, vol. 33, pp. 134–183. Springer, Berlin (1975)

    Google Scholar 

  13. Corzilius, F., Ábrahám, E.: Virtual substitution for SMT-solving. In: Owe, O., Steffen, M., Telle, J.A. (eds.) FCT 2011. LNCS, vol. 6914, pp. 360–371. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  14. Corzilius, F., Kremer, G., Junges, S., Schupp, S., Ábrahám, E.: SMT-RAT: an open source C++ toolbox for strategic and parallel SMT solving. In: Heule, M., et al. (eds.) SAT 2015. LNCS, vol. 9340, pp. 360–368. Springer, Heidelberg (2015)

    Chapter  Google Scholar 

  15. Dantzig, G.B.: Linear Programming and Extensions. Princeton University Press, Princeton (1963)

    MATH  Google Scholar 

  16. Davis, M., Logemann, G., Loveland, D.: A machine program for theorem-proving. Commun. ACM 5(7), 394–397 (1962)

    Article  MathSciNet  MATH  Google Scholar 

  17. Dutertre, B., de Moura, L.: A fast linear-arithmetic solver for DPLL(T). In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 81–94. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  18. Dutertre, B.: Yices 2.2. In: Biere, A., Bloem, R. (eds.) CAV 2014. LNCS, vol. 8559, pp. 737–744. Springer, Heidelberg (2014)

    Google Scholar 

  19. Fränzle, M., Herde, C., Teige, T., Ratschan, S., Schubert, T.: Efficient solving of large non-linear arithmetik constraint systems with complex Boolean structure. J. Satisfiability Boolean Model. Comput. 1, 209–236 (2007)

    MATH  Google Scholar 

  20. Fuhs, C., Giesl, J., Middeldorp, A., Schneider-Kamp, P., Thiemann, R., Zankl, H.: SAT solving for termination analysis with polynomial interpretations. In: Marques-Silva, J., Sakallah, K.A. (eds.) SAT 2007. LNCS, vol. 4501, pp. 340–354. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  21. Griggio, A.: A practical approach to satisfiability modulo linear integer arithmetic. J. Satisfiability Boolean Model. Comput. 8, 1–27 (2012)

    MathSciNet  MATH  Google Scholar 

  22. Hong, H.: An improvement of the projection operator in cylindrical algebraic decomposition. In: Watanabe, S., Nagata, M. (eds.) Proceedings of the ISSAC 1990, pp. 261–264. ACM, New York (1990)

    Google Scholar 

  23. Kim, H., Somenzi, F., Jin, H.S.: Efficient term-ITE conversion for satisfiability modulo theories. In: Kullmann, O. (ed.) SAT 2009. LNCS, vol. 5584, pp. 195–208. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  24. McCallum, S.: An improved projection operation for cylindrical algebraic decomposition of three-dimensional space. J. Symbolic Comput. 5(1), 141–161 (1988)

    Article  MathSciNet  MATH  Google Scholar 

  25. de Moura, L., Bjørner, N.S.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  26. Schrijver, A.: Theory of Linear and Integer Programming. John Wiley & Sons, Inc., New York (1986)

    MATH  Google Scholar 

  27. Tung, V.X., Van Khanh, T., Ogawa, M.: raSAT: an SMT solver for polynomial constraints. In: Olivetti, N., Tiwari, A. (eds.) IJCAR 2016. LNCS, vol. 9706, pp. 228–237. Springer, Heidelberg (2016)

    Chapter  Google Scholar 

  28. Weispfenning, V.: Quantifier elimination for real algebra - the quadratic case and beyond. Appl. Algebra Eng. Commun. Comput. 8(2), 85–101 (1997)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Gereon Kremer .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing AG

About this paper

Cite this paper

Kremer, G., Corzilius, F., Ábrahám, E. (2016). A Generalised Branch-and-Bound Approach and Its Application in SAT Modulo Nonlinear Integer Arithmetic. In: Gerdt, V., Koepf, W., Seiler, W., Vorozhtsov, E. (eds) Computer Algebra in Scientific Computing. CASC 2016. Lecture Notes in Computer Science(), vol 9890. Springer, Cham. https://doi.org/10.1007/978-3-319-45641-6_21

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-45641-6_21

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-45640-9

  • Online ISBN: 978-3-319-45641-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics