🤖 AI Summary
This work addresses the problem of verbose and semantically opaque partial assignments induced by CNF conversion in SAT/SMT enumeration. We systematically evaluate the suitability of Tseitin versus Plaisted–Greenbaum (PG) encodings in enumeration contexts. Theoretically and empirically, we show that Tseitin encoding inherently impedes generation of short partial assignments, whereas PG encoding—when combined with negation normal form (NNF) preprocessing—guarantees that each enumerated solution corresponds to a minimal, semantically transparent partial assignment. This synergistic approach is the first to provably eliminate encoding-induced assignment redundancy in enumeration. Evaluated on SMT-LIB benchmarks, it reduces both the number of partial solutions and total runtime by 1–3 orders of magnitude, demonstrating strong theoretical soundness and practical efficacy.
📝 Abstract
Modern SAT and SMT solvers are designed to handle problems expressed in Conjunctive Normal Form (CNF) so that non-CNF problems must be CNF-ized upfront, typically by using variants of either Tseitin or Plaisted and Greenbaum transformations. When passing from plain solving to enumeration, however, the capability of producing partial satisfying assignments that are as small as possible becomes crucial, which raises the question of whether such CNF encodings are also effective for enumeration. In this paper, we investigate both theoretically and empirically the effectiveness of CNF conversions for SAT and SMT enumeration. On the negative side, we show that: (i) Tseitin transformation prevents the solver from producing short partial assignments, thus seriously affecting the effectiveness of enumeration; (ii) Plaisted and Greenbaum transformation overcomes this problem only in part. On the positive side, we prove theoretically and we show empirically that combining Plaisted and Greenbaum transformation with NNF preprocessing upfront -- which is typically not used in solving -- can fully overcome the problem and can drastically reduce both the number of partial assignments and the execution time.