mirror of
https://github.com/Z3Prover/z3
synced 2025-06-29 09:28:45 +00:00
fix #5136, regression when removing variable registration for mod/div operations
This commit is contained in:
parent
c629f09f21
commit
c71bbb6391
2 changed files with 10 additions and 2 deletions
|
@ -345,6 +345,10 @@ public:
|
||||||
MATCH_BINARY(is_rem);
|
MATCH_BINARY(is_rem);
|
||||||
MATCH_BINARY(is_div);
|
MATCH_BINARY(is_div);
|
||||||
MATCH_BINARY(is_idiv);
|
MATCH_BINARY(is_idiv);
|
||||||
|
MATCH_BINARY(is_mod0);
|
||||||
|
MATCH_BINARY(is_rem0);
|
||||||
|
MATCH_BINARY(is_div0);
|
||||||
|
MATCH_BINARY(is_idiv0);
|
||||||
MATCH_BINARY(is_power);
|
MATCH_BINARY(is_power);
|
||||||
|
|
||||||
MATCH_UNARY(is_sin);
|
MATCH_UNARY(is_sin);
|
||||||
|
|
|
@ -450,7 +450,11 @@ class theory_lra::imp {
|
||||||
st.to_ensure_var().push_back(n1);
|
st.to_ensure_var().push_back(n1);
|
||||||
st.to_ensure_var().push_back(n2);
|
st.to_ensure_var().push_back(n2);
|
||||||
}
|
}
|
||||||
else if (!a.is_div0(n) && !a.is_mod0(n) && !a.is_idiv0(n) && !a.is_rem0(n)) {
|
if (a.is_idiv0(n, n1, n2) || a.is_mod0(n, n1, n2) || a.is_rem0(n, n1, n2)) {
|
||||||
|
st.to_ensure_var().push_back(n1);
|
||||||
|
st.to_ensure_var().push_back(n2);
|
||||||
|
}
|
||||||
|
else if (!a.is_div0(n)) {
|
||||||
found_unsupported(n);
|
found_unsupported(n);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue