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/smt/preprocessor.h | |
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/smt/preprocessor.h')
-rw-r--r-- | src/smt/preprocessor.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/smt/preprocessor.h b/src/smt/preprocessor.h index 81757de37..b07e7ec97 100644 --- a/src/smt/preprocessor.h +++ b/src/smt/preprocessor.h @@ -100,12 +100,14 @@ class Preprocessor */ RemoveTermFormulas& getTermFormulaRemover(); - private: /** - * Apply substitutions that have been inferred by preprocessing, return the - * substituted form of node. + * Set proof node manager. Enables proofs in this preprocessor. */ - Node applySubstitutions(TNode node); + void setProofGenerator(PreprocessProofGenerator* pppg); + + private: + /** A copy of the current context */ + context::Context* d_context; /** Reference to the parent SmtEngine */ SmtEngine& d_smt; /** Reference to the abstract values utility */ @@ -130,6 +132,8 @@ class Preprocessor * in term contexts. */ RemoveTermFormulas d_rtf; + /** Proof node manager */ + ProofNodeManager* d_pnm; }; } // namespace smt |