3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-08-09 23:42:21 +00:00
z3/src
Nikolaj Bjorner a7762346d2 seq_regex: lazy canonization refinement for monadic memberships
Decide monadic memberships over their atomic terms first and canonize
through theory_seq's word equations lazily, inside final_check's
refinement loop, only when a proposed model violates a term's defining
equation.  This mirrors the existing lazy length-bound enforcement.

Eagerly canonizing at add time baked every word equation into every
unsat core, producing weak, non-generalizing conflicts.  With lazy
canonization an unsatisfiable regex is refuted over the atomic term with
no length/canonization dependency attached (strong conflicts); a
canonization equality enters a core only when it was actually needed.

Unit tests (test-z3 seq_monadic) pass; a 120-instance slog+automatark
sweep with model_validate=true reports 0 invalid models and no
regressions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 57b9b87e-950a-49ea-bbb3-ed585646a5a9
2026-08-05 20:15:34 -07:00
..
ackermannization
api Fix npm dependency security vulnerabilities in src/api/js (#10369) 2026-08-03 10:56:27 -07:00
ast Update seq_axioms.cpp 2026-08-05 18:13:35 -07:00
cmd_context Reject declarations that clash with built-in signatures (#10411) 2026-08-05 17:08:31 -07:00
math Disable "-Wnoctad-maybe-unsupported", add and fix "-Wdeprecated-copy-with-user-provided-copy". (#10332) 2026-07-31 19:34:08 -07:00
model
muz Make implicit switch case fall-throughs explicit (#10284) 2026-07-29 09:05:42 -07:00
nlsat
opt opt: don't stop the search on a stalled delta-rational objective (#10412) 2026-08-05 12:35:32 -07:00
params Add monadic regex end-game solver 2026-08-01 12:03:53 -07:00
parsers scanner: emit ERROR_TOKEN on I/O failure instead of silent EOF (#10294) 2026-07-29 14:00:42 -07:00
qe [snapshot-regression-fix] Spacer: keep symbolic term_graph representatives to fix 'Stuck on a lemma' regression (#10237) 2026-07-29 14:19:25 -07:00
sat Add global suppress_platform_verbose parameter (#10319) 2026-07-30 20:08:25 -07:00
shell
smt seq_regex: lazy canonization refinement for monadic memberships 2026-08-05 20:15:34 -07:00
solver fix: parallel mode exits unknown immediately for QF_BV due to reason-string mismatch (#10183) 2026-07-21 19:48:55 -07:00
tactic Disable "-Wnoctad-maybe-unsupported", add and fix "-Wdeprecated-copy-with-user-provided-copy". (#10332) 2026-07-31 19:34:08 -07:00
test Reject declarations that clash with built-in signatures (#10411) 2026-08-05 17:08:31 -07:00
util Track maximum regex lengths 2026-08-05 12:15:55 -07:00
CMakeLists.txt