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 |
|