summaryrefslogtreecommitdiff
path: root/src/smt/preprocessor.h
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/smt/preprocessor.h
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/smt/preprocessor.h')
-rw-r--r--src/smt/preprocessor.h12
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
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback