3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-07-18 02:16:40 +00:00
Commit graph

36 commits

Author SHA1 Message Date
Nikolaj Bjorner
1204671595 fix #4534
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-19 14:10:49 -07: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
865dfe0590 own refs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-12 17:07:06 -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
b0da5409c1 substitute into non-ground regexes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-09 14:58:25 -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
ccea27de35 add nullable propagation instead of waiting for length assignment
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-06 12:11:04 -07:00
Nikolaj Bjorner
65b6ccd651 add nullable propagation instead of waiting for length assignment
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-06 11:32:43 -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
3a7df2c6ef fix various nullability checks in seq_regex
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 12:28:32 -07:00
Nikolaj Bjorner
d372af4782 add stub for cheap equality propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-30 15:36:27 -07:00
Nikolaj Bjorner
ce4e1d3cbb fresh index
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-29 19:54:50 -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
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
6a90072a98 bug in non-member disjunction
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-28 12:03:40 -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
9764007c97 lorem ipsum
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-26 20:55:02 -07:00
Nikolaj Bjorner
0c2c1861f1 add general purpose emptiness/non-emptiness check
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-26 20:50:18 -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
33cdc06eb4 merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-26 13:37:49 -07:00
Nikolaj Bjorner
a1991d803f add some notes to regex
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-26 13:30:52 -07:00
Nikolaj Bjorner
5e79eb62fd add some notes to regex
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-26 13:30:52 -07:00
Nuno Lopes
d8cea7c8d5 fix a few warnings & simplify debug.h header 2020-05-26 13:49:13 +01: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
4e01d5b5c1 tune axioms for derivatives
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-25 14:11:59 -07:00
Nikolaj Bjorner
d6ad371934 avoid div/mod axioms on 0
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-23 16:37:40 -07:00
Nikolaj Bjorner
24df35a83e guard derivative code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-23 16:02:10 -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