Commit graph

39 commits

Author SHA1 Message Date
Simon Cruanes
bbb995b0d5
refactor some names related to proofs; wip add unit paramod 2021-10-03 20:32:37 -04:00
Simon Cruanes
df40b5a5c1
wip: refactor(sat): generate detailed proofs again
because proofs now require hypotheses but not in a resolution order, we
can still do conflict minimization.
2021-09-29 22:18:36 -04:00
Simon Cruanes
521340a23f
feat: first full implem of clause pools 2021-08-31 22:56:42 -04:00
Simon Cruanes
f86498b386
feat: make it compile 2021-08-31 18:59:44 -04:00
Simon Cruanes
16bb65ebfa
wip: clause pools 2021-08-31 09:30:28 -04:00
Simon Cruanes
1877c00c02
wip: clauses pools 2021-08-30 09:32:32 -04:00
Simon Cruanes
81caf4824e
wip: feat: additional clause allocators in SAT 2021-08-30 09:03:37 -04:00
Simon Cruanes
baecce0946
feat: use Stat in SAT solver 2021-08-22 01:56:54 -04:00
Simon Cruanes
e93e084eac
refactor: eager proofs; stronger preprocessing
proofs are now directly emitted (almost) everywhere, which simplifies
a lot of things. preprocessing is more recursive (a bit too much
really).
2021-08-22 01:13:41 -04:00
Simon Cruanes
075e251aed
fix: bad sign in SAT solver 2021-08-21 13:41:30 -04:00
Simon Cruanes
1ab7d34a7d
refactor: make it compile again 2021-08-20 18:18:30 -04:00
Simon Cruanes
3fbb9af664 refactor(sat): hide atoms, API now talks only about literals 2021-08-19 09:35:54 -04:00
Simon Cruanes
8bc1f1c864 feat: inner DRUP proof checking for pure-sat-solver 2021-08-19 00:15:00 -04:00
Simon Cruanes
9f01b98cde wip: imperative proofs
- getting closer to having the SMT solver compile again
- dummy proof implementation
- DRUP proof implementation for pure SAT solver
2021-08-18 23:59:39 -04:00
Simon Cruanes
7bead748a6 refactor: move SAT_PROOF into sidekick.core
SAT proofs are part of bigger proofs, now. And we expect them to work on
the literals of CDCL(T) directly, bypassing the low level boolean atoms
2021-08-17 23:59:02 -04:00
Simon Cruanes
27e775ee04 wip: refactor proofs for SMT 2021-08-12 22:05:49 -04:00
Simon Cruanes
b9800023ec feat(sat): missing call to on_learnt; better API 2021-08-02 23:48:52 -04:00
Simon Cruanes
a174e5958a more stats for main 2021-07-21 20:24:27 -04:00
Simon Cruanes
8b94e8404f wip: data-oriented clauses 2021-07-20 23:34:58 -04:00
Simon Cruanes
f2b2bbb973 some stats for the SAT solver 2021-07-19 21:44:58 -04:00
Simon Cruanes
47bb521158 wip: refactor SAT solver 2021-07-19 09:57:02 -04:00
Simon Cruanes
b85c47ece1 wip: refactor(sat): use struct-of-array for atom/var 2021-07-19 09:57:02 -04:00
Simon Cruanes
162fd37d9d wip: refactor 2021-07-19 09:57:02 -04:00
Simon Cruanes
15d86d7c62 refactor(sat): use first-class modules instead of records 2021-07-18 19:18:42 -04:00
Simon Cruanes
1aa160fe56 use a pure sat solver for cnf files 2021-07-18 02:46:04 -04:00
Simon Cruanes
4cb8887639 wip: remove all traces of mcsat from src/sat 2021-07-18 02:14:56 -04:00
Simon Cruanes
4a337a85d3 cleanup msat 2021-07-18 01:29:28 -04:00
Simon Cruanes
27d1841f6b wip: migrate to msat 0.8 2019-01-28 21:09:57 -06:00
Simon Cruanes
c2d79b2e6a fix(main): properly handle option no-restarts 2018-08-18 18:05:22 -05:00
Simon Cruanes
080cde778e feat(model): proper model construction for CC + fun interpretation 2018-06-11 21:42:02 -05:00
Simon Cruanes
fade033458 refactor: get SAT properly again on some problems 2018-05-20 14:30:36 -05:00
Simon Cruanes
4a39192846 refactor(sat): wip: simpler clauses 2018-05-20 13:38:39 -05:00
Simon Cruanes
f69d5cd9f1 refactor(sat): wip: simplify SAT solver 2018-05-20 13:09:51 -05:00
Simon Cruanes
5860612cd9 wip: refactor SAT solver 2018-05-11 20:33:36 -05:00
Simon Cruanes
3968688a35 large refactor of SAT solver, all internal code in Internal now 2018-05-09 22:47:21 -05:00
Simon Cruanes
d53bd8671a lower overhead for adding clauses to the SAT solver
- directly build clauses from arrays
- use IArrays rather than lists, when possible
- pushing local/persistent clauses is now direct, no more queues
2018-02-19 19:47:03 -06:00
Simon Cruanes
e1717f3afe wip: heavy refactoring of SAT solver, making most things backtrackable
the idea is that most changes should be undone upon backtracking,
using the global `on_backtrack` command and `at_level_0` to
know when something is going to be permanent.

In particular, should be (possibly optionally) undone on backtracking:
- addition of clauses (clauses being attached)
- propagations of atoms
- addition of literals to the heap
- internalization of literals (tbd)

clauses should also be added immediately, not pushed into a queue
2018-02-11 22:58:24 -06:00
Simon Cruanes
7b44146102 make it compile! with stubs for conversion parse ast -> ast -> term 2018-02-08 22:19:32 -06:00
Simon Cruanes
d73684902f wip: have a proper smtlib parser 2018-02-05 23:09:29 -06:00
Renamed from src/core/Solver_intf.ml (Browse further)