Skip to Main Content
The study proposes a new decision heuristic for Davis Putnam, Loveland and Logemann algorithm (DPLL)-based satisfiability (SAT) solvers based on cube subtraction. Each negated clause is viewed as a cube in the n-dimensional Boolean search space denoting a subspace where no satisfying assignments can be found. Cube subtraction systematically subtracts all clause- cubes from the universal cube that represents the entire n-dimensional Boolean search space. If the result is an empty cube then the problem is unsatisfiable; else the problem is satisfiable. This algorithm can be implemented by modifying the decision engine of a DPLL-based SAT solver. This modification restricts the choice of the next decision variable after a chronological backtrack step. Intuitively, the idea is to confine the search to a clause or a group of clauses, in the hope of getting out of non-solution regions faster and/or learning more useful clauses. This idea is implemented in the well-known zChaff solver. The test suite includes 1252 instances from the DIMACs, IBM-CNF bounded model checking and microprocessor formal verification benchmarks. Significant improvements in execution time and number of timed-out instances have been observed in all cases. Given the breadth of the experimental evaluation, the disjoint cube subtraction search is claimed to be an effective algorithm for improving the performance of SAT solvers.