3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-09-05 09:37:44 +00:00
Commit graph

91 commits

Author SHA1 Message Date
Clemens Eisenhofer
5b35450891 Several changes:
- Extend fixed-bit FI to both directions
- really randomized restart
- MSB for fixed-bits
- Forward propagation (band, lshift, rshift) with good justifications (strengthen during saturation)
2023-03-07 15:21:14 +01:00
Jakob Rath
5ffd00073a Enable more general ule simplification ule; flip order 2023-02-22 16:47:14 +01:00
Jakob Rath
6eb0d91504 Tweak ule simplifications 2023-02-22 16:36:10 +01:00
Jakob Rath
d5ce9b3d5e Try possible ule rewrite 2023-02-20 15:23:41 +01:00
Jakob Rath
46147c2fc3 Fix unsoundness in ule_constraint lemma 2023-01-23 13:59:00 +01:00
Jakob Rath
f9f61249e1 debug output 2023-01-19 13:42:33 +01:00
Jakob Rath
905144cdbb assert 2023-01-18 18:43:41 +01:00
Jakob Rath
0a2c69332d disable try_add_overflow_bound, add note on possible rewrite 2023-01-11 13:39:41 +01:00
Jakob Rath
55a50ea461 ule rewrites 2023-01-05 14:41:21 +01:00
Clemens Eisenhofer
39a4bb025b Propagate assignment if all bits are assigned and use better justification if any found 2022-12-27 08:44:55 +01:00
Clemens Eisenhofer
74ec28201e Merge remote-tracking branch 'Z3Prover/polysat' into polysat 2022-12-25 12:41:39 +01:00
Clemens Eisenhofer
173fb9c2bd Bit-Propagation for most operations (Backtracking missing) 2022-12-24 16:37:53 +01:00
Jakob Rath
be20c0d54e Less allocation during lookup, remove unused argument 2022-12-22 15:09:18 +01:00
Jakob Rath
5f2fd039ba Perform clause simplification earlier 2022-12-22 13:07:38 +01:00
Jakob Rath
86a36a524a Fix unsoundness in viable fallback
(the src constraint of forbidden intervals is not necessarily univariate)
2022-12-19 15:37:49 +01:00
Jakob Rath
fca4f18194 p 2022-12-07 12:47:30 +01:00
Nikolaj Bjorner
754cb540d0 disable new code paths for commit
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-07 02:23:43 -08:00
Nikolaj Bjorner
fdba85e39f trigger also parity constraints in linear case
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-06 05:18:50 -08:00
Nikolaj Bjorner
ef811a3dd8 add propagation rule for strict inequality to force univariate polynomials
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-06 04:56:42 -08:00
Nikolaj Bjorner
ff22b433cc experiment
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-03 06:32:34 -08:00
Jakob Rath
032e7e0337 Remove not_op 2022-11-30 11:47:00 +01:00
Jakob Rath
7468b2326c inequality 2022-11-28 18:00:17 +01:00
Jakob Rath
fdc186b204 Simplify constraint evaluation 2022-11-23 12:19:03 +01:00
Jakob Rath
6e72a97727 Refactor assignment and search state 2022-11-21 17:25:15 +01:00
Jakob Rath
eaf38abf17 Normalize to 0 < 0 instead of 1 <= 0 2022-11-07 15:32:34 +01:00
Jakob Rath
8242069ba6 One more case for ule_constraint::is_always_false 2022-09-29 18:22:31 +02:00
Jakob Rath
6218931dde We only need one of is_true/is_false 2022-09-29 17:19:47 +02:00
Jakob Rath
79c82a3d97 update ule_constraint::is_currently_true 2022-09-29 17:02:30 +02:00
Jakob Rath
6715058876 Simplify equations into canonical form
Also simplify constraints that are always false due to parity
2022-09-28 13:22:17 +02:00
Jakob Rath
480ba01cb0 Log ule rewrites 2022-09-28 11:01:23 +02:00
Jakob Rath
e08e124790 Expand always-false check 2022-09-28 10:57:40 +02:00
Jakob Rath
27b31c88d2 re-enable ule rewrite 2022-09-28 10:53:55 +02:00
Jakob Rath
0a0953ae78 Reduce log output 2022-09-23 16:12:39 +02:00
Jakob Rath
6bf897aad8 backtrack_fi 2022-04-25 17:39:07 +02:00
Jakob Rath
9d47d7959d helper functions to add constraints to univariate_solver 2022-03-17 14:08:00 +01:00
Jakob Rath
c648b57493 forbidden intervals only used by viable 2022-03-10 16:12:13 +01:00
Nikolaj Bjorner
8c9835bca6 smul no overflow
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-02-16 18:55:07 +02:00
Nikolaj Bjorner
be790b8892 add back minimize vars
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-26 18:01:26 -08:00
Nikolaj Bjorner
cbbf1381f7 update to use incremental substitution
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-23 03:00:25 +01:00
Nikolaj Bjorner
417a5320c7 forbidden intervals for strict inequalities
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-22 11:14:53 +01:00
Nikolaj Bjorner
59acd77981 n
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-11 13:01:08 -08:00
Nikolaj Bjorner
4c2231897f more general simplification 2021-12-10 04:45:48 -08:00
Nikolaj Bjorner
9c3489ba4b na 2021-12-09 15:58:23 -08:00
Nikolaj Bjorner
a4e29ecd7e interval
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-25 18:46:43 +01:00
Nikolaj Bjorner
8db711bc3c retire deprecated functionality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-22 18:14:15 +01:00
Nikolaj Bjorner
d86570ce75 prepare for new viable 2021-11-21 06:18:35 +01:00
Nikolaj Bjorner
b0bf03457c conflict
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-19 08:23:50 -08:00
Nikolaj Bjorner
a574eebd05 fixes, tests 2021-09-25 08:38:48 -07:00
Nikolaj Bjorner
c82bbaad7d update todos, working on assignment minimization 2021-09-22 13:29:36 -07:00
Nikolaj Bjorner
ad267ce294 add notes and unit tests
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-22 05:16:10 -07:00