Simon Cruanes
|
e30c54e11b
|
refactor: use hyper-res steps in proofs
- accelerates proof checking significantly
- provide a way to expand hyper-res steps into individual resolutions
(eg for the Coq backend)
|
2019-03-10 12:12:39 +01:00 |
|
Simon Cruanes
|
b2cec9eaa2
|
perf: use mutable flags on atoms to perform proof checking
|
2019-03-10 12:12:39 +01:00 |
|
Simon Cruanes
|
c39431315f
|
fix: fix test on dune 1.7
|
2019-02-15 17:50:10 -06:00 |
|
Simon Cruanes
|
7f05da56cc
|
fix: cache E_unsat in direct add_clause functions
|
2019-02-11 18:11:33 -06:00 |
|
Simon Cruanes
|
4127db2153
|
Revert "fix: catch E_unsat in assume, if one adds an empty clause"
This reverts commit 5d7e34584bdbfd8326fbbf7f3314d93ac79597ce.
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
7673bddf82
|
fix: catch E_unsat in assume, if one adds an empty clause
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
ea98f6f027
|
refactor: return an array from conflict analysis
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
110eda2f05
|
feat: re-export exn
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
96c4d83781
|
detail: add debug message
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
8ad78b2acd
|
refactor: a bit of cleanup for mcsat
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
7583e78bd2
|
fix(propagate): insert propagated literal itself
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
1ccc292d79
|
refactor: move Backtrackable_ref into its own sub-library
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
8d012d2f49
|
refactor: fix problems from review
- use `cid` instead of `name` for clauses
- has the name of the clause, not its content
- simplified some things
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
ffa769c48c
|
doc: add a section and test on the sudoku solver
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
1632c1a619
|
doc: check something in the readme
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
c376f1d763
|
fix: msat.tseitin depends on msat
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
75476b8dd7
|
test: use mdx to ensure the readme code snippets compile
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
7891f2b69e
|
refactor: cleaner choice of which vector to add a clause to
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
ba4c360cbd
|
fix: when simplifying, copy flags properly
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
d089db3e4d
|
feat: expose printers
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
6dbaa2d335
|
feat: expose eval_atom
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
c89a99e82b
|
rename log-proof to store-proof
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
ebd8ad7110
|
refactor: rename flag clause.{learnt,removable}
more accurate representation of the semantics, esp. for theory lemmas
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
da24541fa0
|
feat: allow optional disabling of proof logging
- goal: do not keep clauses alive after they're gc'd
- default is to indeed log proofs
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
65a8a65095
|
chore: be robust to deprecations
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
f62fa88b0f
|
api: annotate input clauses with theory proofs, too
this replaces the old "tag" system
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
79bd88b999
|
api: remove spurious () for calls to solve
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
1736b4a99e
|
api: sat_state takes formulas, not atoms
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
a58c940c6d
|
feat: ask less from values in mcsat
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
4fbaae7d2d
|
refactor(log): use a S-expr-style format for log messages
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
0a3a3b576a
|
refactor: remove dead code, some basic simplifications
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
fdc042aee3
|
fix: no need to add trivial clauses at all
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
83c0d0e7f1
|
feat: add Value.t to the mcsat interface
it can be useful to separate terms from pure values.
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
95bdc80ed5
|
feat: rename slice to acts, add some functions in it
- add literal
- add term
- eval literal
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
872d4433db
|
feat: add a "backtrackable ref" module
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
8f1c24c1a6
|
refactor: change API to {final,partial}_check
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
a0ba576b0f
|
test: details in sudoku solver
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
ecf1de42b5
|
chore(opam): require sequence
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
a6d74898ff
|
test: add another check to the sudoku solver
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
1c188afb6b
|
test: refactor a bit so that benchs are run by dune
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
9a8f0e9d82
|
test: add small sudoku solver to test the CDCL(T) interface
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
ced266663e
|
refactor: change backtracking API (push/pop_levels)
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
f26f74e119
|
fix: bugfix in construction of slices in SAT/theory interface
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
5e1508ff2b
|
refactor: use a vec for the new clauses
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
14319f959f
|
refactor: a bit of cleanup in analyze
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
a5ec88f2a7
|
refactor: use Var.mark and a pre-allocated vec for analyze
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
cf6147c500
|
details
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
9024b0f0a9
|
refactor: change theory API to be simpler and more imperative
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
53dd3acd4e
|
chore: improve test infra
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
74956e2e87
|
fix(proof): fix proof production for unsat cores
|
2019-02-11 16:55:43 +01:00 |
|