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

2771 commits

Author SHA1 Message Date
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 e45ae32685 unsound equality propagation #5676
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-08 09:02:05 -08:00
Nikolaj Bjorner a5bd115235 replace_re axiom placeholder
@ahelwer - illustrates placeholder for one approach for axiomatizing replace_re
2021-12-08 03:40:24 -08:00
Nikolaj Bjorner 87aec8819f fix #5687
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-01 10:08:29 -08:00
Nikolaj Bjorner c083aa82ee add debug information in user-propagate #5687
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-29 08:59:53 -08:00
Nikolaj Bjorner d50bfc6a50 #5641 2021-11-25 18:01:35 +01:00
Nikolaj Bjorner e8f5a29c31 fix #5679
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-22 19:37:10 +01:00
Nikolaj Bjorner 518ef9f916 fix #5674
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-18 21:14:50 -08:00
Nikolaj Bjorner b28a8013fe #5653
fix performance bottleneck in static features
2021-11-11 13:30:38 -08:00
Henrich Lauko 96671cfc73
Add and fix a few general compiler warnings. (#5628)
* rewriter: fix unused variable warnings

* cmake: make missing non-virtual dtors error

* treewide: add missing virtual destructors

* cmake: add a few more checks

* api: add missing virtual destructor to user_propagator_base

* examples: compile cpp example with compiler warnings

* model: fix unused variable warnings

* rewriter: fix logical-op-parentheses warnings

* sat: fix unused variable warnings

* smt: fix unused variable warnings
2021-10-29 15:42:32 +02:00
Margus Veanes efcad5ff35
fixed nullability bug in the if-then-else info (#5620) 2021-10-26 09:11:07 +02:00
Nikolaj Bjorner bc2020a39b #5604
retain array interpretation when available
2021-10-17 20:24:26 -07:00
Margus Veanes f78546cd7c
fixed bug of computing butlast of a sequence (#5602) 2021-10-15 18:02:51 -07:00
Nikolaj Bjorner fb9fa1b7d2 updated printer 2021-10-15 17:56:54 -07:00
Margus Veanes cb120c93f4
Regex range bug fix (#5601)
* added a missing derivative case for nonground range

* further missing cases and a bug fix in re.to_str
2021-10-15 15:30:55 -07:00
Nikolaj Bjorner c15968aa9e fix #4901 2021-10-12 17:10:04 -07:00
Nikolaj Bjorner 9a76bf0aa2 #5591
nth issue
2021-10-12 13:59:28 -07:00
Christoph M. Wintersteiger 58fd4fc860
Merge pull request #5550 from wintersteiger/cwinter_fpa_fixes
Assorted fixes for floats
2021-10-12 18:24:49 +01:00
Nikolaj Bjorner 52032b9ef8 #5467 2021-10-12 10:16:15 -07:00
Christoph M. Wintersteiger b471ebdf1c
Revert "Fix off-by-one in fp.div bit-blasting. Inspired by #4841 but doesn't quite fix it."
This reverts commit f80fdb4ea3a762cfe95daa0321d9875cfa00c7ae.
2021-10-12 12:45:11 +00:00
Christoph M. Wintersteiger 738783a26c
Fix off-by-one in fp.div bit-blasting. Inspired by #4841 but doesn't quite fix it. 2021-10-12 12:45:11 +00:00
Christoph M. Wintersteiger c24f438e51
Fix for mk_to_fp_float; pertains to #4841 2021-10-12 12:45:10 +00:00
Christoph M. Wintersteiger f1acc4b78a
Make fpa2bv debug symbol names optional 2021-10-12 12:45:09 +00:00
Christoph M. Wintersteiger 515a2a771e
Whitespace 2021-10-12 12:45:09 +00:00
Christoph M. Wintersteiger e8d6d97ba3
Refine fpa_decl_plugin::is_unique_value 2021-10-12 12:45:08 +00:00
Christoph M. Wintersteiger 12c32663c6
Fix error messsages 2021-10-12 12:45:08 +00:00
Nikolaj Bjorner 73102cffcb fix #5589 2021-10-11 11:03:45 -07:00
Nikolaj Bjorner 75702c3631 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-11 11:03:45 -07:00
Nikolaj Bjorner 0fc9f1d46a fix max/min length to handle concatenation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-09 16:20:32 -07:00
Margus Veanes 146f4621c5
Updated regex derivative engine (#5567)
* updated derivative engine

* some edit

* further improvements in derivative code

* more deriv code edits and re::to_str update

* optimized mk_deriv_accept

* fixed PR comments

* small syntax fix

* updated some simplifications

* bugfix:forgot to_re before reverse

* fixed PR comments

* more PR comment fixes

* more PR comment fixes

* forgot to delete

* deleting unused definition

* fixes

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fixes

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-08 13:04:49 -07:00
Nikolaj Bjorner 281fb67d88 unit propagate with fingerprints 2021-10-04 20:01:46 -07:00
Nikolaj Bjorner 137e5c5263 fix tmp_eq
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-28 14:28:41 -07:00
Nikolaj Bjorner 67ae75bac7 fix tmp_eq
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-28 14:27:46 -07:00
Nikolaj Bjorner da124e4275 tune q-eval and q-ematch
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-28 13:41:37 -07:00
Nikolaj Bjorner 92c1b600c3 tuning eval 2021-09-28 09:56:00 -07:00
Nikolaj Bjorner 18d1b368d1 #5532 2021-09-21 20:12:32 -07:00
Nikolaj Bjorner 708602dfbb fix #5560 - add a throttle on maximal size of bignums created for propagate-value lemmas
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-21 08:56:13 -07:00
Nikolaj Bjorner 2e96557827 fix #5560 - add a throttle on maximal size of bignums created for propagate-value lemmas
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-21 08:55:28 -07:00
Nikolaj Bjorner 6f31d83633 fix #5541 2021-09-20 10:10:28 -07:00
Nikolaj Bjorner d36c3faf76 #4880 add interpreted versions of to_bv functions for MBQI quantifier models 2021-09-17 14:23:14 +01:00
Nikolaj Bjorner cef964fda3 fixes for model converter default case 2021-09-16 17:31:26 +01:00
Nikolaj Bjorner c3c5c14ead prepare for min/max i
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-16 16:23:10 +01:00
CEisenhofer c58b2f4a9c
Added character functions to API (#5549)
* Added character functions to API

* Changed names of c++ functions
2021-09-15 13:34:58 +01:00
Nikolaj Bjorner f13ccf8969 bv2char and char2bv with Clemens
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-13 16:09:03 +02:00
CEisenhofer 47fdd6c060
Added 16 bit string-encoding (#5540) 2021-09-09 11:35:16 +02:00
Nikolaj Bjorner 8c406c161e #5532 add blocking condition for recursion. 2021-09-07 12:28:18 +02:00
Nikolaj Bjorner 93415740b6 left over bugs #5532
disabling complete const rewriting (temporarily) as it can loop
2021-09-07 07:00:41 +02:00
Nikolaj Bjorner be4df46f6f #5532 remove unsound rewrite rule that was recently added 2021-09-07 06:42:24 +02:00
Nikolaj Bjorner 72f6271d82 #5532
bugs in:
- rewriting of 0-ary expressions was incomplete
- sharing annotations when a node has two theories attached it is shared
- sharing of const of an array

Remove unreadable part of pretty printer for lp solver.
2021-09-06 19:14:03 +02:00
Nikolaj Bjorner 38b82fa742 const rewriting revisited 2021-09-04 17:59:08 -07:00
Nikolaj Bjorner 9c5ef79701 #5532 2021-09-04 09:05:49 -07:00
Nikolaj Bjorner cf9e55fa96 #5516
expose ability to expand select/store and select/ite (lambdas are always expanded) during pre-processing for N.P. Lopes.
2021-09-01 17:44:17 -07:00
Nikolaj Bjorner ab2baa764c #5518
@wintersteiger
This example exposes a bug in is_unique_value
```
(assert (= (fp.to_real ((_ to_fp 8 24) (_ bv4286579200 32))) (fp.to_real ((_ to_fp 8 24) (_ bv4286578944 32)))))
(check-sat)
```
It returns true for fp representations that map to NaN. It can only return true for fp values that are unique relative to having no other bit-vector representation so not corresponding to an equivalence class of values such as NaN.
I am having it return false. If there is a way to refine the test it will catch some earlier inferences.
2021-08-31 14:52:45 -07:00
Nikolaj Bjorner 0b063f7903 #5518 2021-08-31 12:50:24 -07:00
Nikolaj Bjorner 535f442655 #5518
regression from adding lambdas in model
2021-08-31 12:13:27 -07:00
Nikolaj Bjorner 4f064ee5d6 simplify based on comment from Jamie Sharp #5512 2021-08-28 17:08:34 -07:00
Nikolaj Bjorner e3a83dd0dd Integrate fixes from #5512
Pull request #5512 identifies a in line 1139 where the const-case-multiplier constructor returns false and does useless work.
In this update we also remove mk_const_multiplier because code path is subsumed by mk_const_case_multiplier.
2021-08-28 10:46:45 -07:00
Nikolaj Bjorner e9a30385cf remove wtm and booth
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-27 15:32:06 -07:00
Nikolaj Bjorner 07c26208fa regressions from previous push 2021-08-25 18:30:50 -07:00
Nikolaj Bjorner 2daf569da6 update Bool rewriter to pull negations up 2021-08-25 17:50:49 -07:00
Nikolaj Bjorner e6264a80ff extend macro detection to negated equivalences #5496 2021-08-25 17:47:30 -07:00
Nikolaj Bjorner f03d756e08 missing rewrite exposed by #5498 2021-08-25 06:34:27 -07:00
Nikolaj Bjorner 26db68bf2c #5482 2021-08-24 11:15:52 -07:00
Nikolaj Bjorner e5b6cd36f0 use datatype name instead of instantiation for cycle detection #5482 2021-08-24 11:14:41 -07:00
Nikolaj Bjorner 4b3b4b95d9 missing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-23 10:03:34 -07:00
Nikolaj Bjorner 2a682e4b13 #5482
tricky one
2021-08-23 10:01:53 -07:00
Nikolaj Bjorner 1975e486ee finally expose some easier to use basics could be used in cases such as #5496 2021-08-21 21:22:54 -07:00
Nikolaj Bjorner 5c9f4dc4d7 #5486 - improve type elaboration by epsilon to make common cases parse without type annotation 2021-08-17 16:43:36 -07:00
Nikolaj Bjorner c8a83749dd #5484 2021-08-16 11:19:22 -07:00
Nikolaj Bjorner 6a3ba64afe #5454
@wintersteiger: added code review comment to theory_fpa. The bug seen in #5454 doesn't surface with theory_fpa, though.
2021-08-15 16:48:28 -07:00
Nikolaj Bjorner fe4c48e14c reorder fields 2021-08-15 12:29:43 -07:00
Nikolaj Bjorner bebf2d6a52 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-15 00:24:43 -07:00
Nikolaj Bjorner b7d4501bc3 widen scope of der #5480
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-15 00:22:34 -07:00
Nikolaj Bjorner fde8808a40 #5454 2021-08-11 16:59:46 -07:00
Nikolaj Bjorner 178262fc12 #5454 2021-08-11 09:30:03 -07:00
Nikolaj Bjorner 2075cb9fa4 remove useless literal found during review #5470 2021-08-10 09:29:39 -07:00
Nikolaj Bjorner 4beb29d45e fix #5469 documentation bug 2021-08-10 09:22:24 -07:00
Margus Veanes 22bb4c2db7
more fixes related to issue #5140 (#5466)
* instead of u in to_re(s) make u = s

* bug fix: added missing emptiness check
2021-08-09 17:48:35 -07:00
Nikolaj Bjorner 3eb849ad9e rewrite equality too
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-09 15:32:04 -07:00
Nikolaj Bjorner aa7e9b09f3 fix equality rewrite with itos
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-09 14:22:48 -07:00
Margus Veanes 225204e2f4
updates related to issue #5140 (#5463)
* updates related to issue #5140

* updated/simplified some cases

* fixing feedback comments

* fixed comments and added missing case for get_re_head_tail_reversed

* two bug fixes and some other code improvements
2021-08-09 10:48:56 -07:00
Jamey Sharp 5de5f5a442
report which operator bit-blast failed on (#5459) 2021-08-08 15:53:07 -07:00
Jamey Sharp 1d3ee70af4
support bit-blasting bvand (#5458) 2021-08-08 15:52:54 -07:00
Nikolaj Bjorner 1173c93150 #5140 2021-08-02 17:13:47 -07:00
Nikolaj Bjorner 5b32c3778f remove out
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-31 18:00:37 -07:00
Nikolaj Bjorner f5a08cc54e add wip
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-31 17:57:36 -07:00
Nikolaj Bjorner 6a9241ff0f #5429 2021-07-31 11:00:12 -07:00
Nikolaj Bjorner 31267e6ab8 #5429 2021-07-30 14:55:59 -07:00
Nikolaj Bjorner b8a437bd8a #5429
relevancy propagation applies to quantifier unfolding.
2021-07-29 15:05:06 -07:00
Nikolaj Bjorner 703659a3a8 fix #5439 2021-07-28 17:16:17 -07:00
Nikolaj Bjorner 5652d2a157 #5429 #5431 2021-07-25 11:59:42 -07:00
Nikolaj Bjorner b638405e42 simplify #5431
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-25 09:57:38 -07:00
Margus Veanes 4fd1e6d32c
added derivative support for (str.to_re (str.from_int ...)) (#5431) 2021-07-25 09:51:48 -07:00
Nikolaj Bjorner 32beb91efa sat.euf add missing function 2021-07-22 19:17:17 -07:00
Nikolaj Bjorner 39c3f34a30 remove unused dependency 2021-07-21 09:25:08 -07:00
Nikolaj Bjorner 644bd82ac7 #5422 2021-07-21 09:08:55 -07:00
Nikolaj Bjorner 0ba518b0c0 avoid perf abyss for macros
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-20 20:07:06 -07:00
Nikolaj Bjorner 7d915eb295 #5417 - revise q_eval based on bug based on non-chronological dependencies with post-hoc explain function 2021-07-19 07:40:46 -07:00
Nikolaj Bjorner e8bc9f3469 #5417
https://github.com/Z3Prover/z3/issues/5417#issuecomment-882050602
2021-07-18 10:44:30 -07:00
Nikolaj Bjorner cde3eac7be #5323 2021-07-18 13:45:21 +02:00
Nikolaj Bjorner ce1c8ee9e3 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-18 12:32:27 +02:00
Nikolaj Bjorner e0cb24867f Merge branch 'master' of https://github.com/z3prover/z3 2021-07-18 12:31:23 +02:00
Nikolaj Bjorner f239aeb4d4 add consequences forcing character values to be digits 2021-07-18 12:30:56 +02:00
Margus Veanes a19910c13d
added regex simplification rules ~() = .+ and .+* = .* (#5416) 2021-07-18 12:09:19 +02:00
CEisenhofer 0fa4b63d26
Added sbv2s (#5413)
* Added sbv2s

* Fixed indention

Co-authored-by: Clemens Eisenhofer <Clemens.Eisenhofer@tuwien.ac.at>
2021-07-16 17:58:28 +02:00
Nikolaj Bjorner 9e5dcf3ecb bound length of ubv2s
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-16 16:17:59 +02:00
Margus Veanes 8e9bc86c23
fixed bug #5343 and did some related optimizations (#5411) 2021-07-15 22:28:59 +02:00
Nikolaj Bjorner 0e066fef1f fix boundary cases reported by Clemens 2021-07-15 13:43:13 +02:00
Nikolaj Bjorner 82e477ac02 bounds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-13 14:40:32 +02:00
Nikolaj Bjorner 0752b1385c add length axioms
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-13 14:22:58 +02:00
Nikolaj Bjorner 34677e0e7c fix update of bb
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-13 09:32:05 +02:00
Nikolaj Bjorner e5c5caea45 add call to function
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-13 09:19:20 +02:00
Nikolaj Bjorner f74adb1ebd ubv2s step3 2021-07-12 17:15:08 +02:00
Nikolaj Bjorner b6a3891ac4 str.from_ubv step2 2021-07-12 15:00:36 +02:00
Nikolaj Bjorner 1bc10cebc5 add ubv2s step 1 2021-07-12 12:53:00 +02:00
Nikolaj Bjorner de8b2041e6 make bpp work with nullptr 2021-07-12 00:03:32 +02:00
Nikolaj Bjorner 0f8d2d1d51 fix #5399 2021-07-10 14:47:51 +02:00
Nikolaj Bjorner 897cbf347b fix #5381 2021-07-07 16:51:06 +02:00
Nikolaj Bjorner 29c6d42380 is-char is overloaded #5389
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-07 08:20:31 +02:00
Nikolaj Bjorner c2595b9bc8 #5379
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-06 18:58:27 +02:00
Nikolaj Bjorner bdcfba1324 use sort* not ast* #5386 2021-07-06 10:19:17 +02:00
Nikolaj Bjorner e5aa02b8f5 fix #5382
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-05 19:30:03 +02:00
Nikolaj Bjorner ed9341e3b0 #5336 2021-06-19 22:22:56 -07:00
Nikolaj Bjorner 8d37495b7c merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-19 22:22:41 -07:00
Nikolaj Bjorner f7d1cce69a #5336
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-19 22:12:52 -07:00
Nikolaj Bjorner 2138ef2ad0 build 2021-06-17 11:26:12 -07:00
Nikolaj Bjorner d016cb1da5 #5336 2021-06-16 23:57:44 -05:00
Nikolaj Bjorner df9084ba23 #5336 2021-06-16 19:12:50 -05:00
Nikolaj Bjorner 38fc97d18c #5336 2021-06-16 17:47:49 -05:00
Nikolaj Bjorner dc6a8fde34 fix #5340
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-15 13:53:22 -05:00
Nikolaj Bjorner 5d3f48cc8d na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-07 09:51:39 -07:00
Nikolaj Bjorner 92ec81d108 #5140
@veanes
mk_bool_app_helper has a bug:
When it simplifies a disjunction or conjunction of regex membership constraints of the form (and (str.in_re "" R) (str.in_re x Q))
then the first term (str.in_re "" R) is omitted in the result.
You have a test here
3da9d91866/src/ast/rewriter/seq_rewriter.cpp (L438)
that means a regex membership with empty first argument is not put in the two buffers with membership/non-membership.
It isn't put into new_args either because the test bypasses these
3da9d91866/src/ast/rewriter/seq_rewriter.cpp (L485)
2021-06-06 20:30:09 -07:00
Nikolaj Bjorner df95ed64e0 #5324 2021-06-05 15:44:47 -07:00
Nikolaj Bjorner bce903ae97 #5324 2021-06-04 15:52:38 -07:00
Nikolaj Bjorner fb75dac63f #5223 2021-05-31 12:01:33 -07:00
Nikolaj Bjorner 50cf321171 fix #5320 2021-05-31 10:18:27 -07:00
Nikolaj Bjorner 83e2e7200c fix #5316 2021-05-30 11:28:31 -07:00
Nikolaj Bjorner b1606487f0 fix #5289 2021-05-30 10:32:30 -07:00
Nuno Lopes 5a66dfad2a change parameter::hash so that the least significant bits arent overriden
the 3rd bit was being stuck by the parameter kind, leading to increased number of hash collisions
2021-05-27 09:38:21 +01:00
Nuno Lopes 36ca98cbbe ast: remove 2 default constructors 2021-05-24 14:59:03 +01:00
Nikolaj Bjorner 2ebab021f2 fix #5297 2021-05-23 13:42:15 -07:00
Nikolaj Bjorner 8919fa4970 #5296 2021-05-23 10:32:09 -07:00
Nuno Lopes f1e0d5dc8a remove a hundred implicit constructors/destructors 2021-05-23 14:25:01 +01:00
Nuno Lopes f8406623b4 switch parameter to an std::variant
plus fix mem leak & move constructor for zstrings
2021-05-23 13:07:29 +01:00
Nikolaj Bjorner fd0778c3d0 fixing symbol -> zstring
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-22 14:22:55 -07:00
Nikolaj Bjorner 262daf5151 symbol/zstring transition
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-22 13:54:21 -07:00
Nikolaj Bjorner 20a67e47ca remove symbol -> zstring -> symbol round-trips
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-22 13:12:49 -07:00
Nikolaj Bjorner e14e3ef291 #5140 2021-05-22 10:27:53 -07:00
Nikolaj Bjorner e0860ea173 fix #5279 2021-05-19 13:31:31 -07:00
Margus Veanes 8ca6f567d3
fixing issue #5140 (#5268) 2021-05-16 13:53:08 -07:00
Nikolaj Bjorner 7869cdbbc8 #5259 - the Ranjit 2s shave
shave a couple of seconds from the Ranjit regression
2021-05-12 10:43:16 -07:00
Nikolaj Bjorner e2a52ed6ee #5259 again 2021-05-10 11:15:19 -07:00
Nikolaj Bjorner 987099c765 Hoist creation of m_rep for #5259 2021-05-10 10:54:21 -07:00
Nikolaj Bjorner a61e9d6b49 #5260 2021-05-10 10:33:43 -07:00
Nikolaj Bjorner 31a5bd7fd7 regression from July 4 2020 tweeted by Dr. RJ and crowd profiled - let's submit this somwhere?
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-09 20:33:43 -07:00
Nikolaj Bjorner 7e7360dd0c #5223 2021-05-05 17:40:42 -07:00
Nikolaj Bjorner 2c97799564 #5237
be stingier on stack instead of punting and saying users can set ulimit
2021-05-02 16:18:55 -07:00
Nikolaj Bjorner 51a4db862a #5223 2021-05-02 10:40:22 -07:00
Nikolaj Bjorner 323e0e6270 #5223 2021-05-01 16:43:54 -07:00
Nikolaj Bjorner c50e6bdbb1 fix #5229 2021-04-30 02:32:16 -07:00
Nikolaj Bjorner decbf4be11 fix undo record for lblset
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-29 14:06:18 -07:00
Nikolaj Bjorner 308f399224 #5215 converting NYI 2021-04-27 16:19:54 -07:00
Nikolaj Bjorner 22a76e4985 fix typos in comments 2021-04-26 15:15:27 -07:00
Nikolaj Bjorner b1e8303257 #5211 2021-04-24 10:23:09 -07:00
Nikolaj Bjorner 07e2ca100d fix #5213
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-23 10:05:08 -07:00
Nikolaj Bjorner b5496d823d #5211 2021-04-22 23:14:28 -07:00
Nikolaj Bjorner 67ec86fc66 #5211 2021-04-22 22:53:18 -07:00
Nikolaj Bjorner 5d49cb5519 #5211 2021-04-22 22:42:05 -07:00
Nikolaj Bjorner 8263d20e0d add code review comment 2021-04-20 11:30:25 -07:00
Nikolaj Bjorner 4a6083836a call it data instead of c_ptr for approaching C++11 std::vector convention. 2021-04-13 18:17:35 -07:00
Nikolaj Bjorner ff1b35663b revert rewriting of OP_LE, OP_GE as it breaks axioms 2021-04-12 09:32:03 -07:00
Nikolaj Bjorner 804f065215 fixes for #4688
https://github.com/Z3Prover/z3/issues/4866#issuecomment-778721073
2021-04-11 17:42:12 -07:00
Nikolaj Bjorner f607c15aa2 more rewrites for loop #4373 2021-04-10 11:15:59 -07:00
Nikolaj Bjorner 44156f9f55 patch to fix #5110 2021-04-08 11:25:20 -07:00
Nikolaj Bjorner dcfd9c859d fix build 2021-04-06 21:30:13 -07:00
Nikolaj Bjorner 1b503b8887 na 2021-04-06 20:09:51 -07:00
Nikolaj Bjorner a832ada3d1 fix #5152 2021-04-06 20:09:50 -07:00
Nuno Lopes a6ef99d56e constify ids of builtin AST families + remove some dead code 2021-04-04 18:13:52 +01:00
Nuno Lopes c47ab023e5 remove a few trivial destructors so they get inlined 2021-04-04 17:13:59 +01:00
Nikolaj Bjorner 1fcd537d81 fix #5117 2021-03-30 14:23:30 -07:00
Nikolaj Bjorner c71bbb6391 fix #5136, regression when removing variable registration for mod/div operations 2021-03-30 13:45:54 -07:00
Nikolaj Bjorner 5cc29bec14 simplify ""* to "" 2021-03-29 14:18:57 -07:00
Nikolaj Bjorner 6d28b1a858 fix #5134 2021-03-29 14:11:49 -07:00
Nikolaj Bjorner a352a6638a fix #5126 2021-03-26 14:58:24 -07:00
Nikolaj Bjorner 2fef6dc502 more scaffolding 2021-03-21 11:31:14 -07:00
Nikolaj Bjorner 0b8939d86e self-contained function for merge_tf 2021-03-16 15:24:48 -07:00
Nikolaj Bjorner 9c716a2788 fix #5108
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-03-16 07:37:06 -07:00
Nikolaj Bjorner 9098084217 reduce overhead of creating seq-plugin, enable parameter cleanup for #5095 2021-03-15 11:54:44 -07:00
Nikolaj Bjorner d62f6c62b5 fix #5096 fix #5099 2021-03-15 09:43:34 -07:00
Nikolaj Bjorner 18143d8932 fix #5102 2021-03-15 01:01:33 -07:00
Nikolaj Bjorner 9a975a4523 array solver fixes 2021-03-13 06:19:32 -08:00
Nikolaj Bjorner f29a596070 deal with compiler warnings, from MacOS CI build 2021-03-08 17:14:09 -08:00
Nikolaj Bjorner 7eceeff349 move branch of unit variable 2021-03-08 10:09:04 -08:00
Nikolaj Bjorner 3c26a965e1 updated script, add comment to mk_eq_empty 2021-03-07 06:59:58 -08:00
Nikolaj Bjorner e83f31949e fix #5074, add rewrite rules to simplify indexof special cases 2021-03-06 12:36:19 -08:00
Nikolaj Bjorner 38737db802 fixes and more porting seq_eq_solver to self-contained module 2021-03-04 16:23:22 -08:00
Nikolaj Bjorner 847724fb21 added rewrite for itos 2021-03-04 10:47:47 -08:00
Nikolaj Bjorner e398959732 move eq solver functionality to common place, fixes to goal2sat 2021-03-04 07:57:31 -08:00
Nikolaj Bjorner cf3002c293 fix #5071 2021-03-03 23:13:56 -08:00
Nikolaj Bjorner 11efe33aa0 fix #5061 2021-03-03 11:19:03 -08:00
Nikolaj Bjorner a66362a933 missing new files 2021-03-02 13:00:17 -08:00
Nikolaj Bjorner 0ce1c34d81 fix #5065 - regression solving str.from_int equations now that it isn't injective any longer
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-03-02 12:59:48 -08:00
Nuno Lopes 4c9fed21e2
increase starting size of ast's hash table to 512k entries (instead of 8) (#5040) 2021-03-02 11:45:07 -08:00
Nuno Lopes ff1429413d Z3_subst: avoid unneded cache lookups 2021-03-01 11:14:24 +00:00
Nuno Lopes 5b24396ecd Z3_subst: add fast path for quantifier subst
when replace patterns are ground
2021-02-28 23:09:52 +00:00
Nikolaj Bjorner 13f05ae9dc enable wcnf output for weighted maxsat problems 2021-02-28 09:59:36 -08:00
Nikolaj Bjorner 830f314a3f fixes to dt_solver and related 2021-02-27 11:03:20 -08:00
Nikolaj Bjorner 08f55f9d1f start wcnf
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-02-26 11:13:44 -08:00
Nikolaj Bjorner ea1089e980 fix #4938 2021-02-26 02:06:28 -08:00
Nikolaj Bjorner 04edfc9fdb out
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-02-23 18:14:20 -08:00