diff options
author | Guy <katz911@gmail.com> | 2016-07-26 13:09:31 -0700 |
---|---|---|
committer | Guy <katz911@gmail.com> | 2016-07-26 13:09:31 -0700 |
commit | 319bbda7ad32e6e9ee009c27003f6f1c0a8d7b20 (patch) | |
tree | 9648cdfb58b5f132d9a40a919dac792ad6da3c34 /src/proof/sat_proof_implementation.h | |
parent | cb835bd526296d97f8ceb001569493723a59f86b (diff) |
Added functionality to retrieve a lemma's "weakest implicant" in the unsat core. Currently, lemmas that are not conjunctions and their own weakest implicants; but for lemmas that *are* conjunctions, we may return only a subset of the conjuncts.
Diffstat (limited to 'src/proof/sat_proof_implementation.h')
-rw-r--r-- | src/proof/sat_proof_implementation.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/proof/sat_proof_implementation.h b/src/proof/sat_proof_implementation.h index cd2473937..fc2bae19b 100644 --- a/src/proof/sat_proof_implementation.h +++ b/src/proof/sat_proof_implementation.h @@ -224,6 +224,7 @@ TSatProof<Solver>::TSatProof(Solver* solver, const std::string& name, d_seenLearnt(), d_seenInputs(), d_seenLemmas(), + d_satProofConstructed(false), d_statistics(name) { d_proxy = new ProofProxy<Solver>(this); } @@ -957,10 +958,16 @@ void TSatProof<Solver>::markDeleted(typename Solver::TCRef clause) { template <class Solver> void TSatProof<Solver>::constructProof(ClauseId conflict) { + d_satProofConstructed = true; collectClauses(conflict); } template <class Solver> +bool TSatProof<Solver>::proofConstructed() const { + return d_satProofConstructed; +} + +template <class Solver> std::string TSatProof<Solver>::clauseName(ClauseId id) { std::ostringstream os; if (isInputClause(id)) { |