3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-22 16:45:31 +00:00
Commit graph

18100 commits

Author SHA1 Message Date
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
b4f5225ab3 outline
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-27 21:40:31 -08:00
Nikolaj Bjorner
6f8b3a997e add max forbidden based on constant intervals
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-27 20:49:17 -08:00
Nikolaj Bjorner
45e772b223 Merge branch 'polysat' of https://github.com/z3prover/z3 into polysat 2022-12-27 20:20:59 -08:00
Nikolaj Bjorner
b52379fe88 update
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-27 20:20:51 -08:00
Clemens Eisenhofer
28e9014401 Merge branch 'polysat' of https://github.com/Z3Prover/z3 into polysat 2022-12-27 08:48:04 +01:00
Clemens Eisenhofer
4b8577eaa2 Reverted unintended changes 2022-12-27 08:47:27 +01:00
Clemens Eisenhofer
39a4bb025b Propagate assignment if all bits are assigned and use better justification if any found 2022-12-27 08:44:55 +01:00
Nikolaj Bjorner
67b9ecbd97 missing disequality parity constraint
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-25 16:13:26 -08:00
Nikolaj Bjorner
4c6499f28b updated notes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-25 15:28:34 -08:00
Nikolaj Bjorner
be5b6f2839 add analysis
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-25 15:14:40 -08:00
Nikolaj Bjorner
403a126642 remove try_factor_equality1
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-25 11:37:55 -08:00
Clemens Eisenhofer
52eefb6e85 Some more commenting 2022-12-25 12:51:13 +01:00
Clemens Eisenhofer
74ec28201e Merge remote-tracking branch 'Z3Prover/polysat' into polysat 2022-12-25 12:41:39 +01:00
Clemens Eisenhofer
674e309fa3 ... and backtracking for bits 2022-12-25 12:23:49 +01:00
Nikolaj Bjorner
49a7f8446d disable match_non_max and match_non_zero
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-24 15:19:37 -08:00
Nikolaj Bjorner
e978b81c7a add review comment to bug location
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-24 12:40:47 -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
Clemens Eisenhofer
173fb9c2bd Bit-Propagation for most operations (Backtracking missing) 2022-12-24 16:37:53 +01: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
d18a2427a4 notes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-23 14:57:56 -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
9275930f50 fix bug in add-overflow propagation, move to use viable to mind for bounds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-23 13:38:51 -08:00
Nikolaj Bjorner
9fefa0040f added updated bounds propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-23 12:47:17 -08:00
Nikolaj Bjorner
6f8fb39bc9 added updated bounds propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-23 12:29:47 -08:00
Jakob Rath
fda93c97f5 Try bounds propagation for the example case 2022-12-23 18:15:40 +01:00
Jakob Rath
993996c8a5 Negate premise in lemma; fixes (or at least hides) the segfault 2022-12-23 17:18:10 +01:00
Jakob Rath
19e44e4f57 update tests 2022-12-23 11:44:10 +01:00
Jakob Rath
68b74ca6a7 parity debugging 2022-12-23 11:42:45 +01:00
Nikolaj Bjorner
1434c1117c wip - initial stab at bounds propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-22 21:49:33 -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
86589c2553 Merge branch 'polysat' of https://github.com/z3prover/z3 into polysat 2022-12-22 12:10:31 -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
Jakob Rath
f025d0ad63 Disable merging of p<q and p=q in lemmas for now (cf. test_band5) 2022-12-22 19:25:50 +01:00
Jakob Rath
fa0a481fc8 Fix verbose logs 2022-12-22 19:25:31 +01:00
Jakob Rath
0cfc0af7ee no need to alloc sets 2022-12-22 18:55:18 +01:00
Jakob Rath
29a547e0b4 forbidden_intervals::match_max 2022-12-22 18:28:18 +01:00
Jakob Rath
8096e82101 remove unnecessary check 2022-12-22 18:22:10 +01:00
Jakob Rath
b42b027a40 Add stub for match_max 2022-12-22 17:47:33 +01:00
Jakob Rath
516eb55442 forbidden_intervals::match_non_max 2022-12-22 17:39:16 +01:00
Jakob Rath
3739372776 remove commented code 2022-12-22 17:38:17 +01:00
Jakob Rath
9207bb5d1e Add test 2022-12-22 16:37:32 +01:00
Jakob Rath
e57bcdfeab Strengthen forbidden_intervals::match_non_zero 2022-12-22 16:30:23 +01:00
Jakob Rath
21ea05b31c Weaken evaluation for new constraints in viable lemma 2022-12-22 16:24:27 +01:00
Jakob Rath
be20c0d54e Less allocation during lookup, remove unused argument 2022-12-22 15:09:18 +01:00
Jakob Rath
b5af2164f4 Add simplify_clause::try_remove_equations 2022-12-22 14:53:42 +01:00