Towards Efficient Satisfiability Checking for Boolean Algebra with Presburger Arithmetic

  • Viktor Kuncak
  • Martin Rinard
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4603)


Boolean Algebra with Presburger Arithmetic (BAPA) is a decidable logic that combines 1) Boolean algebra of sets of uninterpreted elements (BA) and 2) Presburger arithmetic (PA). BAPA can express relationships between integer variables and cardinalities of unbounded sets. In combination with other decision procedures and theorem provers, BAPA is useful for automatically verifying quantitative properties of data structures. This paper examines QFBAPA, the quantifier-free fragment of BAPA. The computational complexity of QFBAPA satisfiability was previously unknown; previous QFBAPA algorithms have non-deterministic exponential time complexity due to an explosion in the number of introduced integer variables.

This paper shows, for the first time, how to avoid such exponential explosion. We present an algorithm for checking satisfiability of QFBAPA formulas by reducing them to formulas of quantifier-free PA, with only O(n log(n)) increase in formula size. We prove the correctness of our algorithm using a theorem about sparse solutions of integer linear programming problems. This is the first proof that QFBAPA satisfiability is in NP and therefore NP-complete. We implemented our algorithm in the context of the Jahob verification system. Our preliminary experiments suggest that our algorithm, although not necessarily better for proving formula unsatisfiability, is more effective in detecting formula satisfiability than previous approaches.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Baader, F., Calvanese, D., McGuinness, D., Nardi, D., Patel-Schneider, P. (eds.): The Description Logic Handbook: Theory, Implementation and Applications. CUP (2003)Google Scholar
  2. 2.
    Balas, E., Padberg, M.W.: Set partitioning: A survey. SIAM Review 18(4), 710–760 (1976)MATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Barrett, C., Berezin, S.: CVC Lite: A new implementation of the cooperating validity checker. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 515–518. Springer, Heidelberg (2004)Google Scholar
  4. 4.
    Berman, L.: The complexity of logical theories. Theoretical Computer Science 11(1), 71–77 (1980)MATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Börger, E., Grädel, E., Gurevich, Y.: The Classical Decision Problem. Springer, Heidelberg (1997)MATHGoogle Scholar
  6. 6.
    Bouillaguet, C., Kuncak, V., Wies, T., Zee, K., Rinard, M.: Using first-order theorem provers in a data structure verification system. In: Cook, B., Podelski, A. (eds.) VMCAI 2007. LNCS, vol. 4349, Springer, Heidelberg (2007)CrossRefGoogle Scholar
  7. 7.
    Cantone, D., Omodeo, E., Policriti, A.: Set Theory for Computing. Springer, Heidelberg (2001)MATHGoogle Scholar
  8. 8.
    Eisenbrand, F., Shmonina, G.: Carathéodory bounds for integer cones. Operations Research Letters 34(5), 564–568 (2006), MATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    Feferman, S., Vaught, R.L.: The first order properties of products of algebraic systems. Fundamenta Mathematicae 47, 57–103 (1959)MATHMathSciNetGoogle Scholar
  10. 10.
    Ghilardi, S.: Model theoretic methods in combined constraint satisfiability. Journal of Automated Reasoning 33(3-4), 221–249 (2005)CrossRefMathSciNetGoogle Scholar
  11. 11.
    Kozen, D.: Theory of Computation. Springer, Heidelberg (2006)MATHGoogle Scholar
  12. 12.
    Kuncak, V.: Modular Data Structure Verification. PhD thesis, EECS Department, Massachusetts Institute of Technology (February 2007)Google Scholar
  13. 13.
    Kuncak, V., Nguyen, H.H., Rinard, M.: An algorithm for deciding BAPA: Boolean Algebra with Presburger Arithmetic. In: Nieuwenhuis, R. (ed.) Automated Deduction – CADE-20. LNCS (LNAI), vol. 3632, Springer, Heidelberg (2005)Google Scholar
  14. 14.
    Kuncak, V., Nguyen, H., Rinard, M.: Deciding Boolean Algebra with Presburger Arithmetic. J. of Automated Reasoning (2006),
  15. 15.
    Kuncak, V., Rinard, M.: Decision procedures for set-valued fields. In: 1st International Workshop on Abstract Interpretation of Object-Oriented Languages (AIOOL 2005) (2005)Google Scholar
  16. 16.
    Lev, I.: Precise understanding of natural language. Stanford Univeristy PhD dissertation draft (February 2007)Google Scholar
  17. 17.
    Marnette, B., Kuncak, V., Rinard, M.: On algorithms and complexity for sets with cardinality constraints. Technical report, MIT CSAIL (August 2005)Google Scholar
  18. 18.
    Marriott, K., Odersky, M.: Negative boolean constraints. Technical Report 94/203, Monash University (August 1994)Google Scholar
  19. 19.
    Ohlbach, H.J., Koehler, J.: How to extend a formal system with a boolean algebra component. In: Bibel, W., Schmidt, P.H. (eds.) Automated Deduction. A Basis for Applications, vol. III, Kluwer Academic Publishers, Dordrecht (1998)Google Scholar
  20. 20.
    Papadimitriou, C.H.: On the complexity of integer programming. J. ACM 28(4), 765–768 (1981)MATHCrossRefMathSciNetGoogle Scholar
  21. 21.
    Pratt-Hartmann, I.: Complexity of the two-variable fragment with counting quantifiers. Journal of Logic, Language and Information 14(3), 369–395 (2005)MATHCrossRefMathSciNetGoogle Scholar
  22. 22.
    Prevosto, V., Waldmann, U.: SPASS+T. In: ESCoR: Empirically Successful Computerized Reasoning, vol. 192 (2006)Google Scholar
  23. 23.
    Ranise, S., Tinelli, C.: The SMT-LIB Standard: Version 1.2. Technical report, Department of Computer Science, The University of Iowa (2006), Available at
  24. 24.
    Revesz, P.: Quantifier-elimination for the first-order theory of boolean algebras with linear cardinality constraints. In: Benczúr, A.A., Demetrovics, J., Gottlob, G. (eds.) ADBIS 2004. LNCS, vol. 3255, Springer, Heidelberg (2004)Google Scholar
  25. 25.
    Revesz, P.Z.: The expressivity of constraint query languages with boolean algebra linear cardinality constraints. In: Eder, J., Haav, H.-M., Kalja, A., Penjam, J. (eds.) ADBIS 2005. LNCS, vol. 3631, pp. 167–182. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  26. 26.
    Sebö, A.: Hilbert bases, Caratheodory’s theorem and combinatorial optimization. In: Kannan, R., Pulleyblank, W. (eds.) Integer Programming and Combinatorial Optimization I, University of Waterloo Press (1990)Google Scholar
  27. 27.
    Toda, S.: PP is as hard as the polynomial-time hierarchy. SIAM Journal on Computing 20(5), 865–877 (1991)MATHCrossRefMathSciNetGoogle Scholar
  28. 28.
    Whitney, H.: On the abstract properties of linear independence. American Journal of Mathematics 57, 509–533 (1935)CrossRefMathSciNetGoogle Scholar
  29. 29.
    Zarba, C.G.: Combining sets with cardinals. J. of Automated Reasoning 34(1) (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Viktor Kuncak
    • 1
  • Martin Rinard
    • 2
  1. 1.Ecole Politechnique Fédérale de Lausanne, Lausanne, VDSwitzerland
  2. 2.Massachusetts Institute of Technology, Cambridge, MAUSA

Personalised recommendations