mirror of
https://github.com/Z3Prover/z3
synced 2025-06-02 12:21:21 +00:00
reduce-args: fixed unsoundness introduced in my previous commit
skip an UF arg if it's quantified e.g. forall a . f(a, b) -> f(b) (but not f)
This commit is contained in:
parent
c8af48d7ef
commit
aed4619066
1 changed files with 3 additions and 3 deletions
|
@ -96,10 +96,10 @@ struct reduce_args_tactic::imp {
|
||||||
expr *lhs, *rhs;
|
expr *lhs, *rhs;
|
||||||
if (bv.is_bv_add(e, lhs, rhs) && bv.is_numeral(lhs)) {
|
if (bv.is_bv_add(e, lhs, rhs) && bv.is_numeral(lhs)) {
|
||||||
base = rhs;
|
base = rhs;
|
||||||
} else {
|
return true;
|
||||||
base = e;
|
|
||||||
}
|
}
|
||||||
return true;
|
base = e;
|
||||||
|
return !is_var(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool may_be_unique(ast_manager& m, bv_util& bv, expr* e, expr*& base) {
|
static bool may_be_unique(ast_manager& m, bv_util& bv, expr* e, expr*& base) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue