Commit graph

34 commits

Author SHA1 Message Date
Simon Cruanes
632bec0e66 feat: embed micro theories in theories, fix th-distinct 2019-03-22 20:37:30 -05:00
Simon Cruanes
539186bfe6 feat: modular statistics aggregate 2019-03-22 20:14:28 -05:00
Simon Cruanes
fadf76d944 chore: migrate from sequence to iter 2019-03-22 19:43:05 -05:00
Simon Cruanes
431988d5e4 feat: more expressive theories, also plug distinct in 2019-03-09 16:15:24 -06:00
Simon Cruanes
342dba4533 wip: new micro-theories in CC 2019-02-26 22:46:40 -06:00
Simon Cruanes
c79a5a4798 wip: micro theories 2019-02-22 20:57:17 -06:00
Simon Cruanes
de1cc952a5 refactor: use new msat lazy propagation 2019-02-16 19:09:43 -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
40186a6c76 refactor: renaming `Eq{uiv,}_class 2019-02-08 19:45:20 -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
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
b8445d0ca3 refactor: introduce check_invariants in CC
costly, but helps find bugs
2018-08-18 14:52:44 -05:00
Simon Cruanes
b7518a632a refactor(cc): simplify congruence closure 2018-06-27 21:38:16 -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
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
f3c02ebd58 wip: implement model construction and evaluation 2018-05-28 02:43:31 -05:00
Simon Cruanes
04f25779fa refactor(term): much simpler term model, without builtins or typeclass
just use a few custom functions in `Cst.t`
2018-05-25 23:45:15 -05:00
Simon Cruanes
9b8c21513a refactor: internalize terms earlier 2018-05-25 21:32:24 -05:00
Simon Cruanes
47ddce5960 refactor: use 1st class for theory actions 2018-05-25 20:23:09 -05:00
Simon Cruanes
edeb28c8ad refactor(smt): use list of lits as explanations for propagations 2018-05-25 19:36:53 -05:00
Simon Cruanes
6302d13fe8 wip: use Lit.Set.t for explanations 2018-05-25 19:36:21 -05:00
Simon Cruanes
24bbe97ceb rename to sidekick 2018-05-09 19:28:41 -05:00
Simon Cruanes
4e215e3d01 fix(cc): fix bugs in congruence closure and explanations
also, simplify API for backtracking
2018-04-02 21:10:49 -05:00
Simon Cruanes
543f8a5a99 add distinct handling to congruence closure 2018-02-23 00:44:23 -06:00
Simon Cruanes
d7fc5cf29d fix problems with slices in the SAT core 2018-02-19 20:47:43 -06: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
98934ab74f move boolean builtins to a sublibrary 2018-02-08 23:19:35 -06:00
Simon Cruanes
d73684902f wip: have a proper smtlib parser 2018-02-05 23:09:29 -06:00
Simon Cruanes
221ed7dcdb continue large refactoring, progress in theory combination
- first draft of theory combination
- theory interface
- have the project compile
2018-02-01 22:53:06 -06:00