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
c60a2b10a5
inequality::rewrite_equiv
2023-02-09 16:33:59 +01:00
Jakob Rath
1d0ad1ccc0
fix build (add conversion operator)
2023-01-10 17:18:56 +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
Clemens Eisenhofer
c8b9127028
Added justifications for intermediate values [e.g., 2 * x in the pdd (2 * x) + y]
...
This might allow propagation in both directions
2022-12-21 13:52:27 +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
d092523733
bugfixes to try_factor_equality
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-10 10:51:21 -08:00
Jakob Rath
e338d42cff
Allow creation of op_constraint lemmas without adding them
2022-11-30 14:57:14 +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
e4999b07aa
Remove active flag from constraint
...
Superseded by boolean assignment and pwatch
2022-11-22 14:45:51 +01:00
Jakob Rath
6e72a97727
Refactor assignment and search state
2022-11-21 17:25:15 +01:00
Jakob Rath
abc4cc5295
Simplify boolean propagation level
2022-11-09 16:59:51 +01:00
Jakob Rath
2953b1c093
Dedup op constraints
2022-11-07 15:02:48 +01:00
Jakob Rath
89acd96a89
All constraints have bvars now
2022-11-07 14:14:36 +01:00
Jakob Rath
7662427d92
Split constraint_manager into separate file
2022-11-07 13:33:48 +01:00
Jakob Rath
29695391de
First pass at free variable elimination
2022-10-31 15:22:03 +01:00
Jakob Rath
6218931dde
We only need one of is_true/is_false
2022-09-29 17:19:47 +02:00
Jakob Rath
7be82a36f2
Recognize x != k among new literals in lemma
2022-09-28 15:16:05 +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
3a759c1a28
move fi_record
2022-08-22 14:14:30 +02:00
Jakob Rath
26fcfc6ecd
Add default constructor to fi_entry
2022-08-22 14:03:43 +02:00
Jakob Rath
c3e7bd34d0
make_asserting for unit coefficients
2022-08-19 16:02:56 +02:00
Jakob Rath
48c6bea331
umul 2
2022-07-21 12:38:00 +02:00
Jakob Rath
003896991d
fix merge
2022-07-01 17:16:40 +02:00
Jakob Rath
2345fb6428
Support watching inactive constraints
...
This allows us to handle non-redundant clauses (like we get from quot_rem)
2022-05-27 15:49:54 +02:00
Jakob Rath
63031548cb
Store only literals in the conflict state
2022-04-11 15:00:06 +02:00
Jakob Rath
509a007ed7
Integrate univariate solver in polysat
2022-03-18 15:43:06 +01:00
Jakob Rath
9d47d7959d
helper functions to add constraints to univariate_solver
2022-03-17 14:08:00 +01:00
Nikolaj Bjorner
1faccffd0d
add smul over and underflow predicate
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-02-20 11:39:45 +02: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
b488a1fadd
WIP revamp conflict state
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-29 16:17:58 -08: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
cd11b70864
add value-propagate flag to patch regression
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-23 12:09:49 +01: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
c1d5111159
add first test for band
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-18 12:28:59 -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
Nikolaj Bjorner
79bc33b88e
na
2021-12-14 19:42:19 -08:00
Nikolaj Bjorner
6eb6eb39a4
more of shr
2021-12-14 19:23:31 -08:00
Nikolaj Bjorner
06f7ba2e78
add stubs for shr
2021-12-14 14:35:08 -08:00
Nikolaj Bjorner
c7da31a67d
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-13 10:24:42 -08:00
Nikolaj Bjorner
83efb1413a
na
2021-12-11 08:41:04 -08:00
Nikolaj Bjorner
bf258ee29d
add bit shorthand
2021-12-09 15:25:44 -08:00
Nikolaj Bjorner
a4fc63c542
initial overflow test
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-09 14:39:00 -08:00
Nikolaj Bjorner
0dcaf9b9f9
add ovfl constraint
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-09 09:05:23 -08:00
Nikolaj Bjorner
c9f5ce43b2
viable 2 with dlist
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-10 14:43:10 -08:00
Nikolaj Bjorner
95e2d174c7
fixes
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-25 17:26:18 -07:00
Nikolaj Bjorner
e6c413b249
add variable minimization
2021-09-22 14:27:05 -07:00