Abstract
Most state-of-the-art approaches for Satisfiability Modulo Theories \((SMT(\mathcal{T}))\) rely on the integration between a SAT solver and a decision procedure for sets of literals in the background theory \(\mathcal{T} (\mathcal{T}{\text {-}}solver)\). Often \(\mathcal{T}\) is the combination \(\mathcal{T}_1 \cup \mathcal{T}_2\) of two (or more) simpler theories \((SMT(\mathcal{T}_1 \cup \mathcal{T}_2))\), s.t. the specific \({\mathcal{T}_i}{\text {-}}solvers\) must be combined. Up to a few years ago, the standard approach to \(SMT(\mathcal{T}_1 \cup \mathcal{T}_2)\) was to integrate the SAT solver with one combined \(\mathcal{T}_1 \cup \mathcal{T}_2{\text {-}}solver\), obtained from two distinct \({\mathcal{T}_i}{\text {-}}solvers\) by means of evolutions of Nelson and Oppen’s (NO) combination procedure, in which the \({\mathcal{T}_i}{\text {-}}solvers\) deduce and exchange interface equalities. Nowadays many state-of-the-art SMT solvers use evolutions of a more recent \(SMT(\mathcal{T}_1 \cup \mathcal{T}_2)\) procedure called Delayed Theory Combination (DTC), in which each \({\mathcal{T}_i}{\text {-}}solver\) interacts directly and only with the SAT solver, in such a way that part or all of the (possibly very expensive) reasoning effort on interface equalities is delegated to the SAT solver itself. In this paper we present a comparative analysis of DTC vs. NO for \(SMT(\mathcal{T}_1 \cup \mathcal{T}_2)\). On the one hand, we explain the advantages of DTC in exploiting the power of modern SAT solvers to reduce the search. On the other hand, we show that the extra amount of Boolean search required to the SAT solver can be controlled. In fact, we prove two novel theoretical results, for both convex and non-convex theories and for different deduction capabilities of the \({\mathcal{T}_i}{\text {-}}solvers\), which relate the amount of extra Boolean search required to the SAT solver by DTC with the number of deductions and case-splits required to the \({\mathcal{T}_i}{\text {-}}solvers\) by NO in order to perform the same tasks: (i) under the same hypotheses of deduction capabilities of the \({\mathcal{T}_i}{\text {-}}solvers\) required by NO, DTC causes no extra Boolean search; (ii) using \({\mathcal{T}_i}{\text {-}}solvers\) with limited or no deduction capabilities, the extra Boolean search required can be reduced down to a negligible amount by controlling the quality of the \(\mathcal{T}\)-conflict sets returned by the \({\mathcal{T}_i}{\text {-}}solvers\).
Similar content being viewed by others
References
Ball, T., Cook, B., Lahiri, S.K., Zhang, L.: Zapato: automatic theorem proving for predicate abstraction refinement. In: Proc. CAV’04. LNCS, vol. 3114. Springer, New York (2004)
Barrett, C., Berezin, S.: CVC Lite: a new implementation of the cooperating validity checker. In: Proceedings of the 16th International Conference on Computer Aided Verification (CAV ’04). LNCS, vol. 3114. Springer, New York (2004)
Barrett, C., Nieuwenhuis, R., Oliveras, A., Tinelli, C.: Splitting on demand in SAT modulo theories. In: Proc. LPAR’06. LNAI, vol. 4246. Springer, New York (2006)
Barrett, C., Tinelli, C.: Cvc3. In: Proc. CAV’07. LNCS, vol. 4590. Springer, New York (2007)
Barrett, C.W., Dill, D.L., Stump, A.: A generalization of Shostak’s method for combining decision procedures. In: Frontiers of Combining Systems (FROCOS). Lecture Notes in Artificial Intelligence. Springer, Santa Margherita Ligure (2002)
Bonacina, M.P., Ghilardi, S., Nicolini, E., Ranise, S., Zucchelli, D.: Decidability and undecidability results for Nelson-Oppen and rewrite-based decision procedures. In: Proc. of IJCAR’06. LNAI, no. 4130 (2006)
Bozzano, M., Bruttomesso, R., Cimatti, A., Franzen, A., Hanna, Z., Khasidashvili, Z., Palti, A., Sebastiani, R.: Encoding RTL constructs for MathSAT: a preliminary report. In: Proc. PDPAR’05. ENTCS, vol. 144. Elsevier, Amsterdam (2006)
Bozzano, M., Bruttomesso, R., Cimatti, A., Junttila, T., Rossum, P., Schulz, S., Sebastiani, R.: An incremental and layered procedure for the satisfiability of linear arithmetic logic. In: Proc. TACAS’05. LNCS, vol. 3440. Springer, New York (2005)
Bozzano, M., Bruttomesso, R., Cimatti, A., Junttila, T., van Rossum, P., Ranise, S., Sebastiani, R.: Efficient satisfiability modulo theories via delayed theory combination. In: Proc. CAV 2005. LNCS, vol. 3576. Springer, New York (2005)
Bozzano, M., Bruttomesso, R., Cimatti, A., Junttila, T., van Rossum, P., Ranise, S., Sebastiani, R.: Efficient theory combination via boolean search. Inf. Comput. 204(10), 1493–1525 (2006)
Brinkmann, R., Drechsler, R.: RTL-datapath verification using integer linear programming. In: Proc. ASP-DAC 2002, pp. 741–746. IEEE, Piscataway (2002)
Bruttomesso, R., Cimatti, A., Franzén, A., Griggio, A., Sebastiani, R.: Delayed theory combination vs. Nelson-Oppen for satisfiability modulo theories: a comparative analysis. In: Proc. LPAR’06. LNAI, vol. 4246. Springer, New York (2006)
Bruttomesso, R., Cimatti, A., Franzen, A., Griggio, A., Sebastiani, R.: The MathSAT 4 SMT solver. In: CAV. LNCS, vol. 5123. Springer, New York (2008)
Cotton, S., Maler, O.: Fast and flexible difference logic propagation for DPLL(T). In: Proc. SAT’06. LNCS, vol. 4121. Springer, New York (2006)
de Moura, L., Bjørner, N.: Model-based theory combination. In: Proc. of the 5th Workshop on Satisfiability Modulo Theories SMT’07. http://www.lsi.upc.edu/~oliveras/smt07/ (2007)
de Moura, L., Owre, S., Ruess, H., Rushby, J., Shankar, N.: The ICS decision procedures for embedded deduction. In: Proc. IJCAR’04. LNCS, vol. 3097, pp. 218–222. Springer, New York (2004)
Detlefs, D., Nelson, G., Saxe, J.: Simplify: a theorem prover for program checking. J. ACM 52(3), 365–473 (2005)
Dutertre, B., de Moura, L.: A fast linear-arithmetic solver for DPLL(T). In: Proc. CAV’06. LNCS, vol. 4144. Springer, New York (2006)
Dutertre, B., de Moura, L.: System description: Yices 1.0. In: Proc. on 2nd SMT competition, SMT-COMP’06. yices.csl.sri.com/yices-smtcomp06.pdf (2006)
Enderton, H.: A Mathematical Introduction to Logic. Academic, London (1972)
Filliâtre, J.-C., Owre, S., Rueß, H., Shankar, N.: ICS: Integrated Canonizer and Solver. In: Proc. CAV’2001 (2001)
Flanagan, C., Joshi, R., Ou, X., Saxe, J.B.: Theorem proving using lazy proof explication. In: Proc. CAV 2003. LNCS. Springer, New York (2003)
Fontaine, P., Ranise, S., Zarba, C.G.: Combining lists with non-stably infinite theories. In: Proc. LPAR’04. LNCS, vol. 3452. Springer, New York (2004)
Ganzinger, H., Hagen, G., Nieuwenhuis, R., Oliveras, A., Tinelli, C.: DPLL(T): fast decision procedures. In: Proc. CAV’04. LNCS, vol. 3114, pp. 175–188. Springer, New York (2004)
Ghilardi, S.: Model theoretic methods in combined constraint satisfiability. J. Autom. Reason. 33(3), 221–249 (2004)
Ghilardi, S., Nicolini, E., Zucchelli, D.: A comprehensive framework for combined decision procedures. In: Proc. FroCos’05. LNCS, vol. 3717. Springer, New York (2005)
Krstic, S., Goel, A.: Architecting solvers for SAT modulo theories: Nelson-Oppen with DPLL. In: Proc. Frontiers of Combining Systems, 6th International Symposium, FroCoS 2007. LNAI, vol. 4720. Springer, New York (2007)
Krstić, S., Goel, A., Grundy, J., Tinelli, C.: Combined satisfiability modulo parametric theories. In: TACAS’07. LNCS, vol. 4424. Springer, New York (2007)
Lahiri, S.K., Musuvathi, M.: An efficient decision procedure for UTVPI constraints. In: Proc. of 5th International Workshop on Frontiers of Combining Systems (FroCos ’05). LNCS, vol. 3717. Springer, New York (2005)
Nelson, C.G., Oppen, D.C.: Simplification by cooperating decision procedures. TOPLAS 1(2), 245–257 (1979)
Nieuwenhuis, R., Oliveras, A.: Congruence closure with integer offsets. In: Proc. 10th LPAR. LNAI, no. 2850, pp. 77–89. Springer, New York (2003)
Nieuwenhuis, R., Oliveras, A.: DPLL(T) with exhaustive theory propagation and its application to difference logic. In: Proc. CAV’05. LNCS, vol. 3576. Springer, New York (2005)
Oppen, D.C.: Complexity, convexity and combinations of theories. Theor. Comp. Sci. 12, 291–302 (1980)
Ranise, S., Ringeissen, C., Zarba, C.G.: Combining data structures with nonstably infinite theories using many-sorted logic. In: Proc FroCos’05. LNCS, vol. 3717. Springer, New York (2005)
Rueß, H., Shankar, N.: Deconstructing Shostak. In: Proc. LICS ’01. IEEE Computer Society, Piscataway (2001)
Sebastiani, R.: Lazy satisfiability modulo theories. Journal on Satisfiability, Boolean Modeling and Computation, JSAT. 3, 141–224 (2007)
Shankar, N., Rueß, H.: Combining Shostak theories. Invited paper for Floc’02/RTA’02 (2002)
Shostak, R.: A pratical decision procedure for arithmetic with function symbols. J. ACM 26(2), 51–360 (1979)
Shostak, R.: Deciding combinations of theories. J. ACM 31, 1–12 (1984)
Tinelli, C., Harandi, M.T.: A new correctness proof of the Nelson–Oppen combination procedure. In: Proc. Frontiers of Combining Systems, FroCoS’06. Applied Logic. Kluwer, Dordrecht (1996)
Tinelli, C., Ringeissen, C.: Unions of non-disjoint theories and combinations of satisfiability procedures. Theor. Comp. Sci. 290(1), 291–353 (2003)
Tinelli, C., Zarba, C.: Combining nonstably infinite theories. J. Autom. Reason. 34(3), 209–238 (2005)
Zarba, C.G.: A tableau calculus for combining non-disjoint theories. In: Proc. Tableaux’02. Lecture Notes in Computer Science, vol. 2381, pp. 315–329. Springer, New York (2002)
Zarba, C.G.: Combining sets with integers. In: FroCos’02. Lecture Notes in Computer Science, vol. 2309, pp. 103–116. Springer, New York (2002)
Zhang, L., Madigan, C.F., Moskewicz, M.H., Malik, S.: Efficient conflict driven learning in a boolean satisfiability solver. In: Proc. ICCAD ’01. IEEE, Piscataway (2001)
Zhang, L., Malik, S.: The quest for efficient boolean satisfiability solvers. In: Proc. CAV’02. LNCS, no. 2404, pp. 17–36. Springer, New York (2002)
Author information
Authors and Affiliations
Corresponding author
Additional information
This research was supported in part by the grant SFU/PRG 06-3. The second author is partly supported by the European Commission under project FP7-2007-IST-1-217069 COCONUT. The last author is partly supported by SRC under GRC Custom Research Project 2009-TJ-1880 WOLFLING, and by MIUR under PRIN project 20079E5KM8_002.
Rights and permissions
About this article
Cite this article
Bruttomesso, R., Cimatti, A., Franzen, A. et al. Delayed theory combination vs. Nelson-Oppen for satisfiability modulo theories: a comparative analysis. Ann Math Artif Intell 55, 63–99 (2009). https://doi.org/10.1007/s10472-009-9152-7
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10472-009-9152-7