#ifdef CVC5_POLY_IMP
#include "proof/lazy_tree_proof_generator.h"
+#include "theory/arith/arith_utilities.h"
#include "theory/arith/nl/poly_conversion.h"
#include "util/indexed_root_predicate.h"
// Excludes a single point only
auto ids = getRootIDs(roots, get_lower(interval));
Assert(ids.first == ids.second);
- res.emplace_back(mkIRP(var, Kind::EQUAL, d_zero, ids.first, poly, vm));
+ res.emplace_back(
+ mkIRP(var, Kind::EQUAL, mkZero(var.getType()), ids.first, poly, vm));
}
else
{
proof->addStep(exp[1][0],
PfRule::AND_ELIM,
{exp[1]},
- {nm->mkConstReal(Rational(0))});
+ {nm->mkConstInt(Rational(0))});
proof->addStep(exp[1][1],
PfRule::AND_ELIM,
{exp[1]},
- {nm->mkConstReal(Rational(1))});
+ {nm->mkConstInt(Rational(1))});
Node lb = nm->mkNode(Kind::GEQ, simpleeq[0], simpleeq[1]);
Node rb = nm->mkNode(Kind::LEQ, simpleeq[0], simpleeq[1]);
if (rew->rewrite(lb) == rew->rewrite(exp[1][0]))