A Practical Decision Procedure for Arithmetic with Function Symbols
Journal of the ACM (JACM)
Deciding Combinations of Theories
Journal of the ACM (JACM)
Simplification by Cooperating Decision Procedures
ACM Transactions on Programming Languages and Systems (TOPLAS)
Efficient conflict driven learning in a boolean satisfiability solver
Proceedings of the 2001 IEEE/ACM international conference on Computer-aided design
Unions of non-disjoint theories and combinations of satisfiability procedures
Theoretical Computer Science
A Generalization of Shostak's Method for Combining Decision Procedures
FroCoS '02 Proceedings of the 4th International Workshop on Frontiers of Combining Systems
FroCoS '02 Proceedings of the 4th International Workshop on Frontiers of Combining Systems
A Tableau Calculus for Combining Non-disjoint Theories
TABLEAUX '02 Proceedings of the International Conference on Automated Reasoning with Analytic Tableaux and Related Methods
RTA '02 Proceedings of the 13th International Conference on Rewriting Techniques and Applications
CVC: A Cooperating Validity Checker
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
The Quest for Efficient Boolean Satisfiability Solvers
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
RTL-Datapath Verification using Integer Linear Programming
ASP-DAC '02 Proceedings of the 2002 Asia and South Pacific Design Automation Conference
LICS '01 Proceedings of the 16th Annual IEEE Symposium on Logic in Computer Science
Model-Theoretic Methods in Combined Constraint Satisfiability
Journal of Automated Reasoning
Simplify: a theorem prover for program checking
Journal of the ACM (JACM)
Combining Nonstably Infinite Theories
Journal of Automated Reasoning
Efficient theory combination via boolean search
Information and Computation - Special issue: Combining logical systems
Combined satisfiability modulo parametric theories
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
CAV'07 Proceedings of the 19th international conference on Computer aided verification
Splitting on demand in SAT modulo theories
LPAR'06 Proceedings of the 13th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
LPAR'06 Proceedings of the 13th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
A fast linear-arithmetic solver for DPLL(T)
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
Decidability and undecidability results for nelson-oppen and rewrite-based decision procedures
IJCAR'06 Proceedings of the Third international joint conference on Automated Reasoning
An incremental and layered procedure for the satisfiability of linear arithmetic logic
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Invited contribution: a comprehensive framework for combined decision procedures
FroCoS'05 Proceedings of the 5th international conference on Frontiers of Combining Systems
Combining data structures with nonstably infinite theories using many-sorted logic
FroCoS'05 Proceedings of the 5th international conference on Frontiers of Combining Systems
An efficient decision procedure for UTVPI constraints
FroCoS'05 Proceedings of the 5th international conference on Frontiers of Combining Systems
DPLL(T) with exhaustive theory propagation and its application to difference logic
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
Efficient satisfiability modulo theories via delayed theory combination
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
Fast and flexible difference constraint propagation for DPLL(T)
SAT'06 Proceedings of the 9th international conference on Theory and Applications of Satisfiability Testing
Efficient generation of craig interpolants in satisfiability modulo theories
ACM Transactions on Computational Logic (TOCL)
Sharing is caring: combination of theories
FroCoS'11 Proceedings of the 8th international conference on Frontiers of combining systems
FDCC: a combined approach for solving constraints over finite domains and arrays
CPAIOR'12 Proceedings of the 9th international conference on Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems
Being careful about theory combination
Formal Methods in System Design
TACAS'13 Proceedings of the 19th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Instantiation Schemes for Nested Theories
ACM Transactions on Computational Logic (TOCL)
CAV'13 Proceedings of the 25th international conference on Computer Aided Verification
Hi-index | 0.01 |
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$ .