\({\mathcal{T}}\)-Decision by Decomposition

  • Maria Paola Bonacina
  • Mnacho Echenim
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4603)


Much research concerning Satisfiability Modulo Theories is devoted to the design of efficient SMT-solvers that integrate a SAT-solver with \({\mathcal{T}}\)-satisfiability procedures. The rewrite-based approach to \({\mathcal{T}}\)-satisfiability procedures is appealing, because it is general, uniform and it makes combination of theories simple. However, SAT-solvers are unparalleled in handling the large Boolean part of \({\mathcal{T}}\)-decision problems of practical interest. In this paper we present a decomposition framework that combines a rewrite-based theorem prover and an SMT solver in an off-line mode, in such a way that the prover “compiles the theory away,” so to speak. Thus, we generalize the rewrite-based approach from \({\mathcal{T}}\) -satisfiability to \({\mathcal{T}}\)-decision procedures, making it possible to use the rewrite-based prover for theory reasoning and the SAT-solver in the SMT-solver for Boolean reasoning. We prove the practicality of this framework by giving decision procedures for the theories of records, integer offsets and arrays.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Armando, A., Bonacina, M.P., Ranise, S., Schulz, S.: On a rewriting approach to satisfiability procedures: Extension, combination of theories and an experimental appraisal. In: Gramlich, B. (ed.) Frontiers of Combining Systems. LNCS (LNAI), vol. 3717, pp. 65–80. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  2. 2.
    Armando, A., Bonacina, M.P., Ranise, S., Schulz, S.: New results on rewrite-based satisfiability procedures. ACM Transactions on Computational Logic, Accepted pending revision, February 2007, full version of [1] (2007), available at http://profs.sci.univr.it/~bonacina/rewsat.html
  3. 3.
    Armando, A., Ranise, S., Rusinowitch, M.: A rewriting approach to satisfiability procedures. Inf. Comput. 183(2), 140–164 (2003)MATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    Bonacina, M.P.: A taxonomy of theorem-proving strategies. In: Veloso, M.M., Wooldridge, M.J. (eds.) Artificial Intelligence Today. LNCS (LNAI), vol. 1600, pp. 43–84. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  5. 5.
    Bonacina, M.P., Echenim, M.: On variable-inactivity and polynomial T-satisfiability procedures (submitted)Google Scholar
  6. 6.
    Bonacina, M.P., Echenim, M.: Rewrite-based satisfiability procedures for recursive data structures. In: Cook, B., Sebastiani, R. (eds.) Proc. 4th PDPAR Workshop, FLoC 2006, ENTCS, Elsevier, Amsterdam (to appear) Google Scholar
  7. 7.
    Bonacina, M.P., Echenim, M.: Theory decision by decomposition. Technical Report RR 50/2007 Dipartimento di Informatica, Università degli Studi di Verona (2007), Available at http://profs.sci.univr.it/~echenim
  8. 8.
    Bradley, A.R., Manna, Z., Sipma, H.B.: What’s decidable about arrays? In: Emerson, E.A., Namjoshi, K.S. (eds.) VMCAI 2006. LNCS, vol. 3855, pp. 427–442. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  9. 9.
    Cyrluk, D., Möller, O., Rueß, H.: An efficient decision procedure for a theory of fixed-sized bitvectors with composition and extraction. Technical Report UIB96-08, Fakultät für Informatik, Universität Ulm, Ulm, Germany (1996)Google Scholar
  10. 10.
    Dershowitz, N., Plaisted, D.A.: Rewriting. In: Robinson, J., Voronkov, A. (eds.) Handbook of Automated Reasoning, vol. I, pp. 535–610. Elsevier, Amsterdam (2001)CrossRefGoogle Scholar
  11. 11.
    Detlefs, D.L., Nelson, G., Saxe, J.B.: Simplify: a theorem prover for program checking. J. ACM 52(3), 365–473 (2005)CrossRefMathSciNetGoogle Scholar
  12. 12.
    Nelson, G., Oppen, D.C.: Simplification by cooperating decision procedures. ACM TOPLAS 1(2), 245–257 (1979)MATHCrossRefGoogle Scholar
  13. 13.
    Nieuwenhuis, R., Oliveras, A., Tinelli, C.: Solving SAT and SAT Modulo Theories: from an Abstract Davis-Putnam-Logemann-Loveland Procedure to DPLL(T). J. ACM 53(6), 937–977 (2006)CrossRefMathSciNetGoogle Scholar
  14. 14.
    Nieuwenhuis, R., Rubio, A.: Paramodulation-based theorem proving. In: Robinson, J.A., Voronkov, A. (eds.) Handbook of Automated Reasoning, pp. 371–443. Elsevier and MIT Press (2001)Google Scholar
  15. 15.
    Peltier, N.: A calculus combining resolution and enumeration for building finite models. Journal of Symbolic Computation 36(1-2), 49–77 (2003)MATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Schulz, S.: E – a brainiac theorem prover. J. of AI Communications 15(2–3), 111–126 (2002)MATHGoogle Scholar
  17. 17.
    Stump, A., Barrett, C.W., Dill, D.L., Levitt, J.R.: A decision procedure for an extensional theory of arrays. In: LICS, pp. 29–37 (2001)Google Scholar
  18. 18.
    Zhang, L., Malik, S.: The quest for efficient boolean satisfiability solvers. In: Voronkov, A. (ed.) Automated Deduction - CADE-18. LNCS (LNAI), vol. 2392, pp. 295–313. Springer, Heidelberg (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Maria Paola Bonacina
    • 1
  • Mnacho Echenim
    • 1
  1. 1.Dipartimento di Informatica, Università degli Studi di Verona, Strada Le Grazie 15, I-39134 VeronaItaly

Personalised recommendations