Jakob Rath
|
69b41a7e70
|
Check invariant on pvars
|
2022-12-19 13:55:50 +01:00 |
|
Clemens Eisenhofer
|
ec06027515
|
First step towards explaining single bits
|
2022-12-19 12:27:37 +01:00 |
|
Jakob Rath
|
208f166934
|
Merge remote-tracking branch 'origin/polysat' into polysat
|
2022-12-19 09:11:18 +01:00 |
|
Nikolaj Bjorner
|
30bbb5399f
|
add stub
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2022-12-18 22:02:42 -08:00 |
|
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
|
bf92fa4882
|
clause_iterator
|
2022-12-16 15:21:32 +01:00 |
|
Jakob Rath
|
342774eff8
|
test_ineq_non_axiom4 is slow but doesn't block anymore
|
2022-12-16 15:02:04 +01:00 |
|
Jakob Rath
|
75a64975b5
|
test
|
2022-12-16 15:00:50 +01:00 |
|
Jakob Rath
|
3e6e1e1a8a
|
test
|
2022-12-16 14:37:31 +01: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
|
06a999e219
|
skip diseq when not using polysat
|
2022-12-15 13:46:10 +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
|
434e794790
|
test
|
2022-12-13 12:00:38 +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
|
4a2379c23d
|
Add unit test for refinement loop in bench6
|
2022-12-12 17:48:23 +01:00 |
|
Jakob Rath
|
eda6534453
|
more readable intervals
|
2022-12-12 16:41:18 +01:00 |
|
Jakob Rath
|
9f1f949d9d
|
tests
|
2022-12-12 14:51: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 |
|