mirror of
https://github.com/Z3Prover/z3
synced 2026-06-28 11:28:49 +00:00
Guard for powers at unwinding regexes seems to got lost
This commit is contained in:
parent
63a668a71f
commit
fc2124890e
1 changed files with 7 additions and 0 deletions
|
|
@ -4239,6 +4239,13 @@ namespace seq {
|
||||||
continue;
|
continue;
|
||||||
euf::snode const* first = mem.m_str->first();
|
euf::snode const* first = mem.m_str->first();
|
||||||
SASSERT(first);
|
SASSERT(first);
|
||||||
|
// This modifier handles x·s ∈ R where x is a variable. A non-var
|
||||||
|
// leading token (e.g. a power u^n) must NOT be substituted as if it
|
||||||
|
// were a free variable — that is unsound (it discards the power's
|
||||||
|
// semantics, producing an invalid model). Leave it for the
|
||||||
|
// power-aware modifiers (apply_var_num_unwinding_mem etc.).
|
||||||
|
if (!first->is_var())
|
||||||
|
continue;
|
||||||
|
|
||||||
// std::cout << "Considering regex: " << spp(mem.m_regex, m) << std::endl;
|
// std::cout << "Considering regex: " << spp(mem.m_regex, m) << std::endl;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue