diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2021-09-02 12:02:46 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-02 17:02:46 +0000 |
commit | 66b67160df9ce4974039a1c137e84c859fad5237 (patch) | |
tree | 4c435a6cf616eb61a82ac6831d222fc8bfb01bd6 /src/prop | |
parent | 2d09af0b8789fd5e2a06032f93f85d0c9265a627 (diff) |
Implement lazy proof checking modes (#7106)
This implements several variants of lazy proof checking in the core proof checker.
Note this extends the ProofNode class with an additional Boolean d_provenChecked indicating whether the d_proven field was checked by the underlying proof checker.
This PR updates the default proof checking mode to lazy. The previous default can now be enabled by --proof-check=eager-simple.
Diffstat (limited to 'src/prop')
-rw-r--r-- | src/prop/prop_engine.cpp | 3 | ||||
-rw-r--r-- | src/prop/sat_proof_manager.cpp | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/prop/prop_engine.cpp b/src/prop/prop_engine.cpp index dd22416db..9060c318c 100644 --- a/src/prop/prop_engine.cpp +++ b/src/prop/prop_engine.cpp @@ -220,7 +220,8 @@ void PropEngine::assertLemma(TrustNode tlemma, theory::LemmaProperty p) Assert(ppSkolems.size() == ppLemmas.size()); // do final checks on the lemmas we are about to send - if (isProofEnabled() && options::proofEagerChecking()) + if (isProofEnabled() + && options::proofCheck() == options::ProofCheckMode::EAGER) { Assert(tplemma.getGenerator() != nullptr); // ensure closed, make the proof node eagerly here to debug diff --git a/src/prop/sat_proof_manager.cpp b/src/prop/sat_proof_manager.cpp index 8891016a4..da49a5990 100644 --- a/src/prop/sat_proof_manager.cpp +++ b/src/prop/sat_proof_manager.cpp @@ -685,7 +685,7 @@ void SatProofManager::finalizeProof(Node inConflictNode, } } while (expanded); // now we should be able to close it - if (options::proofEagerChecking()) + if (options::proofCheck() == options::ProofCheckMode::EAGER) { std::vector<Node> assumptionsVec; for (const Node& a : d_assumptions) |