Commit graph

41 commits

Author SHA1 Message Date
Simon Cruanes
9839e5a36b feat(core): add push_decision, for model-based th combination 2020-11-17 18:23:16 -05:00
Simon Cruanes
60fe3506d5 feat(core): add CC.explain_eq to explain why two nodes were merged 2020-11-17 18:22:51 -05:00
Simon Cruanes
9a3e387405 refactor: explicit recursion in preprocessing
if a preprocessor fires, it's up to it to preprocess subterms. rewriting
is now from the root, not the leaves on.

Use that in LRA to rewrite under linear expressions.
2020-11-12 18:21:37 -05:00
Simon Cruanes
c67e44e654 detail 2020-10-09 23:59:38 -04:00
Simon Cruanes
95edfd9aa9 wip: LRA theory 2020-09-23 21:58:54 -04:00
Simon Cruanes
ae6d298790 move to containers 3.0 2020-09-08 22:33:24 -04:00
Simon Cruanes
bb449257d8 fix(solver): in final-check, fixpoint until CC has no merges 2020-02-15 14:40:57 -06:00
Simon Cruanes
11d8f8e879 remove dead code, some printing info 2020-02-15 14:33:44 -06:00
Simon Cruanes
e21dea4780 feat(cc): flag some explanations as being theory-induced 2020-01-17 18:49:14 -06:00
Simon Cruanes
a31b2b36ef fixes: add missing expl in monoids; handle is-c t 2020-01-14 22:41:33 -06:00
Simon Cruanes
b332e8ceb0 fix: preprocess away "ite" 2020-01-14 20:23:23 -06:00
Simon Cruanes
91e9b6cc2c feat: initial support for is-a/select 2019-12-28 07:08:23 -06:00
Simon Cruanes
6aafaad48f feat(data): store is-a/select parents in a monoid 2019-12-28 06:15:50 -06:00
Simon Cruanes
d52fb1e5fd core: add iter_all in monoid class 2019-12-28 05:19:01 -06:00
Simon Cruanes
a4e3fd5a69 feat: provide simple repr->monoid mapping in core 2019-12-28 05:17:47 -06:00
Simon Cruanes
5b3cadf1e1 fix: missing type equality 2019-11-01 15:10:43 -05:00
Simon Cruanes
d4c3d3e443 cleanup: remove a few functions 2019-11-01 14:17:28 -05:00
Simon Cruanes
9ddce6a186 feat(check-cc): add statistics 2019-10-30 13:31:04 -05:00
Simon Cruanes
7d8589accd refactor: change the functor stack 2019-10-29 15:06:19 -05:00
Simon Cruanes
1658887ea3 feat: basic production of models 2019-10-02 18:44:02 -05:00
Alexander Bentkamp
7fe6f07c0b split on_merge into two events: pre and post merge 2019-08-21 11:43:59 -05:00
Simon Cruanes
769b80030a feat: progress bar in solver 2019-07-31 04:36:32 -05:00
Simon Cruanes
d527b2b945 fix: remove some module aliases for 4.08 2019-07-31 03:25:04 -05:00
Simon Cruanes
33a7843162 feat: expose more from atoms 2019-06-13 10:43:04 -05:00
Simon Cruanes
2430eb754d feat(cc): make bitfields non-global; remove dead code 2019-06-11 11:38:54 -05:00
Simon Cruanes
ed4ba4057f feat: solver actions are the same as CC actions 2019-06-11 10:28:00 -05:00
Simon Cruanes
3e7ef47fab feat: add CC.merge_t 2019-06-11 10:26:04 -05:00
Simon Cruanes
36449d1645 feat(cc): expose a way to access bitfields 2019-06-10 15:19:57 -05:00
Simon Cruanes
6c603d5589 refactor: remove code that checks invariants 2019-06-10 14:28:05 -05:00
Simon Cruanes
b2f6a30cc8 feat: function to add a theory and retain its state 2019-06-10 14:16:09 -05:00
Simon Cruanes
38f001b0e7 refactor: move Lit inside the solver, as output, not input 2019-06-07 17:31:11 -05:00
Simon Cruanes
ef1110925f feat(cc): callback on propagations 2019-06-07 14:58:41 -05:00
Simon Cruanes
357dc73426 feat(check): use mini-cc to check CC conflicts on the fly 2019-06-07 14:47:52 -05:00
Simon Cruanes
2efa811b3f fix: more precise signature 2019-06-07 11:34:06 -05:00
Simon Cruanes
e3e964a4c6 fix: first version that seems to work on QF_UF 2019-06-07 11:23:53 -05:00
Simon Cruanes
cad49b3747 wip: preprocess/simplify as part of theories 2019-06-06 17:13:21 -05:00
Simon Cruanes
2e7ab9ba9b wip: simplify a lot and only keep th-bool-static in the functor 2019-06-05 16:53:13 -05:00
Simon Cruanes
080a20480f refactor: continue functorization of sidekick 2019-05-27 19:55:21 -05:00
Simon Cruanes
c36092d217 refactor: updated interface for sidekick_core 2019-05-27 17:03:51 -05:00
Simon Cruanes
6e9e95c233 wip: functorize everything 2019-05-26 23:20:47 -05:00
Simon Cruanes
bb0c0d44b2 wip: add core library with signatures for the whole system 2019-05-18 18:27:39 -05:00