summaryrefslogtreecommitdiff
path: root/src/expr/proof_node_updater.cpp
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2020-07-13 17:42:57 -0500
committerGitHub <noreply@github.com>2020-07-13 17:42:57 -0500
commit1cb249c9dd06a049953f001cd6d82c0e6f1246f2 (patch)
tree000398841f1869d9911e1e496623520ffb6de21a /src/expr/proof_node_updater.cpp
parenta34f29798b3f4d1f83e1ced57fe53db53b9956f0 (diff)
(proof-new) SMT Preprocess proof generator (#4708)
This adds the proof generator for storing proofs of preprocessing. It stores assertions added via preprocessing passes and their rewrites. This utility will eventually live in SmtEngine. It also adds 2 new proof rules, and fixes an issue in ProofNodeUpdater.
Diffstat (limited to 'src/expr/proof_node_updater.cpp')
-rw-r--r--src/expr/proof_node_updater.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/expr/proof_node_updater.cpp b/src/expr/proof_node_updater.cpp
index 227be2122..1e8fe4e7d 100644
--- a/src/expr/proof_node_updater.cpp
+++ b/src/expr/proof_node_updater.cpp
@@ -16,7 +16,6 @@
#include "expr/lazy_proof.h"
-
namespace CVC4 {
ProofNodeUpdaterCallback::ProofNodeUpdaterCallback() {}
@@ -39,6 +38,7 @@ void ProofNodeUpdater::process(std::shared_ptr<ProofNode> pf)
do
{
cur = visit.back();
+ visit.pop_back();
it = visited.find(cur);
if (it == visited.end())
{
@@ -67,12 +67,12 @@ void ProofNodeUpdater::process(std::shared_ptr<ProofNode> pf)
// then, update the original proof node based on this one
d_pnm->updateNode(cur, npn.get());
}
- const std::vector<std::shared_ptr<ProofNode>>& ccp = cur->getChildren();
- // now, process children
- for (const std::shared_ptr<ProofNode>& cp : ccp)
- {
- visit.push_back(cp.get());
- }
+ }
+ const std::vector<std::shared_ptr<ProofNode>>& ccp = cur->getChildren();
+ // now, process children
+ for (const std::shared_ptr<ProofNode>& cp : ccp)
+ {
+ visit.push_back(cp.get());
}
}
} while (!visit.empty());
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback