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

63 commits

Author SHA1 Message Date
Jakob Rath
ce04d9c73b Remove old bounds code for now 2023-03-16 13:23:37 +01: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
e343a3ecd3 Parity bug fix
Moved div_monotonicity to extra lemma
2023-03-06 10:12:32 +01:00
Jakob Rath
235c465ae2 extract_bilinear_form: handle case where top variable is different on LHS and RHS 2023-03-04 17:19:58 +01:00
Jakob Rath
14b2c38e7f Add lemma try_umul_ovfl_noovfl for bench23 2023-02-22 16:32:51 +01:00
Jakob Rath
a8bfd01190 minor 2023-02-22 16:30:57 +01:00
Jakob Rath
1dea87a07a fix add_overflow 2023-02-20 16:25:41 +01:00
Clemens Eisenhofer
8db575ea3b Division monotonicity 2023-02-01 11:27:46 +01:00
Jakob Rath
0c799524e8 try splitting x-intervals 2023-01-10 16:25:28 +01:00
Jakob Rath
49848a4298 extract function update_bounds_for_xs 2023-01-10 15:16:24 +01:00
Jakob Rath
abbe139abb Use M for 2^N 2023-01-10 14:50:11 +01:00
Nikolaj Bjorner
56bda59de9 bugfix in parity code, add try_infer_parity_equality per status notes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-01-02 15:01:05 -08:00
Nikolaj Bjorner
f8a3e428ff wip
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-29 19:30:14 -08:00
Nikolaj Bjorner
96341d7f0a wip try_add_mul_bound2
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-29 18:31:39 -08:00
Nikolaj Bjorner
ed76da1458 Merge branch 'polysat' of https://github.com/z3prover/z3 into polysat 2022-12-29 16:55:56 -08:00
Nikolaj Bjorner
10589d59ba wip based on notes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-29 16:55:46 -08:00
Clemens Eisenhofer
6f78c33558 Generalized variable elimination 2022-12-29 22:36:04 +01:00
Nikolaj Bjorner
ab9a9d2308 wip - more general ranges for add_mul_bound
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-28 14:09:51 -08:00
Clemens Eisenhofer
658877365c Moved "easy part" of variable elimination to saturation.cpp 2022-12-28 15:07:03 +01:00
Nikolaj Bjorner
403a126642 remove try_factor_equality1
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-25 11:37:55 -08:00
Nikolaj Bjorner
48cd05c725 introduce try_factor_equality2, disabled as it exposes new bugs. Old bug on bench15.smt2 exposed in debug mode
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-24 12:05:54 -08:00
Nikolaj Bjorner
4e0604bc22 add hooks for multiplication overflow
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-23 15:48:03 -08:00
Nikolaj Bjorner
50cbe2659a extract multiple bounds for upper/lower bound
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-23 14:52:41 -08:00
Nikolaj Bjorner
ce5cbefc56 fix missing parity propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-22 17:54:40 -08:00
Nikolaj Bjorner
ed6f7ee9ff adding addition overflow bounds propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-22 12:10:24 -08:00
Nikolaj Bjorner
ca855fbad3 redoing parity lemmas
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-20 15:46:25 -08: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
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
b581cbf062 add lemmas
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-17 18:25:21 -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
Nikolaj Bjorner
c27bd0d650 added try_factor
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-09 14:58:37 -08:00
Nikolaj Bjorner
a6b49d8b4e provide access to saturation for selected constraints 2022-12-08 19:17:35 -08:00
Nikolaj Bjorner
acbd60799d add placeholder for factor equality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-07 20:12:19 -08:00
Nikolaj Bjorner
317edb2b03 add parity propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-05 10:22:18 -08:00
Nikolaj Bjorner
1d440ac871 try adding unit propagation / distinguish these in saturation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-04 14:22:34 -08:00
Nikolaj Bjorner
0a5b03194c retire omega and use overflow detection including literals
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-03 16:54:07 -08:00
Nikolaj Bjorner
5b8dcfb801 wip - adding saturation/propagations
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-03 15:38:01 -08:00
Nikolaj Bjorner
0288704a59 add TODO marker in saturation for overflow rule
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-03 09:07:24 -08:00
Jakob Rath
3d79cddf33 Update saturation inferences 2022-11-28 18:02:18 +01:00
Jakob Rath
1020f38e1a reconnect saturation 2022-09-21 16:47:16 +02:00
Jakob Rath
6abe0c9be8 set, lemma, minor 2022-09-21 16:29:36 +02:00
Jakob Rath
9fa5096776 conflict logging 2022-04-12 16:06:20 +02:00
Nikolaj Bjorner
a4e29ecd7e interval
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-25 18:46:43 +01:00
Nikolaj Bjorner
e1bc9cc0bb updates 2021-11-05 12:16:35 -07:00
Nikolaj Bjorner
3f3bd5948f fixes/debugging
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-02 14:48:19 -07:00
Nikolaj Bjorner
e6c413b249 add variable minimization 2021-09-22 14:27:05 -07:00
Nikolaj Bjorner
444084f396 add notes and tangent lemma
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-21 11:30:50 -07:00
Nikolaj Bjorner
bb5ff8db24 rename conflict_core to conflict:
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-20 14:05:55 -07:00
Jakob Rath
1a810cc696 update saturation 2021-09-13 13:49:29 +02:00