Commit graph

56 commits

Author SHA1 Message Date
Simon Cruanes
a8e2764e92 lra: refactor theory combination (have CC tell us what terms are subterms) 2021-02-22 12:09:44 -05:00
Simon Cruanes
0e5e40f145 feat(core/cc): expose more from the congruence closure 2021-02-22 12:09:44 -05:00
Simon Cruanes
3979380896 feat(profile): add instant probe 2020-12-22 16:45:55 -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
349d884664 chore: add sidekick-arith library, depends on zarith 2020-10-10 17:18:20 -04:00
Simon Cruanes
7a74ec45b7 fix 2020-10-10 16:39:36 -04:00
Simon Cruanes
e9931b377c remove bloody warn-error 2020-10-10 16:00:21 -04:00
Simon Cruanes
ae6d298790 move to containers 3.0 2020-09-08 22:33:24 -04:00
Simon Cruanes
7032d5220a fix typo in a name 2020-04-27 12:47:11 -04:00
Simon Cruanes
7cfdb3507c fix(th-data): fix acyclicity 2020-02-20 19:32:33 -06: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
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
62b1d83cd6 debug: add type checking in CC.merge 2019-12-28 08:19:59 -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
bf23f7c826 fix(cc): remove too powerful assertion in CC 2019-12-28 05:19:01 -06:00
Simon Cruanes
787b9404af refactor: change debug levels 2019-12-28 05:17:47 -06:00
Simon Cruanes
a4e3fd5a69 feat: provide simple repr->monoid mapping in core 2019-12-28 05:17:47 -06:00
Simon Cruanes
7d8589accd refactor: change the functor stack 2019-10-29 15:06:19 -05:00
Alexander Bentkamp
7fe6f07c0b split on_merge into two events: pre and post merge 2019-08-21 11:43:59 -05:00
Alexander Bentkamp
cde983df86 add assert for Expl.mk_merge 2019-08-21 11:43:59 -05:00
Simon Cruanes
d527b2b945 fix: remove some module aliases for 4.08 2019-07-31 03:25: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
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
38f001b0e7 refactor: move Lit inside the solver, as output, not input 2019-06-07 17:31:11 -05:00
Simon Cruanes
07d3e22cc1 fix(cc): fix error in initial signature 2019-06-07 16:18:38 -05:00
Simon Cruanes
8dcb67552e refactor: rewrite production of explanation in CC
- use a mutable bit in nodes for finding common ancestor
- use fold-like traversal of explanations
2019-06-07 15:50:48 -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
2000114ab4 feat: add more stats 2019-06-07 13:27:03 -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
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
6e9e95c233 wip: functorize everything 2019-05-26 23:20:47 -05:00
Simon Cruanes
ddde590ffd refactor(cc): no micro theories, only callbacks 2019-04-02 21:30:14 -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
d58759aa8c fix: integrate negation into CC; map boolean subterms to literals 2019-03-22 19:41:05 -05:00
Simon Cruanes
cb0b5cbcbd refactor: change signature of CC.Theory.on_new_term 2019-03-09 16:51:39 -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
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
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
4d2bddc660 refactor(cc): smaller explanations for congruence-based merges 2019-02-16 17:43:04 -06:00