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
Simon Cruanes
c14f0ba020
make Solver.t more lightweight by removing some useless fields
2017-12-29 17:29:24 +01:00
Simon Cruanes
a65309d5e6
add optional size argument to create functions
2017-12-29 17:24:09 +01:00
Simon Cruanes
99078b2335
make state explicit and add type t state-wrapper in most modules
2017-12-29 16:48:26 +01:00
Simon Cruanes
148c1da3cc
wip: use submodules of Solver_types to clean up code
2017-12-29 15:29:04 +01:00
Simon Cruanes
06af58e6f3
faster addition of clauses' watch literals
...
instead of sorting the whole clause, just select two highest level lits
2017-12-29 12:32:27 +01:00
Simon Cruanes
d6c84b93bf
restrict what Msat core lib exposes, provide shortcuts
2017-12-28 19:31:55 +01:00
Simon Cruanes
1037c06636
use generative functors, remove a layer of nesting for SMT libs
2017-12-28 19:12:41 +01:00
Simon Cruanes
db54c8e9b2
cleanup in fields
2017-12-28 18:03:00 +01:00
Simon Cruanes
7722319b0a
move tseitin transformation into its own lib
2017-12-28 16:01:36 +01:00
Simon Cruanes
ac50e10788
big refactoring
...
- move to jbuilder
- use a functorial heap (with indices embedded in lit/var)
- update Vec with optims from mc2
- change semantics of Vec.shrink
- use new Log module
2017-12-28 15:51:04 +01:00