Skip to content

Latest commit

 

History

History
43 lines (29 loc) · 1.31 KB

README.md

File metadata and controls

43 lines (29 loc) · 1.31 KB

nksat

nksat is a lightweight SAT solver written in C++. nksat checks systems of boolean equations for satisfiability. nksat expects a single input file in the standard DIMACS .cnf input format.

Under the hood, nksat uses the DPLL algorithm and makes use of the "two watched literals" and "pure literal elimation" optimizations.

Building nksat

nksat has the following dependencies:

  • A working C++ compiler and build system (e.g. Make)
  • CMake

To build nksat, create a new directory (e.g. build) inside the project root directory, and then inside that directory run the following command (assuming Make is the default build system):

cmake .. && make

This command will generate and run the build files. An nksat executable will be created in the build directory.

Running nksat

nksat can be run using the following command: nksat <path/to/.cnf/file>

nksat expects input files to be in the DIMACS .cnf format as described here.

nksat will output either a satisfying assignemnt or inform if no such assignment exists.

Credit

nksat was written jointly by:

Both authors contributed equally.