diff options
Diffstat (limited to 'src/smt/proof_post_processor.cpp')
-rw-r--r-- | src/smt/proof_post_processor.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/smt/proof_post_processor.cpp b/src/smt/proof_post_processor.cpp index a292fec8f..167a82e26 100644 --- a/src/smt/proof_post_processor.cpp +++ b/src/smt/proof_post_processor.cpp @@ -422,6 +422,7 @@ Node ProofPostprocessCallback::expandMacros(PfRule id, // not eliminated return Node::null(); } + Trace("smt-proof-pp-debug") << "Expand macro " << id << std::endl; // macro elimination if (id == PfRule::MACRO_SR_EQ_INTRO) { @@ -855,7 +856,7 @@ Node ProofPostprocessCallback::expandMacros(PfRule id, for (size_t j = 0, nchildi = children[i].getNumChildren(); j < nchildi; j++) { - Node nodej = nm->mkConst(CONST_RATIONAL, Rational(j)); + Node nodej = nm->mkConstInt(Rational(j)); cdp->addStep( children[i][j], PfRule::AND_ELIM, {children[i]}, {nodej}); } @@ -1086,8 +1087,10 @@ Node ProofPostprocessCallback::expandMacros(PfRule id, TNode child = children[i]; TNode scalar = args[i]; bool isPos = scalar.getConst<Rational>() > 0; - Node scalarCmp = nm->mkNode( - isPos ? GT : LT, scalar, nm->mkConst(CONST_RATIONAL, Rational(0))); + Node scalarCmp = + nm->mkNode(isPos ? GT : LT, + scalar, + nm->mkConstRealOrInt(scalar.getType(), Rational(0))); // (= scalarCmp true) Node scalarCmpOrTrue = steps.tryStep(PfRule::EVALUATE, {}, {scalarCmp}); Assert(!scalarCmpOrTrue.isNull()); |