summaryrefslogtreecommitdiff
path: root/src/prop/prop_engine.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/prop/prop_engine.h')
-rw-r--r--src/prop/prop_engine.h22
1 files changed, 19 insertions, 3 deletions
diff --git a/src/prop/prop_engine.h b/src/prop/prop_engine.h
index b36b9d22a..b311558ab 100644
--- a/src/prop/prop_engine.h
+++ b/src/prop/prop_engine.h
@@ -28,7 +28,12 @@
#include "options/options.h"
#include "preprocessing/assertion_pipeline.h"
#include "proof/proof_manager.h"
+#include "prop/minisat/core/Solver.h"
+#include "prop/minisat/minisat.h"
#include "prop/proof_cnf_stream.h"
+#include "prop/prop_proof_manager.h"
+#include "prop/sat_solver_types.h"
+#include "theory/trust_node.h"
#include "util/resource_manager.h"
#include "util/result.h"
#include "util/unsafe_interrupt_exception.h"
@@ -47,7 +52,7 @@ namespace theory {
namespace prop {
class CnfStream;
-class DPLLSatSolverInterface;
+class CDCLTSatSolverInterface;
class PropEngine;
@@ -65,7 +70,8 @@ class PropEngine
context::Context* satContext,
context::UserContext* userContext,
ResourceManager* rm,
- OutputManager& outMgr);
+ OutputManager& outMgr,
+ ProofNodeManager* pnm);
/**
* Destructor.
@@ -239,6 +245,10 @@ class PropEngine
/** Retrieve this modules proof CNF stream. */
ProofCnfStream* getProofCnfStream();
+ /** Checks that the proof is closed w.r.t. asserted formulas to this engine as
+ * well as to the given assertions. */
+ void checkProof(context::CDList<Node>* assertions);
+
/**
* Return the prop engine proof. This should be called only when proofs are
* enabled. Returns a proof of false whose free assumptions are the
@@ -268,7 +278,7 @@ class PropEngine
TheoryProxy* d_theoryProxy;
/** The SAT solver proxy */
- DPLLSatSolverInterface* d_satSolver;
+ CDCLTSatSolverInterface* d_satSolver;
/** List of all of the assertions that need to be made */
std::vector<Node> d_assertionList;
@@ -276,11 +286,17 @@ class PropEngine
/** Theory registrar; kept around for destructor cleanup */
theory::TheoryRegistrar* d_registrar;
+ /** A pointer to the proof node maneger to be used by this engine. */
+ ProofNodeManager* d_pnm;
+
/** The CNF converter in use */
CnfStream* d_cnfStream;
/** Proof-producing CNF converter */
std::unique_ptr<ProofCnfStream> d_pfCnfStream;
+ /** The proof manager for prop engine */
+ std::unique_ptr<PropPfManager> d_ppm;
+
/** Whether we were just interrupted (or not) */
bool d_interrupted;
/** Pointer to resource manager for associated SmtEngine */
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback