mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 17:15:31 +00:00
a bug fix for handling infeasibilities created in add_var_bound()
Signed-off-by: Lev <levnach@hotmail.com>
This commit is contained in:
parent
2993453798
commit
23a7e5e302
2 changed files with 68 additions and 9 deletions
|
@ -2988,11 +2988,11 @@ public:
|
|||
else {
|
||||
ci = m_solver->add_var_bound(vi, k, b.get_value());
|
||||
}
|
||||
TRACE("arith", tout << "v" << b.get_var() << "\n";);
|
||||
add_ineq_constraint(ci, literal(bv, !is_true));
|
||||
if (is_infeasible()) {
|
||||
return;
|
||||
}
|
||||
TRACE("arith", tout << "v" << b.get_var() << "\n";);
|
||||
add_ineq_constraint(ci, literal(bv, !is_true));
|
||||
propagate_eqs(vi, ci, k, b);
|
||||
}
|
||||
|
||||
|
@ -3289,7 +3289,7 @@ public:
|
|||
c.neg();
|
||||
ctx().mark_as_relevant(c);
|
||||
}
|
||||
TRACE("arith", ctx().display_literals_verbose(tout, m_core););
|
||||
TRACE("arith", ctx().display_literals_verbose(tout, m_core) << "\n";);
|
||||
ctx().mk_th_axiom(get_id(), m_core.size(), m_core.c_ptr());
|
||||
}
|
||||
}
|
||||
|
@ -3760,6 +3760,8 @@ public:
|
|||
break;
|
||||
}
|
||||
case null_source:
|
||||
out << idx << " null";
|
||||
break;
|
||||
default:
|
||||
UNREACHABLE();
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue