diff options
author | Alex Ozdemir <aozdemir@hmc.edu> | 2019-03-15 18:51:47 -0700 |
---|---|---|
committer | Andres Noetzli <andres.noetzli@gmail.com> | 2019-03-16 01:51:47 +0000 |
commit | 5d0a5a729680a1db3f44e31037955390e86440ce (patch) | |
tree | d2f85ff47f75935439a14f514a5133d1dd6d5cad /src/proof/cnf_proof.h | |
parent | 2989780f0242d14712927bd4c01c4a521a8fe399 (diff) |
Enable CryptoMiniSat-backed BV proofs (#2847)
* Connect the plumbing so that BV proofs are enabled when using
CryptoMiniSat
* Also fixed a bug in CNF-proof generation
* Specifically, CNF proofs broke when proving tautological clauses.
Now they don't.
Diffstat (limited to 'src/proof/cnf_proof.h')
-rw-r--r-- | src/proof/cnf_proof.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/proof/cnf_proof.h b/src/proof/cnf_proof.h index 78ddeebd0..481e77c75 100644 --- a/src/proof/cnf_proof.h +++ b/src/proof/cnf_proof.h @@ -29,6 +29,7 @@ #include "proof/clause_id.h" #include "proof/lemma_proof.h" #include "proof/sat_proof.h" +#include "util/maybe.h" #include "util/proof.h" namespace CVC4 { @@ -164,6 +165,10 @@ public: std::ostream& paren, ProofLetMap &letMap) = 0; + // Detects whether a clause has x v ~x for some x + // If so, returns the positive occurence's idx first, then the negative's + static Maybe<std::pair<size_t, size_t>> detectTrivialTautology( + const prop::SatClause& clause); virtual void printClause(const prop::SatClause& clause, std::ostream& os, std::ostream& paren) = 0; |