Abstraction-Based Satisfiability Solving of Presburger Arithmetic

  • Daniel Kroening
  • Joël Ouaknine
  • Sanjit A. Seshia
  • Ofer Strichman
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3114)


We present a new abstraction-based framework for deciding satisfiability of quantifier-free Presburger arithmetic formulas. Given a Presburger formula φ, our algorithm invokes a SAT solver to produce proofs of unsatisfiability of approximations of φ. These proofs are in turn used to generate abstractions of φ as inputs to a theorem prover. The SAT-encodings of the approximations of φ are obtained by instantiating the variables of the formula over finite domains. The satisfying integer assignments provided by the theorem prover are then used to selectively increase domain sizes and generate fresh SAT-encodings of φ. The efficiency of this approach derives from the ability of SAT solvers to extract small unsatisfiable cores, leading to small abstracted formulas. We present experimental results which suggest that our algorithm is considerably more efficient than directly invoking the theorem prover on the original formula.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Ackermann, W.: Solvable Cases of the Decision Problem. North-Holland, Amsterdam (1954)MATHGoogle Scholar
  2. 2.
    Amon, T., Borriello, G., Hu, T., Liu, J.: Symbolic timing verification of timing diagrams using Presburger formulas. In: Proceedings of DAC 1997, pp. 226–231 (1997)Google Scholar
  3. 3.
    Audemard, G., Bertoli, P., Cimatti, A., Kornilowicz, A., Sebastiani, R.: A SAT based approach for solving formulas over boolean and linear mathematical propositions. In: Voronkov, A. (ed.) CADE 2002. LNCS (LNAI), vol. 2392, pp. 195–210. Springer, Heidelberg (2002)Google Scholar
  4. 4.
    Barrett, C., Dill, D., Stump, A.: Checking satisfiability of first-order formulas by incremental translation to SAT. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 236–249. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  5. 5.
    Barth, P.: Logic-Based 0-1 Constraint Programming. Kluwer Academic Publishers, Dordrecht (1995)Google Scholar
  6. 6.
    Berezin, S., Ganesh, V., Dill, D.L.: An online proof-producing decision procedure for mixed-integer linear arithmetic. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 521–536. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  7. 7.
    Borosh, I., Treybig, L.B.: Bounds on positive integral solutions of linear diophantine equations. Proceedings of the American Mathematical Society 55(2), 299–304 (1976)MATHMathSciNetCrossRefGoogle Scholar
  8. 8.
    Brinkmann, R., Drechsler, R.: RTL-datapath verification using integer linear programming. In: Proceedings of VLSI Design, pp. 741–746 (2002)Google Scholar
  9. 9.
    Bultan, T., Gerber, R., Pugh, W.: Symbolic model checking of infinite state systems using Presburger arithmetic. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 400–411. Springer, Heidelberg (1997)Google Scholar
  10. 10.
    Chauhan, P., Clarke, E.M., Kukula, J.H., Sapra, S., Veith, H., Wang, D.: Automated abstraction refinement for model checking large state spaces using SAT based conflict analysis. In: Aagaard, M.D., O’Leary, J.W. (eds.) FMCAD 2002. LNCS, vol. 2517, pp. 33–51. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  11. 11.
  12. 12.
    de Moura, L., Rueß, H., Sorea, M.: Lazy theorem proving for bounded model checking over infinite domains. In: Voronkov, A. (ed.) CADE 2002. LNCS (LNAI), vol. 2392, pp. 438–455. Springer, Heidelberg (2002)Google Scholar
  13. 13.
    Flanagan, C., Joshi, R., Ou, X., Saxe, J.B.: Theorem proving using lazy proof explication. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 355–367. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  14. 14.
    Ganesh, V., Berezin, S., Dill, D.L.: Deciding Presburger arithmetic by model checking and comparisons with other methods. In: Aagaard, M.D., O’Leary, J.W. (eds.) FMCAD 2002. LNCS, vol. 2517, pp. 171–186. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  15. 15.
    Henzinger, T.A., Jhala, R., Majumdar, R., Sutre, G.: Lazy abstraction. In: Proceedings of POPL 2002, pp. 58–70. ACM, New York (2002)Google Scholar
  16. 16.
  17. 17.
  18. 18.
    Janičić, P., Green, I., Bundy, A.: A comparison of decision procedures in Presburger arithmetic. Research paper no. 872, Division of Informatics, University of Edinburgh (1997)Google Scholar
  19. 19.
    Kannan, R., Monma, C.L.: On the computational complexity of integer programming problems. In: Optimisation and Operations Research. Lecture Notes in Economics and Mathematical Systems, vol. 157, pp. 161–172. Springer, Heidelberg (1978)Google Scholar
  20. 20.
    Kurshan, R.: Computer-Aided Verification of Coordinating Processes. Princeton University Press, Princeton (1994)Google Scholar
  21. 21.
  22. 22.
  23. 23.
    McMillan, K., Amla, N.: Automatic abstraction without counterexamples. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 2–17. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  24. 24.
  25. 25.
    Papadimitriou, C.H.: On the complexity of integer programming. Journal of the ACM 28(4), 765–768 (1981)MATHCrossRefMathSciNetGoogle Scholar
  26. 26.
    Plaisted, D.A., Greenbaum, S.: A structure-preserving clause form translation. Journal of Symbolic Computation 2(3), 293–304 (1986)MATHCrossRefMathSciNetGoogle Scholar
  27. 27.
    Preßburger, M.: Über die Vollständigkeit eines gewissen Systems der Arithmetik ganzer Zahlen, in welchem die Addition als einzige Operation hervortritt. Comptesrendus du premier congrès des mathématiciens des pays slaves 395, 92–101 (1929)Google Scholar
  28. 28.
    Pugh, W.: The Omega Test: A fast and practical integer programming algorithm for dependence analysis. Supercomputing, 4–13 (1991)Google Scholar
  29. 29.
    Shostak, R.E.: A practical decision procedure for arithmetic with function symbols. Journal of the ACM 26(2), 351–360 (1979)MATHCrossRefMathSciNetGoogle Scholar
  30. 30.
  31. 31.
    Wolper, P., Boigelot, B.: An automata-theoretic approach to Presburger arithmetic constraints. In: Mycroft, A. (ed.) SAS 1995. LNCS, vol. 983, pp. 21–32. Springer, Heidelberg (1995)Google Scholar
  32. 32.
  33. 33.
    Zhang, L., Malik, S.: Extracting small unsatisfiable cores from unsatisfiable boolean formulas. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, Springer, Heidelberg (2004)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Daniel Kroening
    • 1
  • Joël Ouaknine
    • 1
  • Sanjit A. Seshia
    • 1
  • Ofer Strichman
    • 2
  1. 1.Computer Science DepartmentCarnegie Mellon UniversityPittsburghUSA
  2. 2.Faculty of Industrial Engineering, the TechnionHaifaIsrael

Personalised recommendations