https://github.com/kraks/sat.rkt
A simple SAT solver based on DPLL written in Racket.
https://github.com/kraks/sat.rkt
racket sat-solver scheme
Last synced: 3 months ago
JSON representation
A simple SAT solver based on DPLL written in Racket.
- Host: GitHub
- URL: https://github.com/kraks/sat.rkt
- Owner: Kraks
- License: other
- Created: 2016-10-19T19:01:48.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2022-01-08T02:01:42.000Z (over 3 years ago)
- Last Synced: 2025-04-24T00:05:23.577Z (3 months ago)
- Topics: racket, sat-solver, scheme
- Language: Racket
- Homepage:
- Size: 2.31 MB
- Stars: 8
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# SAT.rkt
A simple SAT solver based on DPLL algorithm, written in Racket. Only less than 100 lines of code.
### Usages
Use `raco pkg install SAT` to install this package.
As a library, use `(require SAT)` to load the library,
* use `(solve filepath)` given a filepath of DIMACS file
* use `(get-model)` to get the assignment of variables
* use `(parse-dimacs-file filepath)` to transform content of a DIMACS file to S-Expressions
* use `(check-sat clauses)` to check satisfiability given clauses in S-Expression form### TODO
* Improve performance, use Conflict-Driven Clause Learning