3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-03-07 13:54:53 +00:00
z3/src
Nikolaj Bjorner 636b3b0a6b Add Phase 5: regex membership checking via derivatives
- check_regex_memberships: iterate regex constraints in final_check
- check_regex_mem: for ground strings, compute Brzozowski derivatives and check nullable
- derive_regex: step-by-step derivative of regex w.r.t. string prefix
- is_ground_string: resolve string value through e-graph roots
- Handles positive (str.in_re) and negative (not str.in_re) memberships
- Uses seq_rewriter::mk_derivative and is_nullable (existing Z3 infrastructure)
- No regressions on string-concat.smt2 (36/62 correct, 0 wrong)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-28 10:06:36 -08:00
..
ackermannization Fix off-by-one vulnerabilities: use range-based for on goals; cache loop bound 2026-02-19 22:37:22 +00:00
api Add missing API functions to Go, OCaml, and TypeScript bindings 2026-02-27 02:55:37 +00:00
ast Add Phase 3: Nielsen transformation engine and equation solving 2026-02-27 18:01:08 -08:00
cmd_context Remove redundant default constructors when they're the only constructor (#8461) 2026-02-18 20:58:01 -08:00
math Eliminate unnecessary copy operations in function parameters and range-based loops (#8589) 2026-02-18 21:02:22 -08:00
model Remove redundant default constructors when they're the only constructor (#8461) 2026-02-18 20:58:01 -08:00
muz Eliminate unnecessary copies with std::move for ref-counted types (#8591) 2026-02-18 21:02:24 -08:00
nlsat remove an unnecessary template from levelwise 2026-02-25 07:03:23 -10:00
opt Refactor optimization and model to use C++17 structured bindings for pairs (#8426) 2026-02-18 20:57:59 -08:00
params Add theory_nseq skeleton: new string solver selectable via smt.string_solver=nseq 2026-02-27 17:00:59 -08:00
parsers Revert "Refactor find_psort_decl() to return std::optional<psort_decl*> (#8339)" 2026-02-18 20:57:56 -08:00
qe Fix true positive critical bugs from static analysis discussion #8764 2026-02-25 00:41:59 +00:00
sat Merge pull request #8767 from Z3Prover/copilot/fix-ubv-to-int-bug 2026-02-25 13:32:40 -08:00
shell Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
smt Add Phase 5: regex membership checking via derivatives 2026-02-28 10:06:36 -08:00
solver Remove copies (#8583) 2026-02-18 21:02:22 -08:00
tactic Merge pull request #8779 from Z3Prover/copilot/convert-bv1-blast-to-simplifier 2026-02-26 15:52:18 -08:00
test Merge pull request #8789 from Z3Prover/succ_int_mult 2026-02-27 09:45:26 -10:00
util Fix true positive critical bugs from static analysis discussion #8764 2026-02-25 00:41:59 +00:00
CMakeLists.txt git bindings v1.0 2026-02-18 21:02:25 -08:00