mirror of
https://github.com/Z3Prover/z3
synced 2025-04-08 18:31:49 +00:00
add a comment in nla_order
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
parent
fdedeed7ae
commit
fc5e5a2098
|
@ -287,8 +287,13 @@ void order::generate_ol(const monic& ac,
|
|||
// c > 0 and ac <= bc => a <= b
|
||||
// c < 0 and ac >= bc => a <= b
|
||||
// c < 0 and ac <= bc => a >= b
|
||||
|
||||
|
||||
lemma |= ineq(c.var(), val(c.var()).is_neg() ? llc::GE : llc::LE, 0);
|
||||
lemma |= ineq(term(rational(1), ac.var(), -rational(1), bc.var()), var_val(ac) < var_val(bc) ? llc::GT : llc::LT, 0);
|
||||
// The value of factor k is val(k) = k.rat_sign()*val(k.var()).
|
||||
// That is why we need to use the factor signs of a and b in the term,
|
||||
// but the constraint of the term is defined by val(a) and val(b).
|
||||
lemma |= ineq(term(a.rat_sign(), a.var(), -b.rat_sign(), b.var()), val(a) < val(b) ? llc::GE : llc::LE, 0);
|
||||
|
||||
lemma &= ac;
|
||||
|
|
Loading…
Reference in a new issue