Nikolaj Bjorner
d0e20e44ff
booyah
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-04 15:56:30 -07:00
Nikolaj Bjorner
5987d9ae20
cache computing strings and regexes
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-02 11:14:29 -07:00
Nikolaj Bjorner
d91ca423ab
enforce reference count ownership in context of mk_derivative calls.
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-01 13:13:17 -07:00
Nikolaj Bjorner
9a642215eb
avoid infinite loop between is-nullable and mk-bool-app
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-28 10:27:47 -07:00
Nikolaj Bjorner
8758baf24e
perf and div/mod axioms #4532
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-22 14:51:58 -07:00
Nuno Lopes
fdeba2102c
fix deref of free'd memory in mk_fresh_const
2020-06-18 19:25:32 +01:00
Nikolaj Bjorner
3b1149330d
enable theory propagation of regex accept condition
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-17 13:42:40 -07:00
Nikolaj Bjorner
41430cd128
register unhandled expressions
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-12 16:12:24 -07:00
Nikolaj Bjorner
5a2b6d9c92
bounds on loop expressions
2020-06-11 00:04:41 -07:00
Nikolaj Bjorner
e3d45b9850
refcount leaks
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-09 14:19:26 -07:00
Nikolaj Bjorner
4fdfc65b37
tune seq rewriting
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-09 13:30:39 -07:00
Nikolaj Bjorner
08cc5bc2e5
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-09 11:39:26 -07:00
calebstanford-msr
1fd567d1e9
fix bug in seq rewriter op_cache::find ( #4509 )
...
* remove unneeded reverse case in derivative; placeholder for generalized lifted derivative
* experimental tweaks to RE rewriter to improve performance
* if-then-else lifting
(broken code -- preserving this commit in case this idea is useful later)
* if-then-else derivative optimizations: new approach templates
* implement if-then-else BDD normal form for derivatives
(code compiles but is still buggy)
* remove std::cout debugging for PR
* Revert "remove std::cout debugging for PR"
This reverts commit c7bdc44d31
.
* debugging
* fix derivative interaction with reverse; add flags for left/right derivative and lifting over union/intersection
* remove debugging statements for PR
* Revert "remove debugging statements for PR"
This reverts commit 38e85a7288
.
* revert some purely cosmetic changes from upstream; fix a bug
* revert unnecessary changes
* remove some redundant rewrites and add a new one for str.in_re(s, comp(r))
* add disabled rewrite for complement
* fix bug in op cache find (result was not saved)
* remove debugging std::cout for PR
2020-06-09 11:36:31 -07:00
Nikolaj Bjorner
d2a12f6db5
tuning
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-07 12:52:13 -07:00
Nikolaj Bjorner
ba1ca33637
normalization of union/intersection
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-06 12:54:44 -07:00
Nikolaj Bjorner
1b9fcc7098
integrate ite-normalized derivatives
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-05 17:28:48 -07:00
Nikolaj Bjorner
4dbf7b183d
inline conditions with derivative computation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-05 13:51:31 -07:00
Nikolaj Bjorner
59e388ece1
handle bind proof constructor and print lambda
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-04 11:59:59 -07:00
Nikolaj Bjorner
b013df9a9f
fix #4431
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-04 00:47:27 -07:00
Nuno Lopes
e844aef896
remove a few more copy constructors, though still not enough to enable the assertion in vector
...
I give up for now; there are too many copies left for little return..
2020-06-03 20:32:13 +01:00
Nuno Lopes
7ac2791482
remove a bunch of constructors to avoid copies
...
still not enough to guarantee that vector::expand doesnt copy (WIP)
2020-06-03 17:09:27 +01:00
Nuno Lopes
98b5abb1d4
buffer: require a move constructor to avoid copies
...
remove unneded copy constructors from several classes
2020-06-03 11:57:49 +01:00
Nikolaj Bjorner
d3e20d41b2
fix $4457
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-02 18:31:28 -07:00
Nikolaj Bjorner
bfb5c95b9a
use op-cache for is-nullable
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-02 13:30:18 -07:00
Nikolaj Bjorner
e388055a33
connecting op-cache
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-02 13:13:32 -07:00
Nikolaj Bjorner
4ef480e2a5
add op cache
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-02 12:52:42 -07:00
Nikolaj Bjorner
2da7a8dd70
fix #4491
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-01 20:12:41 -07:00
Nikolaj Bjorner
084cd335eb
add (disabled) stubs for decomposing re-membership on regex
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-31 12:25:21 -07:00
Nikolaj Bjorner
7f7663a3b4
fix #4478
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-31 11:16:21 -07:00
Nikolaj Bjorner
c92a63690d
enable parsing (_ char ..)
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-29 17:47:24 -07:00
Nikolaj Bjorner
d41ecda03e
skip non-overlap simplification in rewriter
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-29 17:27:54 -07:00
Nikolaj Bjorner
e68c72755a
fix leak
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-29 14:49:53 -07:00
Nikolaj Bjorner
f381d51c83
update badge
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-29 14:04:12 -07:00
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
3d9d52f742
add detection of string equalities
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-29 10:40:47 -07:00
Nikolaj Bjorner
e0130f5cf4
remove Kleene naming as it is a misnomer in this context
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-28 20:41:03 -07:00
Nikolaj Bjorner
0911a06d81
bounds
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-28 20:05:32 -07:00
Nikolaj Bjorner
ea1f50b77e
simplify extended contains patterns
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-28 19:11:29 -07:00
Nikolaj Bjorner
6a90072a98
bug in non-member disjunction
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-28 12:03:40 -07:00
Nikolaj Bjorner
90708576fe
from #4468
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-27 14:04:30 -07:00
Nikolaj Bjorner
87f8da022e
fix non-empty -> empty typo
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-27 12:13:25 -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
9dd8ebb474
fix build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-27 10:10:25 -07:00
Nikolaj Bjorner
94ffd63b51
change to iterative unfolding left build broken for some time
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-26 21:25:53 -07:00
Nikolaj Bjorner
88e36c6bf3
add general purpose emptiness/non-emptiness check
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-26 20:42:21 -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
e938ee33bb
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-25 14:11:59 -07:00
Nikolaj Bjorner
4e01d5b5c1
tune axioms for derivatives
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-25 14:11:59 -07:00
Nikolaj Bjorner
eb3f20832e
initial pass at using derivatives in regex unfolding
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-23 11:53:07 -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