A simple SAT solver based on DPLL algorithm, written in Racket. Only less than 100 lines of code.
raco pkg install SAT to install this package.
As a library, use
(require SAT) to load the library,
(solve filepath)given a filepath of DIMACS file
(get-model)to get the assignment of variables
(parse-dimacs-file filepath)to transform content of a DIMACS file to S-Expressions
(check-sat clauses)to check satisfiability given clauses in S-Expression form
- Improve performance, use Conflict-Driven Clause Learning