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