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