3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-06-27 02:48:48 +00:00

Lookahead for regex splits applied to membership constraints

Rewriting constraint/prefix/suffix with constant strings to regexes
This commit is contained in:
CEisenhofer 2026-06-10 20:35:36 +02:00
parent f9f16550e0
commit 2dbefbcd56
7 changed files with 220 additions and 69 deletions

View file

@ -383,9 +383,11 @@ public:
return result;
}
// Split decomposition (sigma) of a regex; see seq_split.h.
bool split(expr* r, split_set& out, unsigned threshold, split_mode mode = split_mode::strong) {
return m_split.compute(r, out, threshold, mode);
// Split decomposition (sigma) of a regex; see seq_split.h. `oracle` (optional)
// prunes non-viable splits during generation.
bool split(expr* r, split_set& out, unsigned threshold,
split_mode mode = split_mode::strong, split_oracle const& oracle = {}) {
return m_split.compute(r, out, threshold, mode, oracle);
}
void simplify_split(split_set& s) { m_split.simplify(s); }