diff options
author | Gereon Kremer <nafur42@gmail.com> | 2021-08-16 07:20:22 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-16 14:20:22 +0000 |
commit | 5e31ee3a34388d6d44129e898897bdb1297009de (patch) | |
tree | b12a86a3737c23555444d2ed6c5c3f13b737b7a4 /src/smt/env.cpp | |
parent | 0711ec521f01888b059d152d1c1f20382d5ce432 (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.cpp | 9 |
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() |