optimization,satisfiability,cnf

You could use the Riss3g Coprocessor of Norbert Manthey to simplify your CNF. The SAT solver minisat 2 allows to store the preprocessed CNF in a file. Lingeling, a SAT solver from Austria has an option "-s" to simplify CNF clauses. To convert a Boolean expression into a simplified CNF,...

Working With SBV Working with SBV requires that you follow the types and realize the Predicate is just a Symbolic SBool. After that step it is important that you investigate and discover Symbolic is a monad - yay, a monad! Now that you you know you have a monad then...

If you want to generate something randomly, I suggest a nondeterminism monad, of which MonadRandom is a popular choice. I would suggest two inputs to this procedure: vars, the number of variables, and clauses the number of clauses. Of course you could always generate the number of clauses at random...

algorithm,satisfiability,reference-implementation

I didn't know any program to do that either, but the algorithm is really simple so just I wrote the following python script (download) that reads a general CNF in DIMACS format and writes the CNF of an equivalent 3-SAT problem in DIMACS format: from __future__ import print_function import fileinput...

declarative,satisfiability,answer-set-programming

SAT competition benchmark instances are typically created by using specially tailored generator programs rather than general ASP grounders. The benchmark requirements are described here. Other options to create a CNF/DIMACS file include: Translate a Boolean expression via Limboole, bool2cnf or bc2cnf Compile a MiniZinc constraint declaration into CNF/DIMACS Convert ANF...