3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-07-19 10:52:02 +00:00

propagate monomial is nla

This commit is contained in:
Lev Nachmanson 2023-09-05 18:49:59 -07:00
parent 318d7d7564
commit 41f59cb1ed
11 changed files with 210 additions and 115 deletions

View file

@ -1818,14 +1818,18 @@ bool core::improve_bounds() {
}
return bounds_improved;
}
void core::propagate(vector<lemma>& lemmas) {
// returns false if and only if makes lp_solver inconsistent
bool core::propagate(vector<lemma>& lemmas) {
// propagate linear monomials, those that have all, or all but one, variables fixed
lemmas.reset();
m_lemma_vec = &lemmas;
m_monomial_bounds.unit_propagate();
if (lra.get_status() == lp::lp_status::INFEASIBLE) {
TRACE("nla_solver", tout << "propagation found infeasibility\n";);
return false;
}
return true;
}