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