Fixes #4791.
|| (!db.upper_value.isNull()
&& db.upper_value.getConst<Rational>().sgn() == -1))
{
- Rational bden = db.lower_value.isNull()
+ Rational bden = db.upper_value.isNull()
? db.lower_value.getConst<Rational>()
: db.upper_value.getConst<Rational>().abs();
// if 0 <= UB(num) < LB(den) or 0 <= UB(num) < -UB(den)
regress1/nl/issue3656.smt2
regress1/nl/issue3803-nl-check-model.smt2
regress1/nl/issue3955-ee-double-notify.smt2
+ regress1/nl/issue4791-llr.smt2
regress1/nl/issue5372-2-no-m-presolve.smt2
regress1/nl/issue5662-nl-tc.smt2
regress1/nl/issue5662-nl-tc-min.smt2
--- /dev/null
+; COMMAND-LINE: --learned-rewrite --no-check-unsat-cores
+; EXPECT: unsat
+;
+;!(a,b,c).( 0<=b & 1<=c & 0<=a & 1<=c
+; =>
+; (a+(b mod c)) mod c = (a+b) mod c)
+;
+(set-logic QF_NIA)
+(set-option :print-success false)
+
+(declare-fun a () Int)
+(declare-fun b () Int)
+(declare-fun c () Int)
+
+(assert (<= 0 a))
+(assert (<= 1 c))
+(assert (<= 0 b))
+
+(assert (! (not (= (mod (+ a (mod b c)) c) (mod (+ a b) c))) :named goal))
+(check-sat)
+(exit)