3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-15 21:38:44 +00:00
Commit graph

2820 commits

Author SHA1 Message Date
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
Nikolaj Bjorner 377d060036 move to separate axiom management
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-02-23 18:09:45 -08:00
Nikolaj Bjorner d9fb40602e use theory agnostic axioms in more cases 2021-02-21 18:36:53 -08:00
Nuno Lopes 977082e2bd travis: disable LTO build; its just too slow 2021-02-21 20:18:48 +00:00
Nuno Lopes 4a3d63f9e4 NNF: dont allocate act_cache separately 2021-02-21 16:34:28 +00:00
Nuno Lopes 5e034e495f fix compiler warnings 2021-02-19 10:33:41 +00:00
Nikolaj Bjorner 27584d68db more rewrite rules
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-02-18 22:14:53 -08:00
Nikolaj Bjorner b2eb248bad fixes, fix #5034
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-02-18 16:47:44 -08:00
Nikolaj Bjorner ca9fcbd1df na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-02-18 13:46:59 -08:00
Nikolaj Bjorner 9ae3339c33 fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-02-18 12:33:17 -08:00
Nuno Lopes 14de590566 fix MSVC build 2021-02-18 19:05:20 +00:00
Nikolaj Bjorner e63dc7efc2 more rewrite rules 2021-02-17 17:32:00 -08:00
Nuno Lopes bcad4d9435 revert my mess with the ast hashtable
will share results form the experiments later
2021-02-17 14:29:07 +00:00
Nikolaj Bjorner 4f9117a921 Move seq axioms to theory independent module 2021-02-16 05:13:52 -08:00
Nikolaj Bjorner 823830181b butterfly effect with relevancy marking
bail out of infinite instantiation loop
2021-02-15 16:37:23 -08:00
Nikolaj Bjorner c387863da1 fix #5032, reset substitution during fold transformation 2021-02-15 14:14:25 -08:00
Nikolaj Bjorner 1da7522893 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-02-14 17:47:19 -08:00
Nikolaj Bjorner 70b4822571 patch seq theory using purification to avoid unsoundness caused by interaction with canonization and rewriting
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-02-14 17:41:06 -08:00
Nuno Lopes 2db2767e7a remove unused method
in preparation for a bigger storm :)
2021-02-14 23:31:24 +00:00
Nikolaj Bjorner 45af1bd243 fix build, move seq_skolem 2021-02-14 14:40:29 -08:00
Nikolaj Bjorner 083d09aa81 fix #5016 2021-02-14 13:52:10 -08:00
Nikolaj Bjorner 83f4a006c6 wreckfun 2021-02-12 19:46:47 -08:00
Nikolaj Bjorner 612cc5cfba fix #5014
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-02-12 16:01:33 -08:00
Nikolaj Bjorner 25f53c0467 deal with warnings reported in https://launchpadlibrarian.net/522361319/buildlog_ubuntu-groovy-s390x.z3_4.8.10-1ubuntu4ppa1_BUILDING.txt.gz
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-02-11 13:49:47 -08:00
Nikolaj Bjorner cbb570051c #5007 - wrong recognizer function definitions 2021-02-09 09:54:24 -08:00
Nikolaj Bjorner a152bb1e80 remove template Context dependency in every trail object 2021-02-08 15:41:57 -08:00
Nikolaj Bjorner 8fffc03263 remove bv dependencies 2021-02-08 10:57:50 -08:00
Nikolaj Bjorner 0f29fff836 remove bit-vector dependencies in seq theory 2021-02-08 10:57:50 -08:00
Nuno Lopes 52e67b0d3e
switch expr_safe_replace to std::unordered_map (#5003)
* switch expr_safe_replace to std::unordered_map

* further tweaks to expr_safe_replace for an overall speedup of 1.x in Z3_substitute
2021-02-07 18:20:48 -08:00
Nuno Lopes 615cafe39b remove unneded pragma once 2021-02-07 12:54:17 +00:00
Nikolaj Bjorner 8f577d3943 remove ast_manager get_sort method entirely 2021-02-02 13:57:01 -08:00
Nikolaj Bjorner 489df0760f experiments with LNS 2021-02-02 13:03:54 -08:00
Nikolaj Bjorner 4ad95939b6 fix build 2021-02-02 06:40:31 -08:00
Nikolaj Bjorner cc001ad682 fix regression 2021-02-02 06:16:06 -08:00
Nikolaj Bjorner 937b61fc88 fix build, refactor 2021-02-02 05:26:57 -08:00
Nikolaj Bjorner 3ae4c6e9de refactor get_sort 2021-02-02 04:45:54 -08:00
Nikolaj Bjorner 4455f6caf8 move to get_sort as method, add opt_lns pass, disable xor simplification unless configured, fix perf bug in model converter update trail 2021-02-02 03:58:19 -08:00
Nikolaj Bjorner 46f754c43d add priority queue to instantiation 2021-01-31 16:17:52 -08:00
Nikolaj Bjorner 942706e271 equality simplification 2021-01-31 15:44:43 -08:00
Nikolaj Bjorner 6d99a8f0cc fixes for unicode 2021-01-31 14:55:52 -08:00
Nikolaj Bjorner 60cc9d8182 set unicode by default 2021-01-31 11:32:33 -08:00
Nikolaj Bjorner 8fde6c207d set unicode to default 2021-01-31 07:22:51 -08:00
Nikolaj Bjorner 657ed4db7a fix relevancy bug for recfun
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-01-30 07:19:57 -08:00
Nikolaj Bjorner 520b24aab4 string escaping
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-01-30 04:58:58 -08:00
Nikolaj Bjorner 4af9132f2e more ematching 2021-01-29 13:39:14 -08:00
Nikolaj Bjorner b402268d35 fix #4982
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-01-29 06:43:33 -08:00
Nikolaj Bjorner afc4c700b1 move directory
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-01-28 14:49:15 -08:00
Nikolaj Bjorner e3d634807b move common routines for quantifiers
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-01-28 13:23:40 -08:00
Nikolaj Bjorner f48fb8d3e8 it just works
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-01-28 11:12:05 -08:00
Nikolaj Bjorner 8a229bf684 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-01-27 22:39:02 -08:00
Nikolaj Bjorner e61949059d compiler warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-01-27 19:50:34 -08:00
Nikolaj Bjorner 909257f856 remove family id externals
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-01-27 06:48:24 -08:00
Nikolaj Bjorner d3564f5b50 move unicode toggle to char-plugin
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-01-27 06:42:19 -08:00
Nikolaj Bjorner 0c770e25df na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-01-27 06:29:38 -08:00
Nikolaj Bjorner e969bd1c97 fully remove seq-based characters
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-01-27 06:26:44 -08:00
Nikolaj Bjorner 8d8fe872ad remove plugin status to theory_seq
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-01-27 06:22:25 -08:00
Nikolaj Bjorner 696b3c79b9 fixes to self-contained character unicode 2021-01-27 06:13:37 -08:00
Nikolaj Bjorner d0f1d8f59e move to unicode as stand-alone theory
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-01-27 05:46:45 -08:00
Nikolaj Bjorner ecba26beae missing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-01-26 17:07:46 -08:00
Nikolaj Bjorner 32058d9c68 add char_decl_plugin 2021-01-26 16:43:03 -08:00
Nikolaj Bjorner 20332c6d3e adding char decl plugin for separate theory treatment
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-01-26 16:28:44 -08:00
Nikolaj Bjorner 33714ceb40 use _ 2021-01-26 14:56:48 -08:00
Nikolaj Bjorner 7dd7d83a36 make it easier to use string literals 2021-01-26 11:01:03 -08:00
Nikolaj Bjorner 4b6d7ca097 working on mam 2021-01-25 17:54:53 -08:00
Nikolaj Bjorner 47cb1d1207 remove bit-vector dependencies in theory_str_mc. See discussion #4939
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-01-23 13:03:06 -08:00
Nikolaj Bjorner 03fd251ccb streamline unicode/ascii toggling. Fix bit-width for unicode to 18 2021-01-23 11:11:44 -08:00
Nikolaj Bjorner 6edabd6c03 egraph
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-01-22 18:11:27 -08:00
Nikolaj Bjorner 680b185872 adding ematching engine, fixing seq_unicode 2021-01-22 17:10:45 -08:00
Nikolaj Bjorner 4e8ba8b160 regression fix, fix unicode mode 2021-01-21 22:06:15 -08:00
Nikolaj Bjorner dafee71500 reshuffle unicode support to use global parameter, and use bit-vectors on demand 2021-01-21 14:24:26 -08:00
Nikolaj Bjorner c5432dbd88 merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-01-20 09:12:09 -08:00
Nuno Lopes 3a572edb9c fix build 2021-01-20 10:42:29 +00:00
Nikolaj Bjorner 48058e706f fix #4951
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-01-20 02:21:42 -08:00
Nikolaj Bjorner 690bc51b7f fix #4927 2021-01-08 15:40:15 -08:00
Nikolaj Bjorner 60ef60dff8 euf solver updates 2021-01-07 17:32:04 -08:00
Nikolaj Bjorner 7bf691e1f9 fix bug in tracking qhead 2021-01-07 17:32:04 -08:00
Nuno Lopes 4db41c02cc remove some dead code from fpa2bv converter 2021-01-04 17:06:35 +00:00
Nikolaj Bjorner 523578e3f6 working on new solver core 2020-12-30 14:38:41 -08:00
Nuno Lopes 799de71a9f
limit recursion depth of push_not() to 8 (#4917) 2020-12-28 19:55:43 -08:00
Nikolaj Bjorner 374ae52d70 testing mbi 2020-12-26 13:49:59 -08:00
Nikolaj Bjorner 372e5ca569 fixes in new solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-12-25 11:19:31 -08:00
Nikolaj Bjorner 8e0a2c9e77 fix #4910
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-12-20 11:29:13 -08:00
Nikolaj Bjorner 259a8ff786 fix #4907
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-12-20 11:02:19 -08:00
Nikolaj Bjorner 7fe8298479 fix #4873 2020-12-12 16:03:48 -08:00
Nikolaj Bjorner f71204c222 fix #4879 2020-12-12 13:37:25 -08:00
Nikolaj Bjorner fae9481308 fix #4875
remove unsound rewrite, regression
2020-12-08 12:17:41 -08:00
Nikolaj Bjorner 97683bd48a fix #4876 2020-12-08 12:12:16 -08:00
Nikolaj Bjorner f5f980fa38 add rewrite rule 2020-12-07 21:28:23 -08:00
Nikolaj Bjorner 409414c5b3 #4655
rewrite replace using distributivity rule.
2020-12-07 13:12:26 -08:00
Nikolaj Bjorner 289cc9de79 add rewrites for replace_all 2020-12-07 13:02:28 -08:00
Nikolaj Bjorner 6c9bdc949e fix #4848 2020-12-07 05:59:55 -08:00
Nikolaj Bjorner 4d55f83654 misc 2020-12-04 16:59:13 -08:00
Nikolaj Bjorner bb24b3f2be fix #4836 2020-11-29 21:08:28 -08:00
Nikolaj Bjorner 17f04099a5 fix #4831 2020-11-28 11:01:07 -08:00
Nikolaj Bjorner 67a8492bd0 more graceful proof checks 2020-11-27 14:40:46 -08:00
Nikolaj Bjorner 1619311ff7 fix #4826 2020-11-27 10:42:13 -08:00
Nikolaj Bjorner d6a5ef4343 add recfuns to Java #4820
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-11-25 12:25:20 -08:00
Nikolaj Bjorner 291502f8e4 this-> 2020-11-22 21:20:13 -08:00
Nikolaj Bjorner 193ca57444 fix #4811 2020-11-22 16:05:44 -08:00
Nikolaj Bjorner 299e1788b8 fix #4808
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-11-21 15:03:17 -08:00
Nikolaj Bjorner d6106f26ff disable gcd test 2020-11-20 12:18:19 -08:00
Nikolaj Bjorner ee04bfd174 fix equality propagation 2020-11-20 11:12:55 -08:00
Nikolaj Bjorner a475e7cf5a Add gcd test to bv-rewriter 2020-11-20 11:12:54 -08:00
Nikolaj Bjorner 6506d33b35 Add GCD test 2020-11-20 11:12:54 -08:00
Nikolaj Bjorner b7b7970c4a guard table erasure for representative 2020-11-20 11:12:54 -08:00
Nikolaj Bjorner 36e40a296f add logging for rewriter.flat 2020-11-16 11:20:33 -08:00
Nikolaj Bjorner 9fa17a432a bug fixes in nullability check
@veanes @cdstanford
2020-11-13 17:05:10 -08:00
Nikolaj Bjorner 5d10cb7af4 fix #4791 - diff is left associative
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-11-11 18:07:05 -08:00
Nikolaj Bjorner 7e68d546ba na 2020-11-11 17:37:07 -08:00
Nikolaj Bjorner 768e2c1d0d tune hoist-rewriter
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-11-09 11:25:17 -08:00
Nikolaj Bjorner 4d26aabd83 fix bug in rewriting of power
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-11-09 07:12:37 -08:00
Nikolaj Bjorner f78980c81c fix rewriting of power
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-11-08 20:58:16 -08:00
Nikolaj Bjorner 864eaf8bf8 remove unsound rewrite #4778 2020-11-08 17:48:51 -08:00
Nikolaj Bjorner e2c1436cc8 fix #4775 2020-11-08 17:18:18 -08:00
Nikolaj Bjorner 89ffb45c4f fixes to bv/dual-solver, 2020-11-08 17:18:18 -08:00
Christoph M. Wintersteiger eadf755628
Fix bonus subtraction in fp.rem. Fixes #4564. Fixes most of #2381. 2020-11-06 20:54:10 +00:00
Nikolaj Bjorner ab199dedf9 debug arith/mbi
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-11-02 12:13:19 -08:00
Nikolaj Bjorner d64bc795f0 wrong assert, compiler warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-10-30 10:10:59 -07:00
Nikolaj Bjorner f354671465 add parameter for scenario from #4743 2020-10-30 01:14:34 -07:00
Nikolaj Bjorner e2fbd05fe7 adding argument restriction to mbqi, fix tracking of m_src/m_dst for expr_safe_replace and avoid resetting the cache. 2020-10-27 11:41:52 -07:00
Pierre Bouvier 24321e311b
Add support of the SunOS platform (Solaris, OpenSolaris, OpenIndiana) (#4757)
* Add support of the SunOS plateform (OpenSolaris, OpenIndiana) in scripts/mk_util.py

* Add missing casts for the SunOS plateform (OpenSolaris, OpenIndiana) for the pow function
2020-10-27 11:39:21 -07:00
Nikolaj Bjorner e962deb557 remove also second hash-table for ALIVE_OPT #4747
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-10-27 00:12:34 -07:00
Nikolaj Bjorner 3ba857fb04 add alternate caching mechanism to allow experimenting for #4747
@nunoplopes @aqjune you can experiment by setting ALIVE_OPT to 1 and see if this helps.
A further possible optimization is to persist the "subst" object on the api_context object.
Then in Z3_substitute in api_ast.cpp, instead of declaring locally
        expr_safe_replace subst(m);
you can use an attribute on the context to retrieve the same substitution object.

It is not easy to figure out if this matters without having some profiling information so I hope you can determine on your side whether this is useful.
2020-10-26 11:49:24 -07:00
Nuno Lopes 0213af3c61 replace remaining volatiles with atomic<>
volatiles are now deprecated in recent C++
2020-10-24 11:47:45 +01:00
Nikolaj Bjorner a083633ab4 fix #4749
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-10-22 12:01:40 -07:00
Nikolaj Bjorner a52303c4fb srp
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-10-22 10:27:05 -07:00
Nikolaj Bjorner 72d407a49f
mbp (#4741)
* adding dt-solver

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

* dt

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

* move mbp to self-contained module

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

* files

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

* Create CMakeLists.txt

* dt

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

* rename to bool_var2expr to indicate type class

* mbp

* na

* add projection

* na

* na

* na

* na

* na

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

* deps

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

* testing arith/q

* na

* newline for model printing

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-10-21 15:48:40 -07:00
Nikolaj Bjorner 2f756da294
adding dt-solver (#4739)
* adding dt-solver

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

* dt

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

* move mbp to self-contained module

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

* files

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

* Create CMakeLists.txt

* dt

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

* rename to bool_var2expr to indicate type class

* mbp

* na
2020-10-18 15:28:21 -07:00
Nikolaj Bjorner 44679d8f5b
arith_solver (#4733)
* porting arithmetic solver

* integrating arithmetic

* lp

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

* na

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

* na

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

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-10-16 10:49:46 -07:00
Nikolaj Bjorner 1d8d58710c fix #4725
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-10-06 08:41:30 -07:00
Nikolaj Bjorner fa58a36b9f
model refactor (#4723)
* refactor model fixing

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

* missing cond macro

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

* file

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

* file

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

* add macros dependency

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

* deps and debug

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

* add dependency to normal forms

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

* na

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

* build issues

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

* compile

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

* fix leal regression

* complete model fixer

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

* fold back private functionality to model_finder

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

* avoid duplicate fixed callbacks

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-10-05 14:13:05 -07:00
Nikolaj Bjorner 08a87b102c more fpa
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-10-01 17:47:50 -07:00
Nikolaj Bjorner 2087c01cac first cut of fpa solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-10-01 07:18:36 -07:00
Nikolaj Bjorner 4cb07a539b more fpa 2020-09-30 19:06:07 -07:00
Nikolaj Bjorner 6708a764f5 move generic functionality for fpa
move generic functionality for fpa to converter/rewriter so it can be used outside of theory_fpa @wintersteiger
2020-09-30 18:50:07 -07:00
Nikolaj Bjorner 518296dbc1 some compile warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-30 15:59:42 -07:00
Nikolaj Bjorner ee909b6374 random compiler nits 2020-09-29 13:43:51 -07:00
Nikolaj Bjorner d007f7a601 na 2020-09-29 13:43:51 -07:00
Nikolaj Bjorner a216bee647 updated notes, fixes to dual solver 2020-09-29 13:43:50 -07:00
Nikolaj Bjorner 367e5fdd52
delay internalize (#4714)
* adding array solver

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

* use default in model construction

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

* debug delay internalization

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

* bv

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

* arrays

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

* get rid of implied values and bounds

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

* redo egraph

* remove out

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

* remove files

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-28 19:24:16 -07:00
Nikolaj Bjorner b7ec4489a6
bv fixes and tuning (#4703)
* heap size information

* bv tuning

* fix #4701

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

* throw on set-has-size #4700

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-21 19:54:53 -07:00
Nikolaj Bjorner ba5c9c3883 fix #4689
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-20 07:27:48 -07:00
Nikolaj Bjorner 6f63f8761c
optimizations to bv-solver and euf-egraph (#4698)
* additional bit-vector propagators

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

* rename restrict (not a keyword, but well) #4694, tune euf

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

* merge

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

* add pb rewriting to pb2bv #4697

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-20 06:47:27 -07:00
Nikolaj Bjorner 8691ef1d4d
additional bit-vector propagators (#4695)
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-18 12:38:29 -07:00
Nikolaj Bjorner 549753845e
bv and gc of literals (#4692)
* bv and gc of literals

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

* overload

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

* diseq

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

* diseq

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-17 14:24:07 -07:00
Nikolaj Bjorner 2d52367368 build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-15 16:45:11 -07:00
Nikolaj Bjorner 6a4261d1af debugging bv
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-15 15:37:31 -07:00
Nikolaj Bjorner 796e2fd9eb
arrays (#4684)
* arrays

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

* arrays

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

* na

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

* arrays

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

* na

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

* fill

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

* update drat and fix euf bugs

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

* na

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

* na

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

* na

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

* const qualifiers

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

* na

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

* reorg ba

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

* reorg

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

* build warnings

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-13 19:29:59 -07:00
Nikolaj Bjorner cfa7c733db
fixing #4670 (#4682)
* fixing #4670

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

* init

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

* arrays

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

* arrays

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

* arrays

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

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-10 04:35:11 -07:00
Nikolaj Bjorner 629e981e01 fix regression in get-consequence on QF_FD
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-08 12:43:18 -07:00
Margus Veanes af54a79acc
fixing issue #4651 (#4666)
* fixing issue #4651

* regression fix

* fix #4662

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

* na

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

* reenabled lift_ites_throttled with an additional filter, without the filter finding the model in report #4651 goes from .02s to 20s, also updated pretty printing of regexes to be more accurate

* removing temp testing variable

* Allow to skip System.loadLibrary() calls from Java Native class (#4667)

* using intended utility methods for sort detection

* adding ack/model

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

* add smt params dependency

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

* missing file

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

* deps

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

* order

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

* persist fields

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

* dbg build

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

* reset caches

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

* sr

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

* fix cmake build

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

* shuffle dependencies

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

* warnings /errors

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

* update include

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

* missing cmakelists

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

* update cmake

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

* add depend

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

* add depend

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

* virtual method

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

* path

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

* move parameters from ast/rewriter to params

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

* move fpa

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

* fix warnings

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

* remove pragma

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

* dbg

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

* updated sat_smt

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

* na

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

* fix #4651

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

* encoding options #4665

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

* expose name inclusion as optional

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

* fix misc issues around #4661 introduced when adding lazy push/pop to selected theories

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

* remove lazy push from theory_lra

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

* na

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

* fix dotnet build

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

* na

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

* release nodes

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

* free memory in egraph

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

* avoid duplicate class names frame in sat_scc and sat_smt

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

* adding euf

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

* elaborate on smt/drat format outline, expose euf mode as config

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

* mk-var during copy

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

* move theory_var_list into id_var_list and utilities from smt-enode into it, prepare for theory variables in egraph

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

* with bounded

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

* na

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

* Remove duplicate binary condition. Fixes #4668.

* butterfly effect on fp?

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

* prepare for theory plugins

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

* file

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

* build fix

* remove SMTFD

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

* na

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

* na

* na

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

* na

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

* na

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

* na

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

* na

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

* na

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

* na

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

* SMTFD is back (#4676)

* fixing issue #4651

* regression fix

* reenabled lift_ites_throttled with an additional filter, without the filter finding the model in report #4651 goes from .02s to 20s, also updated pretty printing of regexes to be more accurate

* removing temp testing variable

* using intended utility methods for sort detection

* misc edits related to nonground regexes

* bug fix of state id off by 1 calculation error and improved pretty printing with regex tooltip generated in dgml state graph

* removed unused method declaration

* improved id to regex value map info in generated dgml

* reorgd callback function for state pretty printer

* updated some comments

Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Co-authored-by: Sergey Vladimirov <vlsergey@gmail.com>
Co-authored-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
Co-authored-by: Arie Gurfinkel <arie.gurfinkel@gmail.com>
2020-09-08 04:13:18 -07:00
Nikolaj Bjorner d02b0cde7a
running updates to bv_solver (#4674)
* na

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

* na

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

* na

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

* na

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

* na

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

* na

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

* na

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

* na

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

* dbg

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

* bv

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

* drat and fresh

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

* move ackerman functionality

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

* na

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

* debugability

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

* towards debugability

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

* missing file

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

* na

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

* na

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

* remove csp

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-07 20:35:32 -07:00