Simon Cruanes
3fedca069d
wip: perf(lra): implement basic propagations
2021-03-22 12:15:36 -04:00
Simon Cruanes
17702729d5
feat(core): expose a preprocess function
2021-03-18 14:14:06 -04:00
Simon Cruanes
07ca5546f5
refator(preproc): remove explicit recursion, but rewrite top-down
...
give a chance to simplifiers to rewrite before we rewrite subterms.
2021-03-18 12:19:30 -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
a5166fb19b
more stats
2021-02-22 16:45:21 -05:00
Simon Cruanes
4d0c24f40f
refactor lra
2021-02-22 14:28:31 -05:00
Simon Cruanes
45893e92f1
fix: missing preprocessing in LRA; better theory combination
2021-02-22 14:01:55 -05:00
Simon Cruanes
a8e2764e92
lra: refactor theory combination (have CC tell us what terms are subterms)
2021-02-22 12:09:44 -05:00
Simon Cruanes
a7afce3af4
fix(lra): only do theory combination on terms known to the CC
2021-02-22 12:09:44 -05:00
Simon Cruanes
aa20605567
feat(lra): expose some stats
2021-02-16 19:18:45 -05:00
Simon Cruanes
341d82fa7f
add test for certificates
2021-02-16 15:18:38 -05:00
Simon Cruanes
0bd2770b40
feat(lra): certificate checking for simplex2
2021-02-16 15:18:19 -05:00
Simon Cruanes
284a475197
lra is not optional
2021-02-16 14:01:21 -05:00
Simon Cruanes
cfbd352ca0
feat(lra): restore theory combination; improve preprocessing
2021-02-16 14:01:21 -05:00
Simon Cruanes
0634e7c356
perf(lra): only call simplex.check if new things were asserted
2021-02-15 17:09:38 -05:00
Simon Cruanes
2a6c224f08
fix(lra): proper negation for basic operators
2021-02-15 16:53:57 -05:00
Simon Cruanes
acf99504c4
test: option to display stats
2021-02-15 16:53:46 -05:00
Simon Cruanes
69b2fde084
fix(simplex2): add basic var's bound in the certificate
2021-02-15 16:35:54 -05:00
Simon Cruanes
0081926a50
fix(lra): refactor
2021-02-15 16:35:41 -05:00
Simon Cruanes
a908f2b3f2
feat(arith): integrate simplex2 into sidekick; remove old simplex
2021-02-15 16:19:39 -05:00
Simon Cruanes
d6f0fa0ffc
feat(simplex2): build proper certificates
2021-02-15 16:18:40 -05:00
Simon Cruanes
f0dd1b08e8
details
2021-02-15 13:54:35 -05:00
Simon Cruanes
aea634ca8b
test: add a test of the backtracking behavior of simplex2
2021-02-15 13:46:25 -05:00
Simon Cruanes
0aa04480ce
test: improve simplex2 tests
2021-02-15 13:29:33 -05:00
Simon Cruanes
4d9f99e65d
fix(simplex2): correct pivot; refactor; better printing
2021-02-15 13:29:12 -05:00
Simon Cruanes
f226c6b820
fix(lra): many fixes in simplex; some fixme/todo
2021-02-12 19:42:16 -05:00
Simon Cruanes
5fc8d746c2
test: add tests for simplex2
2021-02-12 19:42:07 -05:00
Simon Cruanes
fb52e79287
test: update test harness
2021-02-12 19:41:34 -05:00
Simon Cruanes
dd4719b1a4
wip(LRA): new simplex implementation
2021-02-12 15:48:02 -05:00
Simon Cruanes
2a0e14a635
refactor: a bit of cleanup
2021-02-11 17:17:55 -05:00
Simon Cruanes
75ce199bb0
wip: new simplex
2021-02-11 17:17:43 -05:00
Simon Cruanes
dc80c1de1a
perf(simplex): optim: no new variable for constraints like a·x <= b
2021-02-05 14:16:34 -05:00
Simon Cruanes
14a25f95a8
perf: make simplex more imperative
2021-02-05 13:48:57 -05:00
Simon Cruanes
8b06566013
fix tests the most stupid way possible
2020-12-29 10:36:18 -05:00
Simon Cruanes
d5b4798e20
try to fix test
2020-12-23 16:12:50 -05:00
Simon Cruanes
3979380896
feat(profile): add instant probe
2020-12-22 16:45:55 -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
7cb97a89c5
make type abstract
2020-12-22 12:36:02 -05:00
Simon Cruanes
1890f7af13
try to tighten type constraints
2020-12-22 12:30:01 -05:00
Simon Cruanes
f05de5f741
fix warnings
2020-12-22 12:17:32 -05:00
Simon Cruanes
6c1b7df301
chore: try to fix build again
2020-12-22 11:53:12 -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
5ca4730968
try to fix build
2020-12-22 11:06:59 -05:00
Simon Cruanes
3b3a2e1caf
use simplex conflicts in LRA
2020-12-22 10:55:55 -05:00
Guillaume Bury
4be726db43
Add unsat core explanations to the simplex
2020-12-22 14:16:23 +01:00
Simon Cruanes
9d579af235
wip: make lazyness of model explicit
2020-12-21 16:15:49 -05:00
Simon Cruanes
b3a7acf95b
feat(LRA): handle congruence closure and theory combination in LRA
...
- merges in the CC are handled by adding corresponding equalities
locally
- theory combination pushes the decision `a=b` into the SAT solver
if a,b have the same model values and are not provably equal
in the CC already.
- also, fix model construction
2020-11-17 18:24:09 -05:00
Simon Cruanes
6a0731eeb1
refactor: improve model production in FM
2020-11-17 17:03:12 -05:00
Simon Cruanes
db1c50f7ed
feat(LRA): expose model after fourier-motzkin returns "SAT"
2020-11-17 16:52:49 -05:00