Boolean Equi-propagation for Optimized SAT Encoding

Boolean Equi-propagation for Optimized SAT Encoding
Notice: This research summary and analysis were automatically generated using AI technology. For absolute accuracy, please refer to the [Original Paper Viewer] below or the Original ArXiv Source.

We present an approach to propagation based solving, Boolean equi-propagation, where constraints are modelled as propagators of information about equalities between Boolean literals. Propagation based solving applies this information as a form of partial evaluation resulting in optimized SAT encodings. We demonstrate for a variety of benchmarks that our approach results in smaller CNF encodings and leads to speed-ups in solving times.


💡 Research Summary

The paper introduces a novel preprocessing technique for SAT encoding called Boolean equi‑propagation, which treats constraints as propagators of equalities between Boolean literals. Traditional SAT encodings often lose the structural information of high‑level constraints when they are compiled into conjunctive normal form (CNF). This loss is especially problematic for finite‑domain integer variables represented in the order‑encoding, where relationships such as “xᵢ = xᵢ₊₁” encode domain restrictions. The authors argue that once these equalities disappear, the solver can no longer exploit bound propagation or domain pruning, leading to larger CNF formulas and longer solving times.

Equi‑propagation is defined formally as a function μ_ϕ that, given a set of Boolean equalities E, returns an extended set μ_ϕ(E) containing all equalities that are logically implied by the conjunction ϕ ∧ E. A complete equi‑propagator (denoted \hat μ_ϕ) is one that derives every equality that follows from ϕ ∧ E. The authors prove (Theorem 1) that complete equi‑propagation is uniformly stronger than unit propagation: any literal forced by unit propagation is also forced by complete equi‑propagation, and often many more equalities are discovered.

The core of the implementation relies on Binary Decision Diagrams (BDDs). By representing each constraint ϕ as a BDD and intersecting it with the BDDs of the current equalities, the algorithm can efficiently compute the most‑general unifier (MGU) of the equality set. This MGU, called unify(E), is a substitution that maps each Boolean variable to the smallest literal (according to a total order) that it is forced to equal. The authors show that applying unify(E) to ϕ yields a formula that is logically equivalent to ϕ under the equalities, allowing the propagation step to be performed by a simple substitution followed by a check for newly forced equalities. The computation of unify(E) can be done in almost linear amortized time using a union‑find data structure.

Three families of propagation rules are identified:

  1. Equi‑propagation – directly inferring new equalities. For example, if diff(X, Y) is a constraint and Y is already fixed to the bit pattern 1100, then the algorithm deduces that the corresponding bits of X must satisfy x₂ = x₃.

  2. Redundant constraint elimination – detecting that a constraint becomes logically implied by the current equalities and can be removed. In the previous example, diff(X, Y) becomes redundant once x₂ = x₃ is known.

  3. Constraint restriction (don’t‑care elimination) – recognizing bits that no longer affect the satisfaction of a constraint and pruning them away, thereby shrinking the constraint.

High‑level constraints such as `allDiff(


Comments & Academic Discussion

Loading comments...

Leave a Comment