Commit graph

99 commits

Author SHA1 Message Date
Simon Cruanes
6578ea9136 move form to sidekick_base; rename {Term,Ty}.state into store 2021-07-03 22:48:44 -04:00
Simon Cruanes
80b50e8744 refactor: add solver instance in sidekick base
move some functor instantiations from `sidekick-bin.smtlib` to
`sidekick-base.solver` so they're usable from a library.
2021-07-03 22:28:57 -04:00
Simon Cruanes
590f1ef887 more cleanup, add doc 2021-07-03 21:14:17 -04:00
Simon Cruanes
79bc3def3f refactor to get sidekick-base library 2021-07-03 20:20:19 -04:00
Simon Cruanes
2eee760e29 refactor(proof): new serialization; faster implem 2021-06-11 21:53:13 -04:00
Simon Cruanes
784c1dceee feat(main): -o to dump proof into a file 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
683909c6ef wip: proof printing in sidekick.msat-solver 2021-06-11 21:47:54 -04:00
Simon Cruanes
57bf44dfb9 feat: basic proof production for QF_UF (wip) 2021-06-11 21:47:53 -04:00
Simon Cruanes
8aa851608a fix(data): use a cstor equality rather than is-a for model completion 2021-03-29 13:30:13 -04:00
Simon Cruanes
367c1945ef feat(main): handle check-sat-assuming statement 2021-03-24 15:31:49 -04:00
Simon Cruanes
3aadb055b6 refactor: make proof production lazy 2021-03-19 17:26:30 -04:00
Simon Cruanes
2312da883c feat(bool): also provide xor/neq 2021-03-18 13:06:44 -04:00
Simon Cruanes
0a14d556d9 style 2021-03-18 13:06:44 -04:00
Simon Cruanes
791290118b fix(form): make eval rule more precise 2021-03-18 12:26:14 -04:00
Simon Cruanes
0d31d9d84e refactor(th-bool): parametrize bool_view by type of lists
use iterator instead of a IArray.t on the view side
2021-03-17 18:29:39 -04:00
Simon Cruanes
0aa13ca808 refactor: provide a state for Ty.bool in core signature 2021-02-24 15:52:54 -05:00
Simon Cruanes
2810312e2f add simplify to LRA 2021-02-22 21:10:18 -05:00
Simon Cruanes
04615e4e3d Merge branch 'wip-lra-simplex' 2021-02-22 17:13:39 -05:00
Simon Cruanes
cfbd352ca0 feat(lra): restore theory combination; improve preprocessing 2021-02-16 14:01:21 -05:00
Simon Cruanes
a908f2b3f2 feat(arith): integrate simplex2 into sidekick; remove old simplex 2021-02-15 16:19:39 -05:00
Simon Cruanes
fafb001934 feat: add profiling system based on TEF
- a `Sidekick_util.Profile` module, deps-free
- an optional sidekick.tef library that needs unix+mtime
2020-12-22 16:27:45 -05:00
Simon Cruanes
35e5e30e93 fix(smtlib): handle "xor" 2020-12-22 14:59:21 -05:00
Simon Cruanes
14bb5898f0 Merge branch 'wip-fix-lra' into wip-lra-simplex-unsat-core 2020-12-22 11:46:09 -05:00
Simon Cruanes
db1c50f7ed feat(LRA): expose model after fourier-motzkin returns "SAT" 2020-11-17 16:52:49 -05:00
Simon Cruanes
77b33346f5 fix(tycheck): handle proper unary minus 2020-11-14 13:17:23 -05:00
Simon Cruanes
5ff0fff85b wip: refactor(lra): import Simplex from funarith, replace FM with it 2020-11-13 22:35:59 -05:00
Simon Cruanes
9a3e387405 refactor: explicit recursion in preprocessing
if a preprocessor fires, it's up to it to preprocess subterms. rewriting
is now from the root, not the leaves on.

Use that in LRA to rewrite under linear expressions.
2020-11-12 18:21:37 -05:00
Simon Cruanes
534fc45783 wip: better progress bar 2020-10-11 23:30:22 -04:00
Simon Cruanes
3449404964 refactor: move base-term to sidekick-arith 2020-10-10 17:43:42 -04:00
Simon Cruanes
349d884664 chore: add sidekick-arith library, depends on zarith 2020-10-10 17:18:20 -04:00
Simon Cruanes
e9931b377c remove bloody warn-error 2020-10-10 16:00:21 -04:00
Simon Cruanes
dc320bf0c9 fix(tycheck): handle n-ary +/- 2020-10-10 14:34:05 -04:00
Simon Cruanes
fabdb27dfe wip: feat(lra): preprocess by renaming lits/terms and storing defs 2020-10-04 21:37:03 -04:00
Simon Cruanes
ac6ca7d584 wip: properly typecheck and build LRA terms 2020-10-04 00:32:52 -04:00
Simon Cruanes
943efad206 feat: add AST for LRA 2020-10-03 23:46:45 -04:00
Simon Cruanes
216cbe762f missing lra file 2020-09-23 21:59:33 -04:00
Simon Cruanes
f59a5d9fce wip 2020-09-23 21:59:33 -04:00
Simon Cruanes
aff2e29a6b wip: representing real types and values 2020-09-23 21:59:29 -04:00
Simon Cruanes
4f12bfdb93 wip: LRA 2020-09-23 21:58:54 -04:00
Simon Cruanes
40d47a8d6c wip: lra 2020-09-23 21:58:54 -04:00
Simon Cruanes
95edfd9aa9 wip: LRA theory 2020-09-23 21:58:54 -04:00
Simon Cruanes
7d399ba201 handle :named attribute in smtlib 2020-08-18 10:01:36 -04: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
e58b29da02 fix(term): hashconsing error leading to non termination 2019-12-28 08:49:14 -06:00