summaryrefslogtreecommitdiff
path: root/src/theory/theory_preprocessor.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/theory/theory_preprocessor.h')
-rw-r--r--src/theory/theory_preprocessor.h26
1 files changed, 25 insertions, 1 deletions
diff --git a/src/theory/theory_preprocessor.h b/src/theory/theory_preprocessor.h
index db43b6828..769d548d9 100644
--- a/src/theory/theory_preprocessor.h
+++ b/src/theory/theory_preprocessor.h
@@ -21,6 +21,7 @@
#include "expr/lazy_proof.h"
#include "expr/node.h"
+#include "expr/tconv_seq_proof_generator.h"
#include "expr/term_conversion_proof_generator.h"
#include "theory/trust_node.h"
@@ -85,8 +86,31 @@ class TheoryPreprocessor
RemoveTermFormulas& d_tfr;
/** The context for the proof generator below */
context::Context d_pfContext;
- /** A term conversion proof generator */
+ /** The term context, which computes hash values for term contexts. */
+ InQuantTermContext d_iqtc;
+ /**
+ * A term conversion proof generator storing preprocessing and rewriting
+ * steps.
+ */
std::unique_ptr<TConvProofGenerator> d_tpg;
+ /**
+ * A term conversion sequence generator, which applies theory preprocessing,
+ * term formula removal, and rewriting in sequence.
+ */
+ std::unique_ptr<TConvSeqProofGenerator> d_tspg;
+ /**
+ * A term conversion proof generator storing rewriting steps, which is used
+ * for calls to preprocess when doTheoryPreprocess is false. We store
+ * (top-level) rewrite steps only. Notice this is intentionally separate
+ * from d_tpg, which interleaves both preprocessing and rewriting.
+ */
+ std::unique_ptr<TConvProofGenerator> d_tpgRew;
+ /**
+ * A term conversion sequence generator, which applies term formula removal
+ * and rewriting in sequence. This is used for reconstruct proofs of
+ * calls to preprocess where doTheoryPreprocess is false.
+ */
+ std::unique_ptr<TConvSeqProofGenerator> d_tspgNoPp;
/** A lazy proof, for additional lemmas. */
std::unique_ptr<LazyCDProof> d_lp;
/** Helper for theoryPreprocess */
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback