mirror of
https://github.com/Z3Prover/z3
synced 2026-06-19 15:16:29 +00:00
Derived by the wrong "leading character"
This commit is contained in:
parent
7a909aedb7
commit
89a2ac133f
1 changed files with 5 additions and 2 deletions
|
|
@ -463,8 +463,11 @@ namespace smt {
|
|||
euf::snode* re_node = mem.m_regex;
|
||||
euf::snode* str_node = mem.m_str;
|
||||
do {
|
||||
// eliminate leading character by derivatives
|
||||
re_node = m_sgraph.brzozowski_deriv(re_node, mem.m_str->first());
|
||||
// eliminate leading character by derivatives; derive by the
|
||||
// CURRENT leading char (str_node->first()), not the original
|
||||
// mem.m_str->first() — otherwise a multi-char prefix is derived
|
||||
// by its first char repeatedly (unsound).
|
||||
re_node = m_sgraph.brzozowski_deriv(re_node, str_node->first());
|
||||
str_node = m_sgraph.drop_first(str_node);
|
||||
} while (!str_node->is_empty() && str_node->first()->is_char());
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue