mirror of
https://github.com/Z3Prover/z3
synced 2026-05-30 21:57:46 +00:00
Replace apply_regex_unit_split with apply_regex_if_split (#9210)
Agent-Logs-Url: https://github.com/Z3Prover/z3/sessions/7df36402-f2c7-4de5-b626-3df14d4eee64 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
e59ee306e9
commit
ddd8bf84d7
2 changed files with 32 additions and 56 deletions
|
|
@ -730,7 +730,7 @@ namespace seq {
|
|||
unsigned m_mod_num_cmp = 0;
|
||||
unsigned m_mod_split_power_elim = 0;
|
||||
unsigned m_mod_const_num_unwinding = 0;
|
||||
unsigned m_mod_regex_unit_split = 0;
|
||||
unsigned m_mod_regex_if_split = 0;
|
||||
unsigned m_mod_eq_split = 0;
|
||||
unsigned m_mod_star_intr = 0;
|
||||
unsigned m_mod_gpower_intr = 0;
|
||||
|
|
@ -1060,10 +1060,9 @@ namespace seq {
|
|||
// mirrors ZIPT's ConstNumUnwindingModifier
|
||||
bool apply_const_num_unwinding(nielsen_node* node);
|
||||
|
||||
// regex unit split: for str_mem c·s ∈ R where c is a symbolic unit,
|
||||
// branch over regex minterms and constrain c via char_range.
|
||||
// Unlike apply_regex_var_split, no substitution and no epsilon branch.
|
||||
bool apply_regex_unit_split(nielsen_node* node);
|
||||
// regex if split: for str_mem s ∈ R where R decomposes as ite(c, th, el),
|
||||
// branch into s ∈ th under condition c, and s ∈ el under condition ¬c.
|
||||
bool apply_regex_if_split(nielsen_node* node);
|
||||
|
||||
// star introduction: for a str_mem x·s ∈ R where a cycle is detected
|
||||
// (backedge exists), introduce stabilizer: x ∈ base* with x split.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue