2017 Volume 25 Pages 459-468
All solutions SAT (AllSAT) is the problem of generating satisfying assignments to a given conjunctive normal form (CNF) and has been a key issue commonly found in several applications of formal verification including model checking. CNF encoding, which translates original problems for AllSAT solvers, spawns many auxiliary variables and, what is worse, obscures functional dependencies over variables. AllSAT solvers consequently have to deal with unnecessarily larger CNFs, although the original problems might be much more tractable in essence. This paper proposes a novel AllSAT solver along with a CNF encoding technique; our solver extracts functional dependencies through the encoding process, and the dependence is effectively utilized to solve the CNF. Our solver is designed based on the OBDD compilation technique, which allows us to efficiently handle intractable CNFs with a number of solutions in dynamic programming manner. Our proposal is very simple but powerful; experiments with real network instances showed that our solver exhibits a great improvement.