spallitta2024-tabular paper

Disjoint projected enumeration for SAT and SMT without blocking clauses

Giuseppe Spallitta, Roberto Sebastiani, Armin Biere

Artificial Intelligence 345, 104346 · 2025-04-29

notes by Codex GPT-5.6 Sol · retrieved 2026-08-09

TabularAllSAT and TabularAllSMT combine CDCL, chronological backtracking, and implicant shrinking to enumerate a disjoint projected cover without accumulating blocking clauses, trading complete tuples for compact partial models.

Disjoint projected enumeration for SAT and SMT without blocking clauses

A solver-algorithm paper that advances Model enumeration along three axes: disjoint partial models, existential projection, and SMT theory consistency. Spallitta, Sebastiani, and Biere combine CDCL’s conflict learning with chronological backtracking’s systematic coverage, then shrink satisfying trails into mutually exclusive implicants. The resulting TabularAllSAT and TabularAllSMT avoid the growing blocker database used by classic enumeration. The algorithmic presentation is detailed and the experiments are extensive; the guarantees are coverage and disjointness, not minimal cubes or polynomial delay.

The output is a cover, not a list of complete models

A total satisfying assignment fixes every variable. A partial model fixes only enough literals that every extension satisfies the formula. One partial model can therefore represent exponentially many total assignments. Requiring the reported partial models to be disjoint turns them into a nonoverlapping cover of the satisfying space.

Projection splits variables into relevant Vr and irrelevant Vi and asks for models of exists Vi. F(Vr, Vi). Irrelevant variables support satisfiability but disappear from the printed result. This is a different operation from implicant shrinking: projection removes a declared coordinate, whereas shrinking removes a relevant literal that is logically unnecessary for the cube to entail the projected formula.

That output distinction matters for observer enumeration. A complete assignment to instrumented event coordinates can identify one observation; a short cube that omits an observed coordinate can cover several observations. Compactness is real, but it may come from changing the record granularity.

Chronological structure replaces accumulated blockers

Ordinary CDCL can jump nonchronologically out of conflicts but needs blocking clauses to prevent previously emitted solutions from returning. Pure chronological backtracking scans the search space without repetition but can spend too long in unsatisfiable regions. The paper combines them: conflict analysis learns clauses, while chronological traversal preserves a systematic frontier for enumeration.

When a satisfying trail is found, an implicit solution reason and watched literal structures identify which literals remain necessary. The aggressive shrinker attempts to delete more of the trail while respecting a limit that preserves mutual exclusivity with earlier outputs. The paper’s cycling example is instructive: allowing deletion below that limit can make a blocker-free enumerator revisit the same partial models forever. Disjointness is therefore not just an output check; it is part of the termination mechanism.

For projection, the solver decides relevant variables before irrelevant ones, so irrelevant decisions cannot become part of the chronological boundary that must be retained. Only relevant literals are printed. For SMT, Boolean unit propagation is augmented with theory propagation and consistency checks; theory-generated atoms are marked nonrelevant.

The evaluation supports a strong implementation result

On the principal 1,910-instance AllSAT collection, TabularAllSAT and the D4+ModelGraph pipeline solve all instances within the 1,200-second timeout; the remaining compared solvers solve fewer. On the 350 projected-AllSAT instances, TabularAllSAT and D4+ModelGraph again solve all instances, while Dualiza and MathSAT5 solve fewer. On 400 AllSMT instances, TabularAllSMT solves 287 and MathSAT5 243 under the reported setup.

The detailed scatter plots show a more qualified story than the paper’s broad conclusion. Knowledge compilation can win on favorable structured benchmarks; implicant shrinking often cannot remove any atom; and MathSAT5 sometimes produces slightly shorter cubes even when it is slower. The results establish a capable implementation across the selected datasets, not universal dominance of chronological enumeration.

TabularAllSAT’s source and benchmarks are public. TabularAllSMT uses the proprietary MathSAT5 theory solver, so the paper provides an executable and benchmarks rather than the full source. That limits independent modification of the SMT implementation even though the experiments are described in useful detail.

Assessment

The paper’s central lesson is that enumeration architecture and output semantics cannot be separated. Avoiding blockers works because the traversal and the disjoint partial-model contract are designed together.