Commit graph

745 commits

Author SHA1 Message Date
Simon Cruanes
fadf76d944 chore: migrate from sequence to iter 2019-03-22 19:43:05 -05:00
Simon Cruanes
d58759aa8c fix: integrate negation into CC; map boolean subterms to literals 2019-03-22 19:41:05 -05:00
Simon Cruanes
866249deb1 test: add more tests 2019-03-22 18:49:25 -05:00
Simon Cruanes
90eedeaf8d chore: use msat 0.8 in opam 2019-03-22 18:43:21 -05:00
Simon Cruanes
7a2f59e9dd feat: add basic theory of constructors 2019-03-09 16:51:57 -06:00
Simon Cruanes
cb0b5cbcbd refactor: change signature of CC.Theory.on_new_term 2019-03-09 16:51:39 -06:00
Simon Cruanes
314bd7f8b2 feat: add ite theory 2019-03-09 16:16:21 -06:00
Simon Cruanes
431988d5e4 feat: more expressive theories, also plug distinct in 2019-03-09 16:15:24 -06:00
Simon Cruanes
d4758a2fcf cleanup 2019-03-03 16:22:14 -06:00
Simon Cruanes
f58bdb5f30 feat: first working version of th-distinct as a separate theory 2019-03-03 15:17:06 -06:00
Simon Cruanes
23c0e3c087 wip: new "distinct" theory 2019-02-26 22:46:43 -06:00
Simon Cruanes
342dba4533 wip: new micro-theories in CC 2019-02-26 22:46:40 -06:00
Simon Cruanes
57147cea85 chore: add common dune file 2019-02-26 22:46:13 -06:00
Simon Cruanes
c79a5a4798 wip: micro theories 2019-02-22 20:57:17 -06:00
Simon Cruanes
77a5475862 wip: cleanup cc 2019-02-22 18:54:56 -06:00
Simon Cruanes
de1cc952a5 refactor: use new msat lazy propagation 2019-02-16 19:09:43 -06:00
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
4d2bddc660 refactor(cc): smaller explanations for congruence-based merges 2019-02-16 17:43:04 -06:00
Simon Cruanes
14255f94a7 refactor(cc): remove dead code 2019-02-16 15:32:35 -06:00
Simon Cruanes
365aedb138 perf(cc): path compression 2019-02-16 15:28:16 -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
a14fe25ba0 chore: add tools, update gitignore 2019-02-16 14:50:34 -06:00
Simon Cruanes
e878907f4b refactor(bool): bool-view of terms, functorized theory 2019-02-16 14:49:00 -06:00
Simon Cruanes
1f68753121 refactor: remove proof printing code 2019-02-16 13:38:54 -06:00
Simon Cruanes
c06e4025fa perf(bag): remove constant-time size 2019-02-16 13:38:43 -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
8614d9bb0c feat: use gc alarm to check resources 2019-02-10 17:11:29 -06:00
Simon Cruanes
26b4f677e0 test: update some tests 2019-02-10 17:00:38 -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
62ea8fd0cb fix(thbool): fix non-termination issue by creating clauses at most once 2019-02-10 16:24:04 -06:00
Simon Cruanes
b5208da56c fix(tseitin): use final check to push axioms 2019-02-09 23:35:49 -06:00
Simon Cruanes
bf0171fec1 fix(cc): merge parents properly 2019-02-09 22:11:50 -06:00
Simon Cruanes
1328d043e3 fix(cc): restore distinct 2019-02-09 21:59:25 -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
de1653bdcc chore: remove ocamlinit file 2019-02-09 16:43:37 -06:00
Simon Cruanes
431d8fe4ac small style change 2019-02-09 16:17:15 -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
0326c07c16 refactor: add Sidekick_util with some re-exports 2019-02-08 19:44:59 -06:00
Simon Cruanes
a7a5e1d7e1 wip: mini congruence closure to check the main one 2019-02-08 19:44:39 -06:00
Simon Cruanes
f2eecaa758 feat(th-bool): flattening of and/or also removes neutral elts 2019-02-01 21:42:44 -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
3eabeb4e2e fix(bstack): another stupid error 2019-02-01 21:41:54 -06:00
Simon Cruanes
d95047b65a refactor: a debug msg 2019-02-01 21:26:32 -06:00
Simon Cruanes
91389d2b5e fix(bstack): fix bug in n-levels 2019-02-01 21:25:50 -06:00