mirror of
https://github.com/Z3Prover/z3
synced 2025-10-09 09:21:56 +00:00
t
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
parent
444a9b1c4f
commit
3c38ee2690
1 changed files with 21 additions and 23 deletions
|
@ -374,25 +374,23 @@ struct solver::imp {
|
||||||
process_polynomial_check_assignment(num_mon, p, bound, nl2lp, t);
|
process_polynomial_check_assignment(num_mon, p, bound, nl2lp, t);
|
||||||
|
|
||||||
switch (a->get_kind()) {
|
switch (a->get_kind()) {
|
||||||
case nlsat::atom::EQ:
|
|
||||||
{
|
{
|
||||||
nla::ineq inq(l.sign() ? lp::lconstraint_kind::NE : lp::lconstraint_kind::EQ, t, bound);
|
// Introduce a single ineq variable and assign it per case; common handling after switch.
|
||||||
if (m_nla_core.ineq_holds(inq))
|
nla::ineq inq(lp::lconstraint_kind::EQ, t, bound); // initial value overwritten in cases below
|
||||||
return l_undef;
|
switch (a->get_kind()) {
|
||||||
lemma |= inq;
|
case nlsat::atom::EQ:
|
||||||
}
|
inq = nla::ineq(l.sign() ? lp::lconstraint_kind::NE : lp::lconstraint_kind::EQ, t, bound);
|
||||||
break;
|
break;
|
||||||
case nlsat::atom::LT:
|
case nlsat::atom::LT:
|
||||||
{
|
inq = nla::ineq(l.sign() ? lp::lconstraint_kind::GE : lp::lconstraint_kind::LT, t, bound);
|
||||||
nla::ineq inq(l.sign() ? lp::lconstraint_kind::GE : lp::lconstraint_kind::LT, t, bound);
|
|
||||||
if (m_nla_core.ineq_holds(inq))
|
|
||||||
return l_undef;
|
|
||||||
lemma |= inq;
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case nlsat::atom::GT:
|
case nlsat::atom::GT:
|
||||||
{
|
inq = nla::ineq(l.sign() ? lp::lconstraint_kind::LE : lp::lconstraint_kind::GT, t, bound);
|
||||||
nla::ineq inq(l.sign() ? lp::lconstraint_kind::LE : lp::lconstraint_kind::GT, t, bound);
|
break;
|
||||||
|
default:
|
||||||
|
UNREACHABLE();
|
||||||
|
return l_undef;
|
||||||
|
}
|
||||||
if (m_nla_core.ineq_holds(inq))
|
if (m_nla_core.ineq_holds(inq))
|
||||||
return l_undef;
|
return l_undef;
|
||||||
lemma |= inq;
|
lemma |= inq;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue