Margus Veanes
4fd1e6d32c
added derivative support for (str.to_re (str.from_int ...)) ( #5431 )
2021-07-25 09:51:48 -07: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
f74adb1ebd
ubv2s step3
2021-07-12 17:15:08 +02:00
Nikolaj Bjorner
1bc10cebc5
add ubv2s step 1
2021-07-12 12:53:00 +02:00
Nikolaj Bjorner
0f8d2d1d51
fix #5399
2021-07-10 14:47:51 +02: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
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
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
1b503b8887
na
2021-04-06 20:09:51 -07: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
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
9c716a2788
fix #5108
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-03-16 07:37:06 -07:00
Nikolaj Bjorner
e83f31949e
fix #5074 , add rewrite rules to simplify indexof special cases
2021-03-06 12:36:19 -08:00
Nikolaj Bjorner
847724fb21
added rewrite for itos
2021-03-04 10:47:47 -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
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
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
9ae3339c33
fixes
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-02-18 12:33:17 -08:00
Nikolaj Bjorner
e63dc7efc2
more rewrite rules
2021-02-17 17:32:00 -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
Nikolaj Bjorner
8f577d3943
remove ast_manager get_sort method entirely
2021-02-02 13:57:01 -08:00
Nikolaj Bjorner
3ae4c6e9de
refactor get_sort
2021-02-02 04:45:54 -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
e969bd1c97
fully remove seq-based characters
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-01-27 06:26:44 -08:00
Nikolaj Bjorner
33714ceb40
use _
2021-01-26 14:56:48 -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
dafee71500
reshuffle unicode support to use global parameter, and use bit-vectors on demand
2021-01-21 14:24:26 -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
9fa17a432a
bug fixes in nullability check
...
@veanes @cdstanford
2020-11-13 17:05:10 -08: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
11c90cc142
move parameters from ast/rewriter to params
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-29 11:11:16 -07:00
Nikolaj Bjorner
526d76b447
re-add pb extraction
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-26 13:52:43 -07:00
Margus Veanes
78b88f761c
updated rewrite rules to propagate nullability over nonground regexes ( #4663 )
...
* updated rewrite rules to propagate nullability over nonground regexes
* updated rewrite rules to propagate nullability over nonground regexes
* fixed incorrect rewrite status flag
2020-08-26 00:26:17 -07:00