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

2589 commits

Author SHA1 Message Date
Nikolaj Bjorner
3f5df04dc4 prepare polysat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-26 06:19:24 +01:00
Nikolaj Bjorner
3b8c0b7ae6 fix #5791 2022-01-24 15:11:24 +01:00
Nikolaj Bjorner
20f9814939 fix #5789
fix incorrect constant folding
2022-01-24 09:42:14 +01:00
Nikolaj Bjorner
6f689c3c1f updates
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-22 12:21:20 +01:00
Nikolaj Bjorner
007af9cb8a fix #5784
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-21 03:08:03 +01:00
Nikolaj Bjorner
5b0389615b #5780 2022-01-19 10:10:36 +01:00
Nikolaj Bjorner
0dd5a5e576 #5777 2022-01-16 17:46:08 -08:00
Nikolaj Bjorner
cd56d55e34 #5753 2022-01-16 09:31:16 -08:00
Nikolaj Bjorner
f1bf660adc add case for abs (normally simplified, but not with default_tactic=smt). 2022-01-09 11:55:21 -08:00
Nadav Rotem
9f9543ef69
Fix unused variable warnings. (#5760)
This commit fixes a few cases of unused variables in release builds.
The commit uses the (void)xxx; syntax which is used in other parts of
the code.
2022-01-08 18:18:30 -08:00
Nikolaj Bjorner
36ed1ffac2 update name of artifact
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-08 15:13:46 -08:00
Nikolaj Bjorner
ef481073b2 make static features avoid stack #5758 2022-01-08 11:20:18 -08:00
Nikolaj Bjorner
199daead50 remove Z3_bool_opt #5757
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-07 11:52:10 -08:00
Nikolaj Bjorner
d1fb831030 relevancy overhaul 2022-01-04 16:03:31 -08:00
Nikolaj Bjorner
8e3185ffe3 remove dual solver approach
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-03 14:08:01 -08:00
Nikolaj Bjorner
a71aa113e0 #5641
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-02 19:36:17 -08:00
Nikolaj Bjorner
8245935d41 #5641 add handlers for basic set operations to euf=true 2022-01-01 20:33:17 -08:00
Nikolaj Bjorner
9d3c8a6a2f na 2022-01-01 17:59:31 -08:00
Nikolaj Bjorner
42219204ed sketch replace_all 2022-01-01 17:39:37 -08:00
Nikolaj Bjorner
84f514a4f4 throttle ackerman on arrays 2022-01-01 15:33:33 -08:00
Nikolaj Bjorner
aa901c4e88 axiom solver improvements 2021-12-31 11:53:40 -08:00
Nikolaj Bjorner
fc77345bec breaking change. Enforce append semantics everywhere for parameter updates #5744
Replace semantics doesn't work with assumptions made elsewhere in code.
The remedy is to apply append (override) semantics for parameter changes.
2021-12-30 19:11:14 -08:00
Nikolaj Bjorner
e8833f4dac working on relevancy=3 2021-12-30 17:07:14 -08:00
Nikolaj Bjorner
b87b464e69 set relevancy flag on enode 2021-12-29 17:57:28 -08:00
Nikolaj Bjorner
28bce8f09c working on relevant 2021-12-28 11:00:02 -08:00
Margus Veanes
5afb95b34a
improved subset checking for regexes with counters (#5731) 2021-12-22 17:53:34 -08:00
Nikolaj Bjorner
cf6486f990 bug in flatten/and/or introduced when skipping sub-expressions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-22 07:43:37 -08:00
Margus Veanes
1d9aad6ea9
improved regex merging avoiding unsat nontermination (#5728) 2021-12-20 17:44:06 -08:00
Nikolaj Bjorner
f01d096fb5 fix again 2021-12-20 09:51:15 -08:00
Nikolaj Bjorner
ad91748b5f Merge branch 'master' of https://github.com/z3prover/z3 2021-12-20 09:21:53 -08:00
Nikolaj Bjorner
83b47f1859 fix #5726 2021-12-20 09:21:40 -08:00
Margus Veanes
be38b256c8
fixed bug in is_char_const_range (#5724) 2021-12-19 17:46:42 -08:00
Margus Veanes
25d54ebb40
fixing regression of issue 1224 (#5723) 2021-12-19 14:07:53 -08:00
Margus Veanes
a7b1db611c
State graph dgml update and fixes in condition simplifier (#5721)
* improved generated dgml graph

* fixed simplification of negated ranges and did some code cleanup

* do not make loops with lower=upper=0, this is epsilon

* do not add loops with lower=upper=1

* bug fix in normalization: forgotten eps case
2021-12-19 11:09:55 -08:00
Nikolaj Bjorner
4856581b68 na 2021-12-17 16:40:19 -08:00
Nikolaj Bjorner
8ca023d541 expose propagate created 2021-12-17 16:12:47 -08:00
Nikolaj Bjorner
e1ffaa7faf na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-17 11:34:57 -08:00
Nikolaj Bjorner
6963451704 na 2021-12-16 20:13:29 -08:00
Nikolaj Bjorner
5974200444 fixes to previous push and streamlining 2021-12-16 20:06:49 -08:00
Nikolaj Bjorner
4e82a9af5f pin expressions 2021-12-16 19:41:32 -08:00
Margus Veanes
a288f9048a
Update regex union and intersection to maintain ANF (#5717)
* added merge for unions and intersections

* added normalization rules to ensure ANF

* fixing PR comments related to merge
2021-12-16 19:19:36 -08:00
Nikolaj Bjorner
a099972354 fix #5714
It is not unlike other fuzz bugs: it exercises some behavior that applications are unlikely to expose. In this case, a rule body expanded into a conjunction with more than 1M formulas (with a lot of repetition). The original rule representation assumed silently that the number of constraints in a body would fit within 20 bits, but reality allowed bodies with as many as 2^{32} - 1 constraints.
So "minimizing" the bug as @agurfinkel asks for seems not to make too much sense.

Just running the samples in debug mode  points to the root cause.

Since fuzz bugs are not from applications and fuzz tools have the potential for creating a large number of issues, I find it reasonable to push some basic pro-active asks on filers:

- reproduce bug in debug builds to assess whether a debug assert triggers.
- minimize or keep it simpler when possible (in this case it does not apply)
- perform basic diagnostics/triage. I am basically asking to push this part of the work on to the fuzzer. Otherwise, addressing random bugs doesn't scale. Triaging should have pointed to the root cause.

Now, there tends to be something to learn from bugs. In this case, the question was: "can we avoid constraints with duplications"? In particular, it points to a basic inefficiency of extracting conjunctions (and disjunctions). The function didn't deduplicate. So I added deduplication into this function. It is used throughout z3 code base so could expose latent issues. We will see.
2021-12-16 10:20:53 -08:00
Margus Veanes
2be93870c8
Cleanup regex info and some fixes in Derivative code (#5709)
* removed unused regex info fields

* cleanup of info and fixes in antimirov derivatives

* removed extra qualification on operator
2021-12-15 10:59:34 -08:00
Nikolaj Bjorner
03b5380a20 na 2021-12-14 13:39:52 -08:00
Nikolaj Bjorner
b1d167de5b fix co-factoring'
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-14 10:12:38 -08:00
Nikolaj Bjorner
f40becf099 remove case for non-emptiness to combine with standard membership
as part of revising engine for addressing #5693
2021-12-13 18:17:40 -08:00
Nikolaj Bjorner
96e871c826 add stub for testing updates to scoped_timer
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-12 12:31:23 -08:00
Nikolaj Bjorner
51fa40ece5 fix spelling 2021-12-09 10:23:37 -08:00
Nikolaj Bjorner
dcdbbfb925 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-09 09:50:53 -08:00
Nikolaj Bjorner
e45ae32685 unsound equality propagation #5676
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-08 09:02:05 -08:00