3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-03-22 20:39:11 +00:00
Commit graph

184 commits

Author SHA1 Message Date
Jakob Rath
f47fbdd714 Move interval projection out of viable 2024-03-20 12:11:14 +01:00
Jakob Rath
5339a2f70f Don't access solver_interface directly 2024-03-20 10:16:40 +01:00
Jakob Rath
a34bb99db3 Use variable from violated interval as origin 2024-03-20 10:15:25 +01:00
Jakob Rath
3a11350142 Move helper functions 2024-03-20 10:10:27 +01:00
Jakob Rath
f5eb457bee fix propagate_from_containing_slice dependency 2024-03-19 16:13:28 +01:00
Jakob Rath
adc5313916 remove debug output 2024-03-19 10:11:06 +01:00
Nikolaj Bjorner
fb824bee54 inline unfolding if it is linear or constant. 2024-03-16 13:02:26 -07:00
Nikolaj Bjorner
3555b25317 Merge branch 'poly' of https://github.com/z3prover/z3 into poly 2024-03-15 08:55:16 -07:00
Nikolaj Bjorner
e4cc6e29ca fix case when interval is full 2024-03-15 08:55:07 -07:00
Jakob Rath
aa1285288e Fix integration of propagate_from_containing_slice 2024-03-15 15:08:12 +01:00
Jakob Rath
dfb200a3c9 propagation from containing slice depends on concrete values 2024-03-15 12:31:31 +01:00
Jakob Rath
2102db2df8 Fix viable entry reduction (case new_lo == new_hi) 2024-03-14 15:09:21 +01:00
Jakob Rath
f6c99585f3 fix warning 2024-03-14 15:08:00 +01:00
Nikolaj Bjorner
1e9381c2f6 update slice/offset claim structures to allow for equal variable.
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-13 11:48:09 -07:00
Jakob Rath
7da7e99ca2 try_umul_blast 2024-03-13 14:01:07 +01:00
Jakob Rath
22d80277ae signed_constraint == 2024-03-12 16:26:27 +01:00
Jakob Rath
35e3211ca8 display 2024-03-12 16:24:28 +01:00
Jakob Rath
450ed26440 implement 'is_full' case 2024-03-12 16:23:39 +01:00
Jakob Rath
df85eeb581 viable explanation depends on assignment 2024-03-12 16:20:44 +01:00
Jakob Rath
7311af699c fix 2024-03-11 15:02:55 +01:00
Jakob Rath
d11c2b3265 Add ule_constraint simplification 2024-03-11 14:20:29 +01:00
Jakob Rath
b561795214 fix 2024-02-26 10:40:37 +01:00
Jakob Rath
3eb42cdf4b minor changes 2024-02-08 15:25:00 +01:00
Jakob Rath
8d45c954c5 enable new propagate_from_containing_slice 2024-02-08 15:11:36 +01:00
Jakob Rath
0ada7f8e40 bug with sizes 2024-02-08 14:20:26 +01:00
Jakob Rath
0cef6bec4e be explicit about intended division semantics
fixes bug in chop_off_lower
2024-02-08 13:02:26 +01:00
Jakob Rath
85d3e266a4 Update viable::propagate_from_containing_slice to use new get_fixed_sub_slices (wip) 2024-02-07 17:16:26 +01:00
Jakob Rath
9283b4169c Add get_fixed_sub_slices 2024-02-07 15:38:26 +01:00
Jakob Rath
098d35c519 Add types to track additional info with fixed sub slices 2024-02-07 15:23:10 +01:00
Jakob Rath
cbcb5ad92d euf::theory_var is int 2024-02-07 15:21:47 +01:00
Nikolaj Bjorner
3f3ac924ab add debugging output
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-06 09:48:09 -08:00
Nikolaj Bjorner
187a6b17dd fix blast rule for overflow
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-05 08:16:34 -08:00
Nikolaj Bjorner
10d56d9af9 fixes, updates 2024-02-02 16:54:49 -08:00
Jakob Rath
57324e953e return propagated interval from viable::explain 2024-02-02 17:14:07 +01:00
Jakob Rath
85ef6b721e can handle equal size now, weaken fixed_claim to avoid crash 2024-02-02 16:42:06 +01:00
Jakob Rath
52c6fd98fd propagate from containing slice: consider e->bit_width 2024-02-02 15:00:24 +01:00
Jakob Rath
394f25a42f viable display 2024-02-02 14:51:41 +01:00
Nikolaj Bjorner
8cc146e727 connect call to zero extend
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-01 23:38:07 -08:00
Nikolaj Bjorner
38771defa1 bugfixes to encoding overflow conditions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-01 22:49:21 -08:00
Nikolaj Bjorner
ac0a786484 bugfixes to encoding overflow conditions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-01 22:26:32 -08:00
Nikolaj Bjorner
88b315cdb0 update names and nature of multiplication blast rules
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-01 17:12:35 -08:00
Nikolaj Bjorner
60add85c47 add saturation rules for overflow
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-01 12:55:17 -08:00
Nikolaj Bjorner
32e23b3b6c remove unsound simplification
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-01 12:39:37 -08:00
Nikolaj Bjorner
6e72182194 remove unused propagation in umul_overflow code. Rename propagate to saturate to reflect where it gets used
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-01 09:57:28 -08:00
Nikolaj Bjorner
111dee9143 simplify overflow check up front
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-01 09:37:46 -08:00
Jakob Rath
6a1f173e03 extend propagate_from_containing_slice to subslices with offset > 0 2024-02-01 17:23:26 +01:00
Jakob Rath
cb6fb7b26b distinguish theory_vars in output 2024-02-01 12:14:14 +01:00
Jakob Rath
0b5f163ba7 fix warning 2024-02-01 12:13:49 +01:00
Nikolaj Bjorner
e6f7ba90f1 more saturation for overflow
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-31 20:12:01 -08:00
Nikolaj Bjorner
7dc61ca646 always fail if new axioms are true
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-31 15:50:35 -08:00