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
3d46315b82
try to fix ci
2021-02-05 14:25:38 -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
dee47743f7
Merge pull request #6 from c-cube/wip-lra-simplex-unsat-core
...
Add unsat core explanations to the simplex
2021-02-04 10:47:50 -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
b9b1b685d1
chore: update msat
2020-12-23 16:00:16 -05:00
Simon Cruanes
14e07f7a8a
prepare for 0.9
2020-12-23 14:22:06 -05:00
Simon Cruanes
a3e618a4fe
Merge pull request #22 from Gbury/feat-th-decisions
...
feat: allow the theory to ask for some literals to be decided on
2020-12-23 14:05:26 -05:00
Simon Cruanes
d3103c5355
Merge pull request #24 from Gbury/feat-lit-pol
...
feat: allow to set the default polarity of variables at creation time
2020-12-23 14:05:17 -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
23dcf79560
more regression tests
2020-12-22 15:02:12 -05:00
Simon Cruanes
7ef673ca30
refactor mini-cc
2020-12-22 14:59:30 -05:00
Simon Cruanes
35e5e30e93
fix(smtlib): handle "xor"
2020-12-22 14:59:21 -05:00
Simon Cruanes
3d46986161
test: add regression test for xor
2020-12-22 14:59:06 -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
354e432a40
chore: add cache to CI
2020-12-22 11:07:54 -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
6417bbdd80
feat(util): add Backtrack_stack.iter
2020-11-17 18:23:58 -05:00
Simon Cruanes
9839e5a36b
feat(core): add push_decision, for model-based th combination
2020-11-17 18:23:16 -05:00
Simon Cruanes
60fe3506d5
feat(core): add CC.explain_eq to explain why two nodes were merged
2020-11-17 18:22:51 -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
Simon Cruanes
1b7d084a9c
chore: allow smtlib-utils 0.2
2020-11-17 14:39:39 -05:00
Simon Cruanes
764695bb65
feat: pass a sign along with the formula in acts_add_decision_lit
2020-11-14 18:58:40 -05:00
Simon Cruanes
883b27ccc9
add uflra to makefile targets
2020-11-14 16:59:19 -05:00
Simon Cruanes
77b33346f5
fix(tycheck): handle proper unary minus
2020-11-14 13:17:23 -05:00
Simon Cruanes
103c320577
fix(lra): fixed case splitting on a != b
2020-11-14 00:23:45 -05:00
Simon Cruanes
37089adb17
feat: add -t option to main
2020-11-14 00:23:35 -05:00
Simon Cruanes
b2ab465cff
fix(LRA): track explanations properly when rewriting with an equality
2020-11-13 23:58:14 -05:00
Simon Cruanes
a6f6a99fb3
fix: small perf improvement
2020-11-13 23:28:39 -05:00
Simon Cruanes
39ed753b38
add tests for simplex
2020-11-13 23:28:32 -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
4097ed9dc2
refactor: account for @gbury's review
2020-11-13 11:57:57 -05:00
Simon Cruanes
919c1e6011
fix: only push atoms that don't have a value into next_decisions
2020-11-13 11:57:57 -05:00
Simon Cruanes
2286a72437
fix: in final-check, resume if there are new decisions to do
2020-11-13 11:57:57 -05:00
Simon Cruanes
79b1585804
feat: allow the theory to ask for some literals to be decided on
...
it's part of the actions provided to the theory.
close #19
2020-11-13 11:57:57 -05:00
Simon Cruanes
d9bf16dfde
feat: allow to set the default polarity of variables at creation time
2020-11-13 11:57:48 -05:00