summaryrefslogtreecommitdiff
path: root/src/smt/env.cpp
diff options
context:
space:
mode:
authorGereon Kremer <nafur42@gmail.com>2021-08-16 07:20:22 -0700
committerGitHub <noreply@github.com>2021-08-16 14:20:22 +0000
commit5e31ee3a34388d6d44129e898897bdb1297009de (patch)
treeb12a86a3737c23555444d2ed6c5c3f13b737b7a4 /src/smt/env.cpp
parent0711ec521f01888b059d152d1c1f20382d5ce432 (diff)
Make Theory class use Env (#7011)
This PR changes the Theory base class and the constructors of all theories to use the Env class to access contexts, logic information and the proof node manager.
Diffstat (limited to 'src/smt/env.cpp')
-rw-r--r--src/smt/env.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/smt/env.cpp b/src/smt/env.cpp
index b6cdfb67b..a4e07d2c9 100644
--- a/src/smt/env.cpp
+++ b/src/smt/env.cpp
@@ -19,6 +19,7 @@
#include "context/context.h"
#include "expr/node.h"
#include "options/base_options.h"
+#include "options/smt_options.h"
#include "printer/printer.h"
#include "proof/conv_proof_generator.h"
#include "smt/dump_manager.h"
@@ -80,6 +81,14 @@ NodeManager* Env::getNodeManager() const { return d_nodeManager; }
ProofNodeManager* Env::getProofNodeManager() { return d_proofNodeManager; }
+bool Env::isTheoryProofProducing() const
+{
+ return d_proofNodeManager != nullptr
+ && (!d_options.smt.unsatCores
+ || d_options.smt.unsatCoresMode
+ == options::UnsatCoresMode::FULL_PROOF);
+}
+
theory::Rewriter* Env::getRewriter() { return d_rewriter.get(); }
theory::TrustSubstitutionMap& Env::getTopLevelSubstitutions()
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback