3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 01:25:31 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-03-08 14:03:46 +01:00
parent f0451b68f3
commit 44104a5cce
5 changed files with 24 additions and 35 deletions

View file

@ -2691,22 +2691,20 @@ namespace nlsat {
for (unsigned i = 0; i < sz; ++i) {
poly * po = a1.p(i);
m_pm.substitute(po, x, q, p, pr);
change |= pr != po;
if (m_pm.is_zero(pr)) {
ps.reset();
even.reset();
change = true;
break;
}
if (m_pm.is_const(pr)) {
if (!a1.is_even(i) && m_pm.m().is_neg(m_pm.coeff(pr, 0))) {
k = atom::flip(k);
}
change = true;
continue;
}
ps.push_back(pr);
even.push_back(a1.is_even(i));
change |= pr != po;
}
if (!change) continue;
literal l = mk_ineq_literal(k, ps.size(), ps.c_ptr(), even.c_ptr());