mirror of
https://github.com/Z3Prover/z3
synced 2026-06-19 15:16:29 +00:00
Address PR review comments: cache, simplify_ite_rec, itos
- Cache now indexes by (ele, r) pair using obj_pair_map - Remove eval() function; operator()(ele, r) handles all cases - Rewrite simplify_ite_rec with path vector of signed conditions - Add range-based simplification: (lo <= x, false) + (x <= hi, false) eliminates ite(x = v, t, e) when v is outside [lo, hi] - Add is_itos case in derive_to_re: guards on n >= 0, digit range, and first character match - Port is_reverse normalization (previous commit) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
parent
3a22994b80
commit
2e3dd32b90
3 changed files with 140 additions and 47 deletions
|
|
@ -2959,9 +2959,7 @@ expr_ref seq_rewriter::mk_brz_derivative(expr* r) {
|
|||
}
|
||||
|
||||
expr_ref seq_rewriter::mk_derivative(expr* ele, expr* r) {
|
||||
// Compute symbolic derivative (cached per regex), then evaluate for concrete element
|
||||
expr_ref d = m_derive(r);
|
||||
return m_derive.eval(ele, d);
|
||||
return m_derive(ele, r);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue