diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2020-10-19 11:06:16 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-19 11:06:16 -0500 |
commit | a8e839e29325f06ecd2d5dda7d8f64a44ddafb0c (patch) | |
tree | 1cae41ba9583546dfa08590469a93d8fd8c2bb7b /src/preprocessing/passes/apply_substs.cpp | |
parent | e4d9d23f37f40705961b6c58c59fefb6a443eba9 (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/passes/apply_substs.cpp')
-rw-r--r-- | src/preprocessing/passes/apply_substs.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/preprocessing/passes/apply_substs.cpp b/src/preprocessing/passes/apply_substs.cpp index 0ce3f20b2..06821ab56 100644 --- a/src/preprocessing/passes/apply_substs.cpp +++ b/src/preprocessing/passes/apply_substs.cpp @@ -41,7 +41,7 @@ PreprocessingPassResult ApplySubsts::applyInternal( // TODO(#1255): Substitutions in incremental mode should be managed with a // proper data structure. - theory::SubstitutionMap& substMap = + theory::TrustSubstitutionMap& tlsm = d_preprocContext->getTopLevelSubstitutions(); unsigned size = assertionsToPreprocess->size(); for (unsigned i = 0; i < size; ++i) @@ -54,9 +54,8 @@ PreprocessingPassResult ApplySubsts::applyInternal( << std::endl; d_preprocContext->spendResource( ResourceManager::Resource::PreprocessStep); - assertionsToPreprocess->replace(i, - theory::Rewriter::rewrite(substMap.apply( - (*assertionsToPreprocess)[i]))); + assertionsToPreprocess->replaceTrusted( + i, tlsm.apply((*assertionsToPreprocess)[i])); Trace("apply-substs") << " got " << (*assertionsToPreprocess)[i] << std::endl; } |