CADE 2007: Automated Deduction – CADE-21 pp 215-230

# Towards Efficient Satisfiability Checking for Boolean Algebra with Presburger Arithmetic

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

## Abstract

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.

## Preview

Unable to display preview. Download preview PDF.

### References

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)
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)
5. 5.
Börger, E., Grädel, E., Gurevich, Y.: The Classical Decision Problem. Springer, Heidelberg (1997)
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)
7. 7.
Cantone, D., Omodeo, E., Policriti, A.: Set Theory for Computing. Springer, Heidelberg (2001)
8. 8.
Eisenbrand, F., Shmonina, G.: Carathéodory bounds for integer cones. Operations Research Letters 34(5), 564–568 (2006), http://dx.doi.org/10.1016/j.orl.2005.09.008
9. 9.
Feferman, S., Vaught, R.L.: The first order properties of products of algebraic systems. Fundamenta Mathematicae 47, 57–103 (1959)
10. 10.
Ghilardi, S.: Model theoretic methods in combined constraint satisfiability. Journal of Automated Reasoning 33(3-4), 221–249 (2005)
11. 11.
Kozen, D.: Theory of Computation. Springer, Heidelberg (2006)
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), http://dx.doi.org/10.1007/s10817-006-9042-1
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)
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)
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 http://www.SMT-LIB.org
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)
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)
28. 28.
Whitney, H.: On the abstract properties of linear independence. American Journal of Mathematics 57, 509–533 (1935)
29. 29.
Zarba, C.G.: Combining sets with cardinals. J. of Automated Reasoning 34(1) (2005)Google Scholar