diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2021-08-23 19:00:16 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-24 00:00:16 +0000 |
commit | fe655f21e7cea33e9057c46fc8b2573314cbf302 (patch) | |
tree | 4db42126bdd2c518665607b471a58566d9979882 /src/smt | |
parent | c04c18994e3272a6b59df4272c6d1b7c791f8802 (diff) |
Miscellaneous changes from proof-new (#7042)
Diffstat (limited to 'src/smt')
-rw-r--r-- | src/smt/preprocess_proof_generator.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/smt/preprocess_proof_generator.cpp b/src/smt/preprocess_proof_generator.cpp index 5511800a1..1eea6286b 100644 --- a/src/smt/preprocess_proof_generator.cpp +++ b/src/smt/preprocess_proof_generator.cpp @@ -19,9 +19,11 @@ #include <sstream> #include "options/proof_options.h" +#include "proof/method_id.h" #include "proof/proof.h" #include "proof/proof_checker.h" #include "proof/proof_node.h" +#include "theory/quantifiers/extended_rewrite.h" #include "theory/rewriter.h" namespace cvc5 { @@ -177,11 +179,14 @@ std::shared_ptr<ProofNode> PreprocessProofGenerator::getProofFor(Node f) Assert(proven.getKind() == kind::EQUAL); if (!proofStepProcessed) { - // maybe its just a simple rewrite? - if (proven[1] == theory::Rewriter::rewrite(proven[0])) + // maybe its just an (extended) rewrite? + theory::quantifiers::ExtendedRewriter extr(true); + Node pr = extr.extendedRewrite(proven[0]); + if (proven[1] == pr) { + Node idr = mkMethodId(MethodId::RW_EXT_REWRITE); Trace("smt-pppg-debug") << "...add simple rewrite" << std::endl; - cdp.addStep(proven, PfRule::REWRITE, {}, {proven[0]}); + cdp.addStep(proven, PfRule::REWRITE, {}, {proven[0], idr}); proofStepProcessed = true; } } |