Fixes #8905. (to_int real.pi) was returning a real constant instead of
an integer, making the type of the rewritten term wrong.
}
if (t[0].getKind() == kind::PI)
{
- Node ret = isPred ? nm->mkConst(false) : nm->mkConstReal(Rational(3));
+ Node ret = isPred ? nm->mkConst(false) : nm->mkConstInt(Rational(3));
return returnRewrite(t, ret, Rewrite::INT_EXT_PI);
}
else if (t[0].getKind() == kind::TO_REAL)
regress0/arith/issue8097-iid.smt2
regress0/arith/issue8159-rewrite-intreal.smt2
regress0/arith/issue8805-mixed-var-elim.smt2
+ regress0/arith/issue8905-pi-to-int.smt2
regress0/arith/ite-lift.smt2
regress0/arith/leq.01.smtv1.smt2
regress0/arith/miplib.cvc.smt2
--- /dev/null
+(set-logic QF_ALL)
+(assert (= 3 (to_int real.pi)))
+(set-info :status sat)
+(check-sat)