A theory-based decision heuristic for DPLL(T) Dan Goldwasser Ofer Strichman Shai Fine Haifa university Technion IBM-HRL
DPLL Decide SAT Backtrack Analyze BCP conflict UNSAT full assignment partial assignment Backtrack BCP conflict Analyze conflict UNSAT
DPLL(T) Decide SAT Backtrack BCP Analyze conflict UNSAT Deduction full assignment SAT partial assignment Backtrack BCP conflict Analyze conflict UNSAT Deduction Add Clauses T-propagation / T-conflict
Theory propagation Matters for efficiency, not correctness. Depending on the theory, the best strategy can be: No T-implications One T-implication at a time All possible T-implications (“exhaustive theory-propagation”). Cheap-to-compute T-implications … In the case of Linear Real Arithmetic (LRA) … None.
Outline We will see: The potential of theory propagation Why doesn’t it work today How can it be approximated efficiently Speculations: can the theory lead the way ?
A geometric interpretation Let H be a finite set of hyperplanes in d dimensions. Let n = |H| An arrangement of H, denoted A(H), is a partition of Rd. An arrangement in d=2: # cells · O(nd)
A geometric interpretation Consider a consistent partial assignment of size r. e.g. assignment to (l1,l2,l3), hence r =3. How many such T-implications are there ? r = 3 l4 l5 l1 (1,0,0) current partial assignment T-Implied
A geometric interpretation Consider a consistent partial assignment of size r . Theorem 1: O((n ¢ log r) /r) of the remaining constraints intersect the cell [HW87] with high probability (1 - 1/rc). Some example numbers: r = 3, ~47% of the remaining constraints are implied. r = 12, ~70% of the remaining constraints are implied. r = 60, ~90% of the remaining constraints are implied. [HW87] D. Haussler and E. Welzl. Epsilon-nets and simplex range queries. Comput. Geom., 2:127- 151, 1987.
Assigned vs. implied in practice Two benchmarks. Measured averages at T-consistent points
Theory propagation for LRA Let l1, l2, l3 be asserted. Is l4 (or :l4) T-implied ? Two techniques for finding T-implications. “Plunging”: check satisfiability of (l1 Æ l2 Æ l3 Æ l4) and of (l1 Æ l2 Æ l3 Æ :l4) Requires solving a linear system. Too expensive in practice (see e.g. [DdM06]). [DdM06] Integrating simplex with DPLL(T), Dutertre and De Moura, SRI-CSL-06-01
Theory propagation for LRA Let l1, l2, l3 be asserted. Is l4 (or :l4) T-implied ? Two techniques for finding T-implications. Check if all vertices on the same side of l4 There is an exponential number of vertices. Too expensive in practice.
Approximating theory propagation Problem 1: How can we use conjectured information without losing soundness ? Problem 2: how can we find (cheaply) good conjectures i.e., conjectured T-implications
Problem 1: how to use conjectures ? We use conjectured implications just to bias decisions. SAT chooses a variable to decide, we conjecture its value. SAT’s heuristics are T-ignorant.
Problem 2: conjecturing T-implications We examined two methods: k - vertices Find k-vertices. If they are all on the same side of l4 – conjecture that l4 is implied. In this case we conjecture :l4 l4
Problem 2: conjecturing T-implications We examined two methods: k - vertices Find k-vertices. If they are all on the same side of l4 – conjecture that l4 is implied. In this case we conjecture nothing l4
Problem 2: conjecturing T-implications We examined two methods: k - vertices Find k-vertices. If they are all on the same side of l4 – conjecture that l4 is implied. In this case we (falsely) conjecture l4 l4
Problem 2: conjecturing T-implications We examined two methods: k - vertices Find k-vertices. If they are all on the same side of l4 – conjecture that l4 is implied. Too expensive in practice
Problem 2: conjecturing T-implications We examined two methods: One approximated point Here we always conjecture a T-implication. l4
Problem 2: conjecturing T-implications We examined two methods: One approximated point Here we always conjecture a T-implication. l4
Problem 2: conjecturing T-implications We examined two methods: One approximated point Here we always conjecture a T-implication. l4
Problem 2: conjecturing T-implications We examined two methods: One approximated point The idea: use the assignment maintained by Simplex. It’s for free. l4
Problem 2: conjecturing T-implications We examined two methods: One approximated point The idea: use the assignment maintained by Simplex. It’s for free. Competitive SMT solvers Do not activate (general) Simplex after each assignment They only update the assignment according to the ‘simple’ constraints (e.g. “x < c”).
Problem 2: conjecturing T-implications Several possibilities: 22% is T-consistent doesn’t satisfy it is T-consistent satisfies it is T-inconsistent
Problem 2: conjecturing T-implications Our hope: is ‘close’ to the polygon. Therefore it can be successful in guessing implications. Even if l4 is not T-implied, can guide the search. l4
Results Some results for the 200 benchmarks from SMT-COMP’07 Implementation on top of ArgoLib Each column refers to a different strategy of choosing the value.
0-pivot vs. Minisat MiniSat
The bigger picture # of cells is exponential in d rather than exponential in n nd rather than 2n In the SMT-LIB benchmark set, on average n = 10 d. Let n = k*d. k is the ratio we are looking for, beyond which 2^n is larger. We can extract k from 2^{kd} > (kd)^d. we get 2^k > dk. This shows that, e.g. for d = 2^8, the ratio k should be 11 (that is, 11:1). I don’t know d for these benchmarks, but if it is around 2^7 – 2^8, it seems that what we get is that in these benchmarks it is about balanced. But this doesn’t account for the fact that the matrices are sparde, and hence there are less than n^d.
A reversed lazy approach ? Current SAT-based ‘lazy’ approaches Search the Boolean domain check assignment in the theory domain A ‘reversed lazy approach’: Search the theory domain check assignment in the Boolean domain SAT T-solver
Summary We studied LRA from the perspective of computational geometry. We showed efficient (approximated) theory propagation. We showed how approximated information can be used safely. Future research: How can we let the theory lead the search ?