Splr is a pure Rustic SAT solver, based on Glucose 4.1. It adopts various research results on SAT solvers:
Many thanks to SAT researchers.
Just clone me, and cargo install
.
Two executables will be installed:
splr
-- SAT solverdmcr
-- A model checker to verify an assignment set which are generated by splr
.Splr is a standalone program, taking a CNF file. The result will be saved to a file.
```plain $ splr tests/sample.cnf sample.cnf 250,1065 |time: 0.68 #conflict: 33526, #decision: 38700, #propagate: 1521424 Assignment|#rem: 235, #fix: 1, #elm: 14, prg%: 6.0000 Clause Kind|Remv: 11807, LBD2: 75, Binc: 1, Perm: 1079 Restart|#BLK: 403, #RST: 0, eASG: 1.4764, eLBD: 1.0034 Strategy|mode: in the initial search phase to determine a main strategy SATISFIABLE: tests/sample.cnf. The result was saved to ./.ans_sample.cnf.
$ cat .ans_sample.cnf c An assignment set generated by splr-0.1.4 for tests/sample.cnf c c sample.cnf , #var: 250, #cls: 1065 c #conflict: 33526, #decision: 38700, #propagate: 1521424 c Assignment|#rem: 235, #fix: 1, #elm: 14, prg%: 6.0000 c Clause Kind|Remv: 11807, LBD2: 75, Binc: 1, Perm: 1079 c Restart|#BLK: 403, #RST: 0, eASG: 1.4764, eLBD: 1.0034 c Conflicts|aLBD: 8.20, bjmp: NaN, cnfl: NaN |blkR: 1.4000 c Clause DB|#rdc: 5, #sce: 2, #exe: 0 |frcK: 0.8200 c Strategy|mode: initial, time: 0.66 c s SATISFIABLE 1 2 3 4 -5 6 7 -8 -9 10 -11 -12 -13 -14 15 16 -17 18 -19 -20 -21 -22 23 ... 0
$ dmcr tests/sample.cnf Valid assignment set for tests/sample.cnf found in .ans_sample.cnf. ```
While Splr comes with ABSOLUTELY NO WARRANTY, Splr version 0.1.0 (splr-0.1.0) was verified with the following problems:
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
2019, Shuji Narazaki