3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 17:15:31 +00:00

process conflicts immediately aftep add_var_bound()

Signed-off-by: Lev <levnach@hotmail.com>
This commit is contained in:
Lev 2018-11-07 16:49:30 -08:00 committed by Lev Nachmanson
parent c9be7b89c1
commit 4fa38b5aa2
3 changed files with 4 additions and 308 deletions

View file

@ -2302,7 +2302,7 @@ public:
int new_num_of_p = m_solver->settings().st().m_num_of_implied_bounds;
(void)new_num_of_p;
CTRACE("arith", new_num_of_p > num_of_p, tout << "found " << new_num_of_p << " implied bounds\n";);
if (m_solver->get_status() == lp::lp_status::INFEASIBLE) {
if (is_infeasible()) {
set_conflict();
}
else {
@ -2960,7 +2960,7 @@ public:
}
void assert_bound(bool_var bv, bool is_true, lp_api::bound& b) {
if (m_solver->get_status() == lp::lp_status::INFEASIBLE) {
if (is_infeasible()) {
return;
}
scoped_internalize_state st(*this);
@ -2993,8 +2993,8 @@ public:
else {
ci = m_solver->add_var_bound(vi, k, b.get_value(), m_explanation);
}
if (m_solver->get_status() == lp::lp_status::INFEASIBLE) {
NOT_IMPLEMENTED_YET();
if (is_infeasible()) {
set_conflict1();
return;
}
TRACE("arith", tout << "v" << b.get_var() << "\n";);