summaryrefslogtreecommitdiff
path: root/src/preprocessing/assertion_pipeline.cpp
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2020-10-19 11:06:16 -0500
committerGitHub <noreply@github.com>2020-10-19 11:06:16 -0500
commita8e839e29325f06ecd2d5dda7d8f64a44ddafb0c (patch)
tree1cae41ba9583546dfa08590469a93d8fd8c2bb7b /src/preprocessing/assertion_pipeline.cpp
parente4d9d23f37f40705961b6c58c59fefb6a443eba9 (diff)
(proof-new) Update preprocessing pass context for proofs (#5298)
This sets up the preprocessing pass context in preparation for proof production. This PR makes the top level substitutions map into a TrustSubstitutionMap, the data structure that applies substitutions in a way that tracks proofs. This PR also makes the "apply subst" preprocessing pass proof producing.
Diffstat (limited to 'src/preprocessing/assertion_pipeline.cpp')
-rw-r--r--src/preprocessing/assertion_pipeline.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/preprocessing/assertion_pipeline.cpp b/src/preprocessing/assertion_pipeline.cpp
index cd92e5f3d..4529ad5e1 100644
--- a/src/preprocessing/assertion_pipeline.cpp
+++ b/src/preprocessing/assertion_pipeline.cpp
@@ -104,7 +104,12 @@ void AssertionPipeline::replace(size_t i, Node n, ProofGenerator* pgen)
}
void AssertionPipeline::replaceTrusted(size_t i, theory::TrustNode trn)
-{
+{
+ if (trn.isNull())
+ {
+ // null trust node denotes no change, nothing to do
+ return;
+ }
Assert(trn.getKind() == theory::TrustNodeKind::REWRITE);
replace(i, trn.getNode(), trn.getGenerator());
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback