mirror of
https://github.com/Z3Prover/z3
synced 2026-06-30 04:18:53 +00:00
nseq: port ZIPT regex pre-check to fix benchmark discrepancy on regex-only problems (#8994)
* Initial plan * Port ZIPT regex pre-check and DFS node budget to address nseq benchmark discrepancy Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
This commit is contained in:
parent
2212f59704
commit
d53846d501
8 changed files with 140 additions and 0 deletions
|
|
@ -438,6 +438,12 @@ namespace seq {
|
|||
// Only handle ground regexes; non-ground can't be fully explored
|
||||
if (!re->is_ground())
|
||||
return l_undef;
|
||||
// s_other snodes (unrecognized regex kinds, e.g. re.+) cannot be
|
||||
// efficiently explored: the alphabet partition is trivially {∅} and
|
||||
// derivative computations may be slow. Report l_undef and let the
|
||||
// caller fall back to a more capable procedure.
|
||||
if (re->kind() == euf::snode_kind::s_other)
|
||||
return l_undef;
|
||||
|
||||
// BFS over the Brzozowski derivative automaton.
|
||||
// Each state is a derivative regex snode identified by its id.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue