Commit graph

221 commits

Author SHA1 Message Date
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
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
Simon Cruanes
50fe488dcb refactor types for terms and congruence closure
- terms are extensible
- explanations have a custom case, shaped as a term
- remove distinction repr/node in Equiv_class, for simplicity
- make propositional connectives n-ary
2018-01-30 21:55:37 -06:00
Simon Cruanes
3e50a3fc5d some updates to core lib 2018-01-26 21:32:21 -06:00
Simon Cruanes
ac396e8cf5 rename to cdcl 2018-01-22 22:09:47 -06:00
Simon Cruanes
8c8209c08c large refactoring to keep only a simpler, easier CDCL(T) interface
- only one functor to instantiate
- explicit state that is carried around
- remove minismt stuff
2018-01-22 21:52:06 -06:00
Simon Cruanes
7324647fb1 doc 2018-01-03 22:08:55 +01:00
Simon Cruanes
53cc8b35a0 more controled API for Res 2018-01-03 22:07:40 +01:00
Simon Cruanes
3f4f7ec7e4 a bit of doc 2018-01-03 22:01:12 +01:00
Simon Cruanes
c7015450a1 typo 2017-12-29 22:10:01 +01:00
Simon Cruanes
2caf53c24f expose {push,pop} in main solver 2017-12-29 21:29:43 +01:00
Simon Cruanes
be929d056a remove useless functions 2017-12-29 19:12:17 +01:00
Simon Cruanes
d47071c4f0 reinstate better way of picking watch literals 2017-12-29 19:00:54 +01:00
Simon Cruanes
70fcded713 reset some record accesses, for perf 2017-12-29 18:53:26 +01:00
Simon Cruanes
d415f8ed20 do not expose St in solver, but only expose a restricted API. 2017-12-29 18:29:56 +01:00