A CDCL SAT solver implemented in Java, for a university course.
- Java 8
Several sample CNF formulas are given in the folder inputs
.
Run the main()
method in src/com/kentnek/cdcl/FormulaHelper.java
. Generated CNF formulas will be written to the
inputs/generated
folder.
- Update the value of the
INPUT_FILE_PATH
constant insrc/com/kentnek/cdcl/Main.java
with the path of the desired test case. - Run the
main()
method. - If the formula is satisfiable, the solver will output an assignment and verify it.
- If the formula is unsatisfiable, the solver will generate a refutation proof, verify it and write it to an output file
in the
proofs
folder.
- Kent Nguyen - Initial work - Kent
This project is licensed under the MIT License - see the LICENSE.md file for details
- Professor Kuldeep S. Meel, for his thorough introduction to CDCL solvers and guidance on the project.
- The Handbook of Satisfiability.