Abstract
The SAT-based approach to the decision problem for expressive, decidable, quantifier-free first-order theories has been investigated with remarkable results at least since 1993. One such theory, successfully employed in the formal verification of complex, infinite state systems, is Separation Logic (SL), which combines Boolean logic with arithmetic constraints of the form x − y ⋈ c, where ⋈ is ≤, <, >, ≥, =, or ≠. The SAT-based approach to SL was first proposed and implemented in 1999: the results in terms of performance were good, and since then a number of other systems for SL have appeared. In this paper we focus on the problem of building efficient SAT-based decision procedures for SL. We present the basic procedure and four optimizations that improve dramatically its effectiveness in most cases: (a) IS 2 preprocessing, (b) early pruning, (c) model reduction, and (d) best reason detection. For each technique we give an example of how it might improve the performance. Furthermore, for the first three techniques, we give a pseudo-code representation and formally state the soundness and completeness of the resulting optimized procedure. We also show how it is possible to check the satisfiability of valuations involving constraints of the form x − y < c using the Bellman-Ford algorithm. Lastly, we present an extensive comparative experimental analysis, showing that our solver TSAT++, built along the lines described in this paper, is currently the state of the art on various classes of problems, including randomly generated, hand-made, and real-world instances.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Armando, A. and Giunchiglia, E. (1993) Embedding complex decision procedures inside an interactive theorem prover, Ann. Math. Artif. Intell. 8(3–4), 475–502.
Armando, A., Castellini, C. and Giunchiglia, E. (1999) SAT-based procedures for temporal reasoning, in S. Biundo and M. Fox (eds.), Proceedings of the 5th European Conferevace on Planning (Durham, UK), Vol. 1809 of Lecture Notes in Computer Science, Springer, pp. 97–108.
Armando, A., Castellini, C., Giunchiglia, E., Idini, M. and Maratea, M. (2004) TSAT++: an open platform for satisfiability modulo theories, in Proceedings of PDPAR, Pragmatics of Decision Procedures in Automated Reasoning, Cork (Ireland), Vol. 125, Issue 3 of ENTCS, Elsevier, pp. 25–36.
Armando, A., Castellini, C., Giunchiglia, E. and Maratea, M. (2005a) A SAT-based decision procedure for the boolean combination of difference constraints, in Proceedings of SAT, International Conference on Theory and Applications of Satisfiability Testing, Vancouver (Canada), Vol. 3542 of LNCS, Springer, pp. 16–29.
Armando, A., Castellini, C., Giunchiglia, E., Giunchiglia, F. and Tacchella, A. (2005b) SAT-based decision procedures for automated reasoning: a unifying perspective, in Mechanizing Mathematical Reasoning: Essays in Honor of Jrg H. Siekmann on the Occasion of His 60th Birthday, Vol. 2605 of Lecture Notes in Computer Science, Springer.
Audemard, G., Bertoli, P., Cimatti, A., Kornilowicz, A. and Sebastiani, R. (2002) A SAT based approach for solving formulas over Boolean and linear mathematical propositions, in A. Voronkov (ed.), Automated Deduction — CADE-18, Vol. 2392 of Lecture Notes in Computer Science, Springer, pp. 195–210.
Barrett, C. W. and Berezin, S. (2004) CVC Lite: a new implementation of the cooperating validity checker category B, in 16th International Conference on Computer Aided Verification (CAV’04), Vol. 3114, Springer, pp. 515–518.
Bayardo, Jr., R. J. and Miranker, D. P. (1996) A complexity analysis of space-bounded learning algorithms for the constraint satisfaction problem, in Proceedings of the Thirteenth National Conference on Artificial Intelligence and the Eighth Innovative Applications of Artificial Intelligence Conference, Menlo Park, AAAI/MIT, pp. 298–304.
Berkelaar, M. (1997) The lp_solve Solver for Mixed Integer-Linear Programming. Version 2.2. Available at http://www.cs.sunysb.edu/~algorith/implement/lpsolve/implement.shtml.
Böhm, M. and Speckenmeyer, E. (1996) A fast parallel SAT-solver — efficient workload balancing, Ann. Math. Artif. Intell. 17, 381–400.
Bryant, R. E., Lahiri, S. K. and Seshia, S. A. (2002) Deciding CLU logic formulas via Boolean and pseudo-Boolean encodings, in Proceedings of International Workshop on Constraints in Formal Verification. Associated with International Conference on Principles and Practice of Constraint Programming, Ithaca, New York (USA).
Castellini, C., Giunchiglia, E. and Tacchella, A. (2003) SAT-based planning in complex domains: concurrency, constraints and nondeterminism, Artif. Intell. 147, 85–117.
Cormen, T. H., Leiserson, C. E., Rivest, R. L. and Stein, C. (2001) Introduction to Algorithms, MIT.
Cotton, S., Asarin, E., Maler, O. and Niebert, P. (2004) Some progress in satisfiability checking for difference logic, in Joint International Conferences on Formal Modelling and Analysis of Timed Systems (FORMATS) and Formal Techniques in Real-Time and Fault-Tolerant Systems (FTRTFT), Vol. 3253 of Lecture Notes in Computer Science, Springer, pp. 263–276.
D’Agostino, M. (1992) Are tableaux an improvement on truth-tables? J. Logic, Lang. Inf. 1, 235–252.
Davis, M., Logemann, G. and Loveland, D. (1962) A machine program for theorem proving, Journal of the ACM 5(7).
de Moura, L., Ruess, H., Shankar, N. and Rushby, J. (2004) The ICS decision procedures for embedded deduction, in Proceedings of IJCAR, International Joint Conference on Automated Reasoning, Cork, Ireland.
Dechter, R., Meiri, I. and Pearl, J. (1989) Temporal constraint networks, in H. J. L. R. J. Brachman and R. Reiter (eds.), Proceedings of the 1st International Conference on Principles of Knowledge Representation and Reasoning, Toronto, Canada, Morgan Kaufmann, pp. 83–93.
Dequen, G. and Dubois, O. (2004) kcnfs: an efficient solver for random K-Sat formulae, in E. Giunchiglia and A. Taicchella (eds.), 6th International Conference on Theory an Applications of Satisfiability Testing. Selected Revised Papers, Vol. 2919 of Lecture Notes in Computer Science, Springer, pp. 486–501.
Flanagan, C., Joshi, R., Ou, X. and Saxe, J. B. (2003) Theorem proving using lazy proof explication, in 15th International Conference on Computer Aided Verification (CAV’03), Vol. 2725, Springer, pp. 355–367.
Gent, I., Maaren, H. V. and Walsh, T. (eds.) (2000) SAT2000. Highlights of Satisfiability Research in the Year 2000, IOS.
Giunchiglia, F. and Sebastiani, R. (1996) Building decision procedures for modal logics from propositional decision procedures — the case study of modal K, in Proc. CADE-96, New Brunswick, New Jersey, USA, Springer.
Giunchiglia, E., Maratea, M., Tacchella, A. and Zambonin, D. (2001) Evaluating search heuristics and optimization techniques in propositional satisfiability, in Automated Reasoning, First International Joint Conference (IJCAR), Vol. 2083 of Lecture Notes an Computer Science, Springer, pp. 347–363.
Giunchiglia, E., Giunchiglia, F. and Tacchella, A. (2002) SAT-based decision procedures for classical modal logics, J. Autom. Reason. 28, 143–171. Reprinted in (Gent et al., 2000).
Giunchiglia, E., Maratea, M. and Tacchella, A. (2003) (In)Effectiveness of look-ahead techniques in a modern SAT solver, in Principles and Practice of Constraint Programming (CP), Vol. 2833 of Lecture Notes in Computer Science, Springer, pp. 842–846.
Heule, M. and Maaren, H. V. (2005) March_eq: implementing additional reasoning into an efficient look-ahead SAT solver, in 8th International Conference on Theory an Applications of Satisfiability Testing, Vol. 3542 of LNCS, Springer, pp. 345–353.
Lahiri, S. K., Seshia, S. A. and Bryant, B. (2002) Modeling and verification of out-of-order microprocessors in UCLID, Lect. Notes Comput. Sci. 2517, 142–155.
Le Berre, D. and Simon, L. (2003) The essentials of the SAT’03 competition, in Proceedings of the 6th International Conference on the Theory and Applications of Satisfiability Testing (SAT’03). Selected revised papers, Vol. 2919 of LNCS.
Moskewicz, M. W., Madigan, C. F., Zhao, Y., Zhang, L. and Malik, S. (2001) Chaff: engineering an efficient SAT solver, in Proceedings of the 38th Design Automation Conference (DAC’01).
Oddi, A. and Cesta, A. (2000) Incremental forward checking for the disjunctive temporal problem, in Proceedings of the 14th European Conference on Artificial Intelligence (ECAI-2000), Berlin, pp. 108–112.
Plaisted, D. and Greenbaum, S. (1986) A structure-preserving clause form translation, J. Symb. Comput. 2, 293–304.
Pratt, V. R. (1977) Two easy theories whose combination is hard, Technical report, Massachusetts Institute of Technology.
Prosser, P. (1993) Domain filtering can degrade intelligent backjumping search, in Proc. IJCAI, pp. 262–267.
Siekmann, J. and Wrightson, G. (eds.) (1983) Automation of Reasoning: Classical Papers in Computational Logic 1967–1970, Vol. 1–2, Springer.
Stergiou, K. and Koubarakis, M. (1998) Backtracking algorithms for disjunctions of temporal constraints, in Proceedings of AAAI/IAAI, Madison, WI (USA), pp. 248–253.
Stergiou, K. and Koubarakis, M. (2000) Backtracking algorithms for disjunctions of temporal constraints, Artif. Intell. 120(1), 81–117.
Strichman, O., Seshia, S. A. and Bryant, R. E. (2002) Deciding separation formulas with SAT, Lect. Notes Comput. Sci. 2404, 209–222.
Stump, A., Barrett, C. W. and Dill, D. L. (2002) CVC: a cooperating validity checker, in J. C. Godskesen (ed.), Proceedings of the International Conference on Computer-Aided Verification.
Tsamardinos, I. and Pollack, M. (2003) Efficient solution techniques for disjunctive temporal reasoning problems, Artif. Intell. 151, 43–89.
Tseitin, G. (1970) On the complexity of proofs in propositional logics, Semin. Mat. 8. Reprinted in (Siekmann and Wrightson, 1983).
Wolfman, S. and Weld, D. (1999) The LPSAT-engine and its application to resource planning, in Proceedings IJCAI-99.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer
About this paper
Cite this paper
Armando, A., Castellini, C., Giunchiglia, E., Maratea, M. (2005). The SAT-based Approach to Separation Logic. In: Giunchiglia, E., Walsh, T. (eds) SAT 2005. Springer, Dordrecht. https://doi.org/10.1007/978-1-4020-5571-3_11
Download citation
DOI: https://doi.org/10.1007/978-1-4020-5571-3_11
Publisher Name: Springer, Dordrecht
Print ISBN: 978-1-4020-4552-3
Online ISBN: 978-1-4020-5571-3
eBook Packages: Computer ScienceComputer Science (R0)