Implementation of a SAT solver using watches, restarts and clause learning. Based on the SAT Solving course of Prof. Armin Biere at Freiburg University.
To compile run ./configure && make
for optimized compilation and
./configure --debug && make
if you want to include symbols and disable
assertion checking. See ./configure -l
for more options.
The code is supposed to be kept formatted with clang-format
for which
you need to install it first and then issue make format
.
There are regression tests included, see make test
.
cdcl-sat
: the executable binary after compilation.cdcl-sat.cpp
: the self-contained actual C++ solver code.cnfs
: test files in DIMACS format and test runnertest/run.sh
.config.hpp
: generated bygenerate
to capture build information.configure
: theconfigure
script generatesmakefile
.generate
: thegenerate
script generatesconfig.hpp
.LICENSE
: the license file (currently MIT license).makefile
: the actual makefile generated frommakefile.in
.makefile.in
: the makefile template instantiated tomakefile
.README.md
: this overview file.VERSION
: the version number.