Nikolaj Bjorner
|
1c884c8d72
|
allow multiple lemmas during processing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2022-12-18 19:03:28 -08:00 |
|
Nikolaj Bjorner
|
1940f53b31
|
fix memory smash in cache push
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2022-12-18 12:33:58 -08:00 |
|
Nikolaj Bjorner
|
8c775f55a1
|
adding stub for non-overflow lemma (disabled as not seen to be of use)
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2022-12-18 12:26:30 -08:00 |
|
Nikolaj Bjorner
|
899b1f8f7e
|
fiddle with univariate
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2022-12-17 20:02:46 -08:00 |
|
Nikolaj Bjorner
|
4e8bd4425f
|
add find_two
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2022-12-17 19:41:09 -08:00 |
|
Nikolaj Bjorner
|
3c035daaa6
|
fix missing parity propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2022-12-17 19:08:40 -08:00 |
|
Nikolaj Bjorner
|
b581cbf062
|
add lemmas
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2022-12-17 18:25:21 -08:00 |
|
Jakob Rath
|
ca373836af
|
Merge remote-tracking branch 'origin/polysat' into polysat
|
2022-12-16 14:26:38 +01:00 |
|
Jakob Rath
|
3b3636b30e
|
Remove conflict::set
|
2022-12-16 14:25:41 +01:00 |
|
Jakob Rath
|
06e6f27614
|
refactor
|
2022-12-16 14:22:50 +01:00 |
|
Jakob Rath
|
9f05f645c1
|
update types and docs
|
2022-12-16 13:16:55 +01:00 |
|
Jakob Rath
|
c54c564019
|
convert to loop
|
2022-12-16 13:11:20 +01:00 |
|
Jakob Rath
|
e23774a746
|
reorder definitions
|
2022-12-16 13:06:16 +01:00 |
|
Jakob Rath
|
afde0e993c
|
Add bitblasting fallback to viable::query
(integration between conflict/viable is still messy)
|
2022-12-16 13:02:54 +01:00 |
|
Jakob Rath
|
44cb528300
|
Extract usolver
|
2022-12-16 10:46:57 +01:00 |
|
Jakob Rath
|
5d7833e65e
|
Warn on unused result (mainly for substitution::add)
|
2022-12-16 10:28:57 +01:00 |
|
Clemens Eisenhofer
|
d5bc4b84a7
|
Merge branch 'polysat' of https://github.com/Z3Prover/z3 into polysat
|
2022-12-16 10:14:10 +01:00 |
|
Clemens Eisenhofer
|
71211f3134
|
Some bugfixes and unit-tests for variable elimination
|
2022-12-16 10:12:34 +01:00 |
|
Jakob Rath
|
8a5f1af3d1
|
univariate::find_max
|
2022-12-15 15:59:15 +01:00 |
|
Jakob Rath
|
31e0add966
|
univariate::find_min
|
2022-12-15 15:51:29 +01:00 |
|
Jakob Rath
|
37536425f4
|
Encode 2^k*x as (bvshl x k) in the fallback solver
|
2022-12-15 14:03:42 +01:00 |
|
Jakob Rath
|
a6504785b5
|
print bitblasted constraints
|
2022-12-15 13:43:23 +01:00 |
|
Jakob Rath
|
5de0007157
|
very basic refinement loop breaking
|
2022-12-15 13:39:48 +01:00 |
|
Jakob Rath
|
3d06a90e7f
|
track refinement source
|
2022-12-15 13:08:13 +01:00 |
|
Jakob Rath
|
e978e4fc8e
|
Strengthen umul_ovfl lemma
|
2022-12-14 11:07:16 +01:00 |
|
Clemens Eisenhofer
|
dc95179ae5
|
Merge branch 'polysat' of https://github.com/Z3Prover/z3 into polysat
|
2022-12-14 10:39:15 +01:00 |
|
Jakob Rath
|
1bc4313333
|
Fix unsoundness in previous commit
|
2022-12-13 15:27:07 +01:00 |
|
Jakob Rath
|
7e7cea54f4
|
Intervals from equality constraints: remove superfluous side constraints
|
2022-12-13 15:02:45 +01:00 |
|
Jakob Rath
|
519ebd8a8b
|
log and note
|
2022-12-13 11:49:54 +01:00 |
|
Jakob Rath
|
a3c7a869cd
|
bool_watch_invariant
|
2022-12-13 11:47:21 +01:00 |
|
Jakob Rath
|
6f1e4283bb
|
Merge forbidden intervals for positive and negative equations
|
2022-12-13 11:42:52 +01:00 |
|
Nikolaj Bjorner
|
6c7f556496
|
activate non-overflow bounds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2022-12-12 20:11:01 -08:00 |
|
Nikolaj Bjorner
|
a5f12e9d57
|
add parity constraint for disequality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2022-12-12 19:40:19 -08:00 |
|
Jakob Rath
|
479e0e58ea
|
Better intervals for equations
|
2022-12-12 18:18:24 +01:00 |
|
Jakob Rath
|
eda6534453
|
more readable intervals
|
2022-12-12 16:41:18 +01:00 |
|
Jakob Rath
|
917e1b6a4c
|
When adding clauses, prioritize bool-propagation over evaluation
See test_band1 and clause: v2 == v0 & v1 --> v2 <= 0
|
2022-12-12 14:48:13 +01:00 |
|
Jakob Rath
|
587e77648a
|
Keep value_propagate for now
|
2022-12-12 13:57:30 +01:00 |
|
Jakob Rath
|
759d8f2a94
|
Fix watching of boolean literals
|
2022-12-12 13:50:15 +01:00 |
|
Jakob Rath
|
b1271ac7fb
|
Check for missed boolean propagations
|
2022-12-12 11:52:45 +01:00 |
|
Jakob Rath
|
9feefa4c0a
|
Remove clause methods that should not be used
|
2022-12-12 11:47:27 +01:00 |
|
Nikolaj Bjorner
|
5a27ae6b53
|
disable tangent lemma, which appears to be counter-productive
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2022-12-11 12:56:21 -08:00 |
|
Nikolaj Bjorner
|
d092523733
|
bugfixes to try_factor_equality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2022-12-10 10:51:21 -08:00 |
|
Nikolaj Bjorner
|
c27bd0d650
|
added try_factor
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2022-12-09 14:58:37 -08:00 |
|
Nikolaj Bjorner
|
707577644f
|
assignment -> assignment_t for build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2022-12-09 09:33:24 -08:00 |
|
Jakob Rath
|
8d13446537
|
Solve boolean skeleton first
|
2022-12-09 17:22:51 +01:00 |
|
Nikolaj Bjorner
|
a6b49d8b4e
|
provide access to saturation for selected constraints
|
2022-12-08 19:17:35 -08:00 |
|
Nikolaj Bjorner
|
33902c7c9e
|
fix parity propagation code, add tail-spin unit tests. The unit tests diverge because conflict resolution removes conflicting literals from the conflict clause before the decision variable gets processed. We have to change how conflict resolution is processed for such conflict clauses
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2022-12-08 09:57:38 -08:00 |
|
Jakob Rath
|
3c8718615a
|
yes, no need for plugins to be mutually exclusive
|
2022-12-08 16:19:11 +01:00 |
|
Jakob Rath
|
5ad961029d
|
Rename revert_decision -> revert_pvar, and enable it.
Also rename resolve_with_assignment to resolve_evaluated
|
2022-12-08 16:19:11 +01:00 |
|
Jakob Rath
|
a81e05e660
|
We shouldn't assume that v is assigned
Happens if it is a viable conflict for v
|
2022-12-08 16:19:11 +01:00 |
|