diff options
author | Liana Hadarean <lianahady@gmail.com> | 2011-10-28 19:24:38 +0000 |
---|---|---|
committer | Liana Hadarean <lianahady@gmail.com> | 2011-10-28 19:24:38 +0000 |
commit | b084a7efa9d65ec2f7475caa8486f8fd4cbafbd5 (patch) | |
tree | e118097c88787b7f2899bb8b2cbf865d058ef6bf /src/proof/proof_manager.h | |
parent | 9547a48a7cdab8786c080779930de9c39655c52b (diff) |
merged the proofgen3 branch into trunk:
- can now output LFSC checkable resolution proofs
- added configuration option --enable-proof
- added command line argument --proof
To turn proofs on build with proofs enabled and run with --proof.
Diffstat (limited to 'src/proof/proof_manager.h')
-rw-r--r-- | src/proof/proof_manager.h | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/src/proof/proof_manager.h b/src/proof/proof_manager.h new file mode 100644 index 000000000..5d8b9d271 --- /dev/null +++ b/src/proof/proof_manager.h @@ -0,0 +1,64 @@ +/********************* */ +/*! \file proof_manager.h + ** \verbatim + ** Original author: lianah + ** Major contributors: none + ** This file is part of the CVC4 prototype. + ** Copyright (c) 2009, 2010, 2011 The Analysis of Computer Systems Group (ACSys) + ** Courant Institute of Mathematical Sciences + ** New York University + ** See the file COPYING in the top-level source directory for licensing + ** information.\endverbatim + ** + ** \brief A manager for Proofs. + ** + ** A manager for Proofs. + ** + ** + **/ + +#ifndef __CVC4__PROOF_MANAGER_H +#define __CVC4__PROOF_MANAGER_H + +#include <iostream> +#include "proof.h" + +// forward declarations +namespace Minisat { +class Solver; +} + +namespace CVC4 { +namespace prop { +class CnfStream; +} +class SatProof; +class CnfProof; + +// different proof modes +enum ProofFormat { + LFSC, + NATIVE +}; + +class ProofManager { + SatProof* d_satProof; + CnfProof* d_cnfProof; + ProofFormat d_format; + + static ProofManager* proofManager; + static bool isInitialized; + ProofManager(ProofFormat format); +public: + static ProofManager* currentPM(); + + static void initSatProof(Minisat::Solver* solver); + static void initCnfProof(CVC4::prop::CnfStream* cnfStream); + + static SatProof* getSatProof(); + static CnfProof* getCnfProof(); + +}; + +} /* CVC4 namespace*/ +#endif /* __CVC4__PROOF_MANAGER_H */ |