calebstanford-msr
c939195c10
add regex support for reverse and left/right derivative rewriting ( #4477 )
...
* partial work on adding 'reverse' (broken code)
* new op codes for derivative and reverse + associated rewrite rules
* incorporate reverses and derivatives in rewriter + some fixes
* enable rewriting str.in_re constraints with right derivative
2020-05-29 13:00:37 -07:00
Nikolaj Bjorner
dbd90e5f86
dbg proagate_eq
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-27 10:33:45 -07:00
Nikolaj Bjorner
a97bc65af4
hoist co-factors eagerly without adding axioms
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-25 15:10:45 -07:00
Nikolaj Bjorner
d1d14111cb
turn on Unicode parsing when they fit in 8 bits
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-22 10:41:19 -07:00
Nikolaj Bjorner
5844964d95
rename temporary macro
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-18 17:17:51 -07:00
Nikolaj Bjorner
c8c02060ee
another module level ifdef for #4382
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-18 15:01:27 -07:00
Murphy Berzish
152d6338f8
fix hex digit radix in unicode escape ( #4356 )
2020-05-17 19:07:51 -07:00
Nikolaj Bjorner
1def58bc9f
optional unicode mode
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-17 19:06:34 -07:00
Nikolaj Bjorner
30f17b1509
fix #4355
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-17 12:28:30 -07:00
Nikolaj Bjorner
fc8dfe3e40
seq
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-17 05:35:32 -07:00
Nikolaj Bjorner
34cc60410f
additional str/re operators, remove encoding option from zstring
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-17 05:08:36 -07:00
Nikolaj Bjorner
bfb38451d1
add unicode encoding back
2020-05-16 17:11:47 -07:00
Murphy Berzish
6f0a367357
add SMTLIB2.6 names for QF_SLIA and string-int conversion operators ( #4341 )
2020-05-16 14:31:47 -07:00
Nikolaj Bjorner
21c4d451d8
parse RegLan
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-16 14:26:53 -07:00
Nikolaj Bjorner
4753d93bb7
add some of the SMTLIB2.6 conventions and features to strings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-16 14:00:02 -07:00
Nikolaj Bjorner
1ab2ad07be
outline of unicode parsing #4333
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-16 13:36:43 -07:00
Murphy Berzish
1f15033ca2
z3str3: remove legacy code ( #4215 )
...
* z3str3: remove legacy fixed-length overlap testing
parameter smt.str.fixed_length_overlap_models has been deprecated
* z3str3: remove legacy length/value testing algorithm and binary search heuristic
the following parameters are deprecated:
smt.str.use_binary_search
smt.str.binary_search_start
smt.str.fixed_length_models (the fixed-length model construction is now always used)
* z3str3: remove legacy regex unroll methods
* z3str3: remove unused methods and member variables
2020-05-06 13:07:04 -07:00
Nikolaj Bjorner
9c3f0190f4
fix #4069
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-23 20:53:13 -07:00
Nikolaj Bjorner
501aa7927d
split into seq_axioms and seq_skolem
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-17 06:14:52 -07:00
Nikolaj Bjorner
835b57b775
fix #3961 fix #3940
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-14 17:33:44 -07:00
Nikolaj Bjorner
a7aff1bcf0
fix regression on string ops
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-02 10:03:35 -07:00
Nikolaj Bjorner
57d430b3fd
fix #3700
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-02 06:38:14 -07:00
Nikolaj Bjorner
ab5905cf7f
some adjustments for stack use on large strings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-12 22:08:24 -08:00
Nikolaj Bjorner
541658fe02
move to abstract symbols
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-10 12:14:13 -08:00
Nikolaj Bjorner
489448b869
fix #2762 , fix #2750 , add iterative unrolling to help on termination on sat instances (to address non-termination in #2759 and #2762 )
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-11-30 18:05:24 -08:00
Nikolaj Bjorner
a257ec0cc1
build warnings #2748
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-11-28 15:36:54 -08:00
Nikolaj Bjorner
64dd4e1c83
fix #2659
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-10-25 10:42:21 -07:00
Nikolaj Bjorner
4ce6b53d95
fix #2640
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-10-16 20:40:03 -07:00
Nikolaj Bjorner
4101652747
handle case where lower bound is above upper
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-09-20 09:54:18 -07:00
Nikolaj Bjorner
cd0cd82eb7
add rewrites for #2575
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-09-20 08:55:53 -07:00
Nikolaj Bjorner
12034df11a
add rewrites for #2575
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-09-20 02:16:30 -07:00
Nikolaj Bjorner
584eee2cf4
fixing #2448 and #2445 and #2443
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-08-02 15:06:34 -07:00
Nikolaj Bjorner
335543b374
adding comparison #2360
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-06-28 21:14:58 -07:00
Nikolaj Bjorner
b2845d888e
add get_lstring per #2286
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-05-22 18:32:57 +04:00
Nikolaj Bjorner
3e059a3a3b
one must answer the call of the master of compilers #2258
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-05-07 05:49:16 +02:00
Nikolaj Bjorner
3c8fd83c97
implementing last-index-of #2089
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-03-22 12:29:50 -07:00
Nuno Lopes
6a0c409b0f
move a few strings instead of copying
2019-02-28 10:53:27 +00:00
Nikolaj Bjorner
f56749a241
fix #2041 , fix #2043
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-12-16 15:18:49 -08:00
Nikolaj Bjorner
ea0d253308
fix const-char test
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-12-03 11:56:20 -08:00
Nikolaj Bjorner
2aa7ccc4a9
hide bit-vector dependencies under seq_util
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-12-03 08:45:17 -08:00
Nikolaj Bjorner
67f22d8d65
improving performance for length constraints
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-29 11:32:52 -08:00
Nikolaj Bjorner
e96f9de70b
perf #1988
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-29 06:02:32 -08:00
Nikolaj Bjorner
aa723f1eee
fix uninitialized variable
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-24 18:13:35 -08:00
Nikolaj Bjorner
6ddbc9cd38
overhaul of regular expression membership solving. Use iterative deepening and propagation, coallesce intersections
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-24 15:26:39 -08:00
Nikolaj Bjorner
f591e0948a
fix #1841
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-22 15:28:33 -08:00
Nikolaj Bjorner
7bc3b4e381
swap order in equality for emptiness check to deal with rewriter
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-22 13:03:55 -08:00
Nikolaj Bjorner
aeb4d1864d
clean up suffix/prefix rewriting
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-22 11:39:34 -08:00
Nikolaj Bjorner
498fa87993
seq rewriting fixes
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-22 10:48:49 -08:00
Nikolaj Bjorner
03bb5a085f
fix #1940
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-15 09:21:03 -08:00
Murphy Berzish
b09035565a
canonicalize encoding of string constants/symbols
2018-09-05 19:04:11 -04:00
Nikolaj Bjorner
774fa33bfe
fix parameter lookup
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-13 08:49:46 -07:00
Nikolaj Bjorner
4915fb080b
fix #1749 by rejecting non-well-founded use of datatype in array
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-12 22:45:52 -07:00
Nikolaj Bjorner
a04921dafe
fix #1595
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-26 08:47:05 +02:00
Nikolaj Bjorner
cf2258a536
fix #1594
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-26 08:39:35 +02:00
Nikolaj Bjorner
aef3de5fca
escape ascii above 127, issue #1571
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-12 15:05:35 +08:00
Nikolaj Bjorner
a4c58ec4c2
fix #1496
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-02-22 08:05:28 +09:00
Bruce Mitchener
76eb7b9ede
Use nullptr.
2018-02-12 14:05:55 +07:00
Nikolaj Bjorner
3f7453f5c5
fixing build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-02-07 20:23:31 -08:00
Nikolaj Bjorner
61934d8106
align semantics of re.allchar with string proposal. #1475
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-02-07 20:08:15 -08:00
Nikolaj Bjorner
b19f94ae5b
make include paths uniformly use path relative to src. #534
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-31 13:24:11 -07:00
Nikolaj Bjorner
d1cfc53495
fix for #1015
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-10 19:40:00 -07:00
Murphy Berzish
05958193ab
revert change to String sort declaration
2017-04-27 22:30:02 -04:00
Murphy Berzish
46ac718790
theory_str frontend changes
2017-04-26 17:24:05 -04:00
Nikolaj Bjorner
48638c6f1e
fix for #975 , add mask to ensure character encoding is unique within range of bits used for encoding
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-04-15 09:34:13 +07:00
Murphy Berzish
ad0766898c
add boolean operators to zstring and fix ostream
2017-03-04 15:20:57 -05:00
Murphy Berzish
0ebd93c8b5
add _re.unroll internal operator to seq_decl_plugin
2017-02-23 20:57:19 -05:00
Murphy Berzish
eb0ba26f90
C-style octal escapes, including 1- and 2-digit escapes
2017-02-23 18:33:10 -05:00
Murphy Berzish
61bbf8ba7e
add octal escape to seq_decl_plugin
2017-02-23 18:24:08 -05:00
Nikolaj Bjorner
8e6600c6be
add python API for newly exposed regex constructors
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-09 09:09:03 +01:00
Nikolaj Bjorner
7a4c20698f
fix handling of AC operator ++ on regular expressions. Issue #804
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-22 13:02:17 -08:00
Nikolaj Bjorner
879f792125
fix axiomatization of str.replace. Fixes issue #703
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-08-20 06:13:52 -07:00
Nikolaj Bjorner
d5ee7e24bc
add simplification for equalities between itos and constant strings, Issue #589
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-08 11:50:39 -07:00
Nikolaj Bjorner
09b8c0e7fa
removing warnings for unused variables, #579
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-17 15:59:06 -07:00
Nikolaj Bjorner
0870b4a5a0
add length coherence check for length = 0
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-25 17:17:34 -07:00
Nikolaj Bjorner
45fdb95f53
fix performance for model construction, recognize concats of values as a value for pre-processing
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-23 17:23:57 -07:00
Nikolaj Bjorner
94453033b6
add partial support for complementation of regular expressions. Handles case of complementing character ranges
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-12 15:59:33 +00:00
Nikolaj Bjorner
60c0e73b2f
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-02-09 11:08:52 +00:00
Nikolaj Bjorner
133e3693de
fix bug in replace built-in and move length-equality propagation to branch final check
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-09 11:08:33 +00:00
Christoph M. Wintersteiger
37b11cdc74
Comments, whitespace.
2016-02-07 15:01:09 +00:00
Nikolaj Bjorner
5b50d98b89
ensure that seq rewriter gets invoked during pre-processing
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-06 16:13:31 +00:00
Nikolaj Bjorner
6529d43fb1
fix bugs exposed by unit tests from Pierre
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-26 09:50:14 -08:00
Nikolaj Bjorner
8e378062e2
add get-some-value to seq API, expose quantifier tactics
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-26 08:05:44 -08:00
Nikolaj Bjorner
345f6e87bd
seq bug fixes
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-26 07:21:31 -08:00
Nikolaj Bjorner
924f03c6de
fixing bugs in seq
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-23 10:38:49 -05:00
Nikolaj Bjorner
150c5c283d
update re simplification
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-15 10:11:39 +05:30
Nikolaj Bjorner
de9c959241
add support for re.nostr, re.all, fix bug in disequality handling of sequences, update signature of loop to handle integer arguments and variable arguments
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-14 10:56:03 +01:00
Nikolaj Bjorner
e0215400e2
add empty/full regular languages, escape sequence fixes, check cancellation inside simplifier
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-13 20:13:17 +01:00
Nikolaj Bjorner
9909c056f0
add range / loop handling for re. Fix regression reading mixed numerals reported by Trentin
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-13 00:49:31 -08:00
Nikolaj Bjorner
db746e0c2f
fix more unused variable warning messages
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-12 09:52:16 -08:00
Nikolaj Bjorner
db71563478
fix build compiler warnings on OSX
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-12 09:36:01 -08:00
Nikolaj Bjorner
0e6aaf0211
Issue #407 build break
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-07 20:05:49 -08:00
Nuno Lopes
465d28e160
seq_decl: fix build with stricter compilers
...
get rid of 32 rellocations as a nice side-effect
2016-01-05 14:57:41 +00:00
Nikolaj Bjorner
e10ecad5dc
seq API
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-02 22:52:28 -08:00
Nikolaj Bjorner
876fd1f7ba
seq
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-01 09:00:21 -08:00
Nikolaj Bjorner
78550ec816
seq
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-31 07:48:14 -08:00
Nikolaj Bjorner
746d26e744
seq
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-29 21:14:52 -08:00
Nikolaj Bjorner
31302ec851
automata
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-25 15:22:26 -08:00
Nikolaj Bjorner
f414869456
add symbolic automaton
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-23 19:46:10 -08:00
Nikolaj Bjorner
386399472d
seq
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-23 11:02:34 -08:00
Nikolaj Bjorner
9c6271dded
add debugging facilities for github issues #384 #367
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-22 10:43:18 -08:00