Skip to main content

The SAT-based Approach to Separation Logic

  • Conference paper
SAT 2005

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 xyc, 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 xy < 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.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

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.

    Article  MathSciNet  MATH  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    MathSciNet  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Böhm, M. and Speckenmeyer, E. (1996) A fast parallel SAT-solver — efficient workload balancing, Ann. Math. Artif. Intell. 17, 381–400.

    Article  MATH  Google Scholar 

  • 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).

    Google Scholar 

  • Castellini, C., Giunchiglia, E. and Tacchella, A. (2003) SAT-based planning in complex domains: concurrency, constraints and nondeterminism, Artif. Intell. 147, 85–117.

    MathSciNet  MATH  Google Scholar 

  • Cormen, T. H., Leiserson, C. E., Rivest, R. L. and Stein, C. (2001) Introduction to Algorithms, MIT.

    Google Scholar 

  • 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.

    Google Scholar 

  • D’Agostino, M. (1992) Are tableaux an improvement on truth-tables? J. Logic, Lang. Inf. 1, 235–252.

    Article  MathSciNet  MATH  Google Scholar 

  • Davis, M., Logemann, G. and Loveland, D. (1962) A machine program for theorem proving, Journal of the ACM 5(7).

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Article  MathSciNet  Google Scholar 

  • Gent, I., Maaren, H. V. and Walsh, T. (eds.) (2000) SAT2000. Highlights of Satisfiability Research in the Year 2000, IOS.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    MathSciNet  Google Scholar 

  • 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).

    Article  MathSciNet  MATH  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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).

    Google Scholar 

  • 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.

    Google Scholar 

  • Plaisted, D. and Greenbaum, S. (1986) A structure-preserving clause form translation, J. Symb. Comput. 2, 293–304.

    MathSciNet  MATH  Google Scholar 

  • Pratt, V. R. (1977) Two easy theories whose combination is hard, Technical report, Massachusetts Institute of Technology.

    Google Scholar 

  • Prosser, P. (1993) Domain filtering can degrade intelligent backjumping search, in Proc. IJCAI, pp. 262–267.

    Google Scholar 

  • Siekmann, J. and Wrightson, G. (eds.) (1983) Automation of Reasoning: Classical Papers in Computational Logic 1967–1970, Vol. 1–2, Springer.

    Google Scholar 

  • Stergiou, K. and Koubarakis, M. (1998) Backtracking algorithms for disjunctions of temporal constraints, in Proceedings of AAAI/IAAI, Madison, WI (USA), pp. 248–253.

    Google Scholar 

  • Stergiou, K. and Koubarakis, M. (2000) Backtracking algorithms for disjunctions of temporal constraints, Artif. Intell. 120(1), 81–117.

    Article  MathSciNet  MATH  Google Scholar 

  • Strichman, O., Seshia, S. A. and Bryant, R. E. (2002) Deciding separation formulas with SAT, Lect. Notes Comput. Sci. 2404, 209–222.

    Article  MathSciNet  Google Scholar 

  • 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.

    Google Scholar 

  • Tsamardinos, I. and Pollack, M. (2003) Efficient solution techniques for disjunctive temporal reasoning problems, Artif. Intell. 151, 43–89.

    Article  MathSciNet  MATH  Google Scholar 

  • Tseitin, G. (1970) On the complexity of proofs in propositional logics, Semin. Mat. 8. Reprinted in (Siekmann and Wrightson, 1983).

    Google Scholar 

  • Wolfman, S. and Weld, D. (1999) The LPSAT-engine and its application to resource planning, in Proceedings IJCAI-99.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics