summaryrefslogtreecommitdiff
path: root/src/prop
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2021-09-02 12:02:46 -0500
committerGitHub <noreply@github.com>2021-09-02 17:02:46 +0000
commit66b67160df9ce4974039a1c137e84c859fad5237 (patch)
tree4c435a6cf616eb61a82ac6831d222fc8bfb01bd6 /src/prop
parent2d09af0b8789fd5e2a06032f93f85d0c9265a627 (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.cpp3
-rw-r--r--src/prop/sat_proof_manager.cpp2
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)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback