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