diff options
Diffstat (limited to 'src/proof')
-rw-r--r-- | src/proof/proof_node_manager.cpp | 12 | ||||
-rw-r--r-- | src/proof/proof_node_manager.h | 7 |
2 files changed, 13 insertions, 6 deletions
diff --git a/src/proof/proof_node_manager.cpp b/src/proof/proof_node_manager.cpp index e0a7f81c0..c832ac3fa 100644 --- a/src/proof/proof_node_manager.cpp +++ b/src/proof/proof_node_manager.cpp @@ -28,8 +28,10 @@ using namespace cvc5::kind; namespace cvc5 { -ProofNodeManager::ProofNodeManager(theory::Rewriter* rr, ProofChecker* pc) - : d_rewriter(rr), d_checker(pc) +ProofNodeManager::ProofNodeManager(const Options& opts, + theory::Rewriter* rr, + ProofChecker* pc) + : d_opts(opts), d_rewriter(rr), d_checker(pc) { d_true = NodeManager::currentNM()->mkConst(true); // we always allocate a proof checker, regardless of the proof checking mode @@ -329,8 +331,8 @@ Node ProofNodeManager::checkInternal( // a proof checking mode that does not eagerly check rule applications if (!expected.isNull()) { - if (options::proofCheck() == options::ProofCheckMode::LAZY - || options::proofCheck() == options::ProofCheckMode::NONE) + if (d_opts.proof.proofCheck == options::ProofCheckMode::LAZY + || d_opts.proof.proofCheck == options::ProofCheckMode::NONE) { return expected; } @@ -435,7 +437,7 @@ bool ProofNodeManager::updateNodeInternal( { Assert(pn != nullptr); // ---------------- check for cyclic - if (options::proofCheck() == options::ProofCheckMode::EAGER) + if (d_opts.proof.proofCheck == options::ProofCheckMode::EAGER) { std::unordered_set<const ProofNode*> visited; for (const std::shared_ptr<ProofNode>& cpc : children) diff --git a/src/proof/proof_node_manager.h b/src/proof/proof_node_manager.h index 533f6d173..5926a5f2e 100644 --- a/src/proof/proof_node_manager.h +++ b/src/proof/proof_node_manager.h @@ -27,6 +27,7 @@ namespace cvc5 { class ProofChecker; class ProofNode; +class Options; namespace theory { class Rewriter; @@ -58,7 +59,9 @@ class Rewriter; class ProofNodeManager { public: - ProofNodeManager(theory::Rewriter* rr, ProofChecker* pc = nullptr); + ProofNodeManager(const Options& opts, + theory::Rewriter* rr, + ProofChecker* pc = nullptr); ~ProofNodeManager() {} /** * This constructs a ProofNode with the given arguments. The expected @@ -188,6 +191,8 @@ class ProofNodeManager static ProofNode* cancelDoubleSymm(ProofNode* pn); private: + /** Reference to the options */ + const Options& d_opts; /** The rewriter */ theory::Rewriter* d_rewriter; /** The (optional) proof checker */ |