Commit graph

154 commits

Author SHA1 Message Date
Simon Cruanes
3873718174 refactor: require state in Lit.atom, and in Term.abs
allows abs(false)=true
2019-02-16 17:43:49 -06:00
Simon Cruanes
ac030641db refactor(ty): use Hashcons with weak table for types 2019-02-16 15:23:57 -06:00
Simon Cruanes
3b671aa7a4 refactor(term): use hashconsing with a weak table 2019-02-16 15:08:49 -06:00
Simon Cruanes
1ef0cf4183 refactor: small cleanup in terms 2019-02-16 14:58:13 -06:00
Simon Cruanes
1f68753121 refactor: remove proof printing code 2019-02-16 13:38:54 -06:00
Simon Cruanes
eea95346eb fix: remove dead aliases 2019-02-13 08:52:54 -06:00
Simon Cruanes
9e5c9056d0 test: add a logitest target 2019-02-10 18:07:06 -06:00
Simon Cruanes
5865151247 refactor: return optional proof, do not store if if -no-check was given 2019-02-10 16:59:27 -06:00
Simon Cruanes
b5208da56c fix(tseitin): use final check to push axioms 2019-02-09 23:35:49 -06:00
Simon Cruanes
a463dbb4b5 feat(cc): split sub-library sidekick.cc, make it fully functorized 2019-02-09 21:57:20 -06:00
Simon Cruanes
9d90b7ef66 refactor(cc): add some todos, fix a bug 2019-02-09 16:17:01 -06:00
Simon Cruanes
7b00a9d9e5 feat: expose mini-cc compatible API in Term 2019-02-09 16:16:44 -06:00
Simon Cruanes
40186a6c76 refactor: renaming `Eq{uiv,}_class 2019-02-08 19:45:20 -06:00
Simon Cruanes
a7a5e1d7e1 wip: mini congruence closure to check the main one 2019-02-08 19:44:39 -06:00
Simon Cruanes
f76f6bb0d9 feat(solver): assert true and ¬false 2019-02-01 21:42:28 -06:00
Simon Cruanes
e08bb7b5ac fix(cc): polarity error in distinct-conflict 2019-02-01 21:42:11 -06:00
Simon Cruanes
d95047b65a refactor: a debug msg 2019-02-01 21:26:32 -06:00
Simon Cruanes
a2e177abe8 fix(cc): polarity error in conflicts 2019-02-01 21:12:26 -06:00
Simon Cruanes
a57fdcdeda refactor: use msat 0.8 2019-02-01 20:57:44 -06:00
Simon Cruanes
27d1841f6b wip: migrate to msat 0.8 2019-01-28 21:09:57 -06:00
Simon Cruanes
4fadbeb04d chore: migrate to dune 2019-01-18 18:37:26 -06:00
Simon Cruanes
73c7db2b4e feat(cc): boolean propagation of literals in CC 2018-08-18 19:56:22 -05:00
Simon Cruanes
400f2e02f1 refactor(th-combine): simplify handling of theory conflicts 2018-08-18 18:55:17 -05:00
Simon Cruanes
ca531d73a6 refactor(cc): fix bugs, use list of nodes in equiv class 2018-08-18 18:06:16 -05:00
Simon Cruanes
c2d79b2e6a fix(main): properly handle option no-restarts 2018-08-18 18:05:22 -05:00
Simon Cruanes
162b6fad98 refactor(term): notion of is_value, which are kept as representatives 2018-08-18 17:19:50 -05:00
Simon Cruanes
04eea28cfc chore: disable some warning in Solver 2018-08-18 16:39:38 -05:00
Simon Cruanes
2b2765c67f chore: debug msg 2018-08-18 15:04:29 -05:00
Simon Cruanes
8ea844a5a0 chore: improve debug msg in check invariants 2018-08-18 15:02:44 -05:00
Simon Cruanes
d5ca5c2c81 chore: minor debug msg 2018-08-18 14:56:28 -05:00
Simon Cruanes
6d2d1c91e8 refactor(cc): disable path compression 2018-08-18 14:52:44 -05:00
Simon Cruanes
1d212350ef refactor(cc): internal refactorings 2018-08-18 14:52:44 -05:00
Simon Cruanes
b8445d0ca3 refactor: introduce check_invariants in CC
costly, but helps find bugs
2018-08-18 14:52:44 -05:00
Simon Cruanes
ce9bcb234d refactor(term): printing utils 2018-08-18 14:52:44 -05:00
Simon Cruanes
c9ab548a5a detail in debug 2018-08-17 14:22:36 -05:00
Simon Cruanes
74cd2009a3 refactor: small changes 2018-07-02 18:55:36 -05:00
Simon Cruanes
bf70f9688d refactor(cc): merge the two task queues 2018-06-27 21:43:15 -05:00
Simon Cruanes
b7518a632a refactor(cc): simplify congruence closure 2018-06-27 21:38:16 -05:00
Simon Cruanes
fb713aa171 fix(cc): update terms properly 2018-06-22 21:28:26 -05:00
Simon Cruanes
0931747404 refactor(cc): better handling of terms that should be ignored by CC 2018-06-22 21:02:07 -05:00
Simon Cruanes
9ac274fc09 refactor: simplify literals; remove useless casts in CC; bit for pending nodes 2018-06-22 19:38:04 -05:00
Simon Cruanes
225afb624e fix: add missig module Value 2018-06-17 14:26:07 -05:00
Simon Cruanes
6933a7b5d0 refactor: add reset_tasks function to clear caches on backtrack
also refactor CC a bit
2018-06-16 22:50:03 -05:00
Simon Cruanes
c8ca60461a fix: typo in Th_bool 2018-06-16 20:47:23 -05:00
Simon Cruanes
1f79809644 fix(cc.model): model building needs special case for bool 2018-06-11 21:56:50 -05:00
Simon Cruanes
080cde778e feat(model): proper model construction for CC + fun interpretation 2018-06-11 21:42:02 -05:00
Simon Cruanes
f3c02ebd58 wip: implement model construction and evaluation 2018-05-28 02:43:31 -05:00
Simon Cruanes
20ecdd6c1f remove useless fields 2018-05-28 01:31:34 -05:00
Simon Cruanes
10d394a9c3 fix(cc): public add function must also saturate CC 2018-05-28 01:22:58 -05:00
Simon Cruanes
cac216da20 fix(cc): update handling of signature table (point to node, not repr) 2018-05-26 00:46:27 -05:00