Commit graph

119 commits

Author SHA1 Message Date
Simon Cruanes
e32d949dd3 refactor CC a bit 2021-06-14 20:01:42 -04:00
Simon Cruanes
2eee760e29 refactor(proof): new serialization; faster implem 2021-06-11 21:53:13 -04:00
Simon Cruanes
ef3fa2b7a7 use newer quip format, with bool-c taking terms 2021-06-11 21:53:13 -04:00
Simon Cruanes
c02da6ce8a feat(proof): progress on preprocessing; proper proofs for th-bool 2021-06-11 21:53:12 -04:00
Simon Cruanes
502dce503c refactor(proof): merge proof and lemma, add composite proof constructor 2021-06-11 21:51:53 -04:00
Simon Cruanes
22d6786c40 refactor(proof): more and better constructs; compile again 2021-06-11 21:51:15 -04:00
Simon Cruanes
ff7a87f3fb wip: feat(proof): insert proof constructs in most of sidekick 2021-06-11 21:50:25 -04:00
Simon Cruanes
57bf44dfb9 feat: basic proof production for QF_UF (wip) 2021-06-11 21:47:53 -04:00
Simon Cruanes
4fd8afb129 more docs; move some code around for a flatter src/ dir structure 2021-06-11 18:47:29 -04:00
Simon Cruanes
9380622096 small refactor 2021-05-03 10:36:04 -04:00
Simon Cruanes
18fbb950bc feat(CC): change cc_view so that App_ho is curried 2021-04-01 22:28:46 -04:00
Simon Cruanes
3693861008 debug msg 2021-03-18 12:13:39 -04:00
Simon Cruanes
45893e92f1 fix: missing preprocessing in LRA; better theory combination 2021-02-22 14:01:55 -05:00
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