Jakob Rath
64e452e086
Add some clause names
2023-03-29 15:30:05 +02:00
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
Clemens Eisenhofer
6b48b25beb
Draft: Made division/remainder to op_constraints (not yet used - old code still called)
2023-02-09 23:36:15 +01:00
Jakob Rath
b6f8538d20
Update parity lemmas
...
p != 0 ==> odd(r)
... added premise p != 0
parity(p) < k ==> r <= 2^(N - k) - 1
... do this also in the other branch
(otherwise we hit the UNREACHABLE in bench3)
2023-01-16 16:46:12 +01:00
Clemens Eisenhofer
79e7380ffc
Pseudo-inverse op_constraint
2023-01-03 17:47:54 +01:00
Clemens Eisenhofer
74ec28201e
Merge remote-tracking branch 'Z3Prover/polysat' into polysat
2022-12-25 12:41:39 +01:00
Jakob Rath
be20c0d54e
Less allocation during lookup, remove unused argument
2022-12-22 15:09:18 +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
Clemens Eisenhofer
ec06027515
First step towards explaining single bits
2022-12-19 12:27:37 +01:00
Nikolaj Bjorner
68d9b44d67
add activate for &
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-03 05:55:14 -08:00
Nikolaj Bjorner
215a4e9bad
review and fix soundness bug in band rule
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-02 19:04:23 -08:00
Jakob Rath
e338d42cff
Allow creation of op_constraint lemmas without adding them
2022-11-30 14:57:14 +01: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
adc9f7abe4
Add basic implementation of left shift
2022-11-17 17:37:52 +01:00
Jakob Rath
2953b1c093
Dedup op constraints
2022-11-07 15:02:48 +01:00
Jakob Rath
6218931dde
We only need one of is_true/is_false
2022-09-29 17:19:47 +02:00
Jakob Rath
0fb8c72f50
print more information
2022-06-29 14:26:25 +02:00
Jakob Rath
9d47d7959d
helper functions to add constraints to univariate_solver
2022-03-17 14:08:00 +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
Jakob Rath
3a34995b03
Add eval_and
2022-01-12 13:47:05 +01:00
Nikolaj Bjorner
02369647a0
add functionality for bit-wise and
2021-12-15 14:07:53 -08:00
Nikolaj Bjorner
a6684824c1
elaborate on narrow
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-15 10:13:33 -08:00
Nikolaj Bjorner
12fe964ea5
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-15 09:32:09 -08:00
Nikolaj Bjorner
a2aa1170f9
rename to op-constraint to give space for other operations
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-15 09:20:11 -08:00