Combining Decision Procedures
Merging Models of Theories with Disjoint Languages (Signatures)
Theorem: Let be a finite language
where
. Let
be a conjunction in language
, and for
let
be those literals from
whose symbols appear only in
, as well as equality and disequality literals. Suppose further that if variables
then either
appears in
or
appears in
(thus they also appear in
and
). Let
be a set of sentences in language
for
. Suppose there exists a model for
for
and that these models have domains of same cardinality. Then there exists a model for
.
Note: for
to satisfy the condition, it suffices for it to be flat and to contain equality or disequality for all common variables. One possible way to achieve this is Atomic Diagram Normal Form but there is no need to do case analysis on literals other than equality literals.
Proof (using merging of models): There exists an isomorphism of interpretation such that the resulting structure
agrees with
on the common variables. Extending
with interpratation of symbols in
we obtain the desired model. End.
Proof (using interpolation): First-order logic has interpolation property, by Craig's interpolation theorem. Suppose we have models for
and
, but that there is no model for
. By compactness for first-order logic there exists a finite subset that is contradictory. By interpolation there exists an interpolant
that is, say, implied by
and contradictory with
. The interpolant is in the common language, so it contains only equalities. It can be quantified, but over infinite domains quantifiers can be eliminated in a very simple way (and in any case, it is a fragment of BAPA that has QE). So, the result is a disjunction of conjunctions of equalities and disequalities among the common variables. But because
and
contain a complete atomic type, they either imply or are contradictory with
, depending on whether the atomic diagram normal form contains the atomic type present in
or not. Note that
is contradictory since
is interpolant, so each conjunct in its DNF is contradictory. Therefore,
does not have as a disjunct the atomic diagram present in
or
. Then
is contradictory with
as well. Since
is a consequence of
, it follows that
is contradictory. But we assumed it is satisfiable. End
Example: Take formula
If we take a finite model for uninterpreted functions, we cannot merge it with the model for addition. But there is an infinite model for uninterpreted functions as well, and we can merge this model with the model for integers.
Stable Infiniteness
We wish to use different decision procedures to check satisfiability.
How do we know whether models have same cardinality?
- decision procedure could tell us cardinality of model which it found (see Combined Satisfiability Modulo Parametric Theories)
- we only work with theories that are guaranteed to have infinite models - stable infiniteness requirement
Definition: Theory is stably infinite iff for every quantifier-free formula
, if
is satisfiable then
has an infinite model.
In practice this is not a restriction.
One way to ensure this: make sure that only has infinite models by adding axioms that there exists at least
elements for all
.
- if we need to reason about some number of finitely many elements, add a unary predicate and look at elements that satisfy it
Example: The following theories are stably infinite:
- integers, rationals (in fact, they have only infinite models, because they can define irreflexive total order)
- uninterpreted function symbols: add fresh elements (they do not participate in satisfying assignment of quantifier-free formula)
Combining Decision Procedures By Guessing Arrangements
Suppose we have a collection of decision procedures for stably infinite theories.
Algorithm for deciding quantifier-free formulas in union of those theories:
- generate a conjunction (using SAT solver)
- flatten conjunction and separate it into different theories
- guess an arrangement of equalities (this is additional case analysis)
- apply decision procedure with its literals and the guessed arrangement
This method is complete for quantifier-free formulas:
- if a decision procedure says UNSAT, the conjunction is UNSAT (because conjunctions given to theories are weaker than the entire conjunction)
- if all conjuncts are UNSAT (for all arrangements, for all SAT disjuncts), the problem is UNSAT
- if some conjunct, for some arrangement, is SAT for all decision procedures, then the Theorem above says that the entire conjunction is SAT, so problem is SAT
Convex Theories
Convex theories are theories that allow us to avoid guessing the arrangement.
Idea: instead of just checking SAT/UNSAT, the decision procedure will derive all equalities that follow from the conjunction.
In some cases there is no single equality that follows, but only a disjunction can be derived:
implies but not any other non-trivial equality between variables. We say integer linear arithmetic is a non-convex theory.
Definition: Theory is convex iff for every conjunction of literals
, the condition
implies that there exists
such that
.
In short, a formula in convex theory implies a disjunction iff it implies one of the disjuncts.
Examples of convex theories
- linear arithmetic over rational numbers
- quantifier-free uninterpreted functions
- quantifier-free term algebras
Equality Propagation
Instead of guessing arrangement, split the literals and let theories derive equalities and disjunctions of equalities, and propagate it to all other theories.
- convex theories propagate only individual equalities
- non-convex theories propagate disjunctions of equalities
This is the Nelson-Oppen technique for combining decision procedures.
To see completeness, consider the stage when no theory has new equalities or disjunctsions of equalities to report. Take the conjunction of negations of all remaining atomic formulas. We claim that this is satisfiable for all theories. Indeed, if it was not, then the negation of this conjunction would be implied by one of the theories.
Theory Propagation
Why derive only new equalities and rely on SAT solver to guess literals?
- if theory concludes that a literal must be true, it selects it
- can improve efficiency if the algorithm for theory anyway derives such information
Recent approach - try to propagate candidate equalities (even if they are not implied)
- Model-based Theory Combination, Leonardo de Moura and Nikolaj Bjørner, Workshop on Satisfiability Modulo Theories (SMT), Berlin, Germany, 2007.
Complexity
- if each theory is convex and polynomial time (e.g. congruence closure + real linear arithmetic), then conjunctions can be decided in PTIME
- if each theory is NP (e.g. we also allow integer linear programming), then (even for non-convex theories), any quantifier-free combination is in NP
Theories with Non-Disjoint Languages
Essentially, what is shared between conjunctions of literals in languages in and
is the equality symbol. If more than equality is shared, then interpolation theorem tells us that we may need to exchange quantified formulas. If we have quantifier elimination for the theory of shared signature, then it suffices to exchange quantifier-free formulas.
The correctness proof for Nelson-Oppen techniques in Calculus of Computation Textbook, Section 10.4 uses a proof of Theorem stated above that would generalize to the case of some other theories that admit quantifier elimination.
Proof idea:
- FOL has interpolation property
- if the formula is unsatisfiable, there exists an interpolant in language
, which generalizes the notion of arrangement for equalities
- if we have quantifier elimination for formulas in
with respect to
, then arrangements are quantifier-free
Alternative method: