3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-22 08:35:31 +00:00
This commit is contained in:
Nikolaj Bjorner 2021-12-09 15:58:23 -08:00
parent bf258ee29d
commit 9c3489ba4b

View file

@ -94,6 +94,16 @@ namespace polysat {
m_lhs *= x;
SASSERT(m_lhs.leading_coefficient().is_power_of_two());
}
if (m_lhs.is_one() && m_rhs.is_monomial() && m_rhs.leading_coefficient().is_odd() && !m_rhs.leading_coefficient().is_one()) {
pdd rhs = m_rhs;
m_rhs = 1;
while (!rhs.is_val()) {
m_rhs *= rhs.manager().mk_var(rhs.var());
SASSERT(rhs.lo().is_zero());
rhs = rhs.hi();
}
}
}
std::ostream& ule_constraint::display(std::ostream& out, lbool status) const {