* PropEngine is the abstraction of a Sat Solver, providing methods for
* solving the SAT problem and conversion to CNF (via the CnfStream).
*/
-class PropEngine {
-
- /**
- * Indicates that the SAT solver is currently solving something and we should
- * not mess with it's internal state.
- */
- bool d_inCheckSat;
-
- /** The theory engine we will be using */
- TheoryEngine *d_theoryEngine;
-
- /** The decision engine we will be using */
- DecisionEngine *d_decisionEngine;
-
- /** The context */
- context::Context* d_context;
-
- /** SAT solver's proxy back to theories; kept around for dtor cleanup */
- TheoryProxy* d_theoryProxy;
-
- /** The SAT solver proxy */
- DPLLSatSolverInterface* d_satSolver;
-
- /** List of all of the assertions that need to be made */
- std::vector<Node> d_assertionList;
-
- /** Theory registrar; kept around for destructor cleanup */
- theory::TheoryRegistrar* d_registrar;
-
- /** The CNF converter in use */
- CnfStream* d_cnfStream;
-
- /** Whether we were just interrupted (or not) */
- bool d_interrupted;
- /** Pointer to resource manager for associated SmtEngine */
- ResourceManager* d_resourceManager;
-
- /** Dump out the satisfying assignment (after SAT result) */
- void printSatisfyingAssignment();
-
+class PropEngine
+{
public:
/**
* Create a PropEngine with a particular decision and theory engine.
*/
bool properExplanation(TNode node, TNode expl) const;
-}; /* class PropEngine */
+ private:
+ /** Dump out the satisfying assignment (after SAT result) */
+ void printSatisfyingAssignment();
+ /**
+ * Indicates that the SAT solver is currently solving something and we should
+ * not mess with it's internal state.
+ */
+ bool d_inCheckSat;
+
+ /** The theory engine we will be using */
+ TheoryEngine* d_theoryEngine;
+
+ /** The decision engine we will be using */
+ DecisionEngine* d_decisionEngine;
+
+ /** The context */
+ context::Context* d_context;
+
+ /** SAT solver's proxy back to theories; kept around for dtor cleanup */
+ TheoryProxy* d_theoryProxy;
+
+ /** The SAT solver proxy */
+ DPLLSatSolverInterface* d_satSolver;
+
+ /** List of all of the assertions that need to be made */
+ std::vector<Node> d_assertionList;
+
+ /** Theory registrar; kept around for destructor cleanup */
+ theory::TheoryRegistrar* d_registrar;
+
+ /** The CNF converter in use */
+ CnfStream* d_cnfStream;
+
+ /** Whether we were just interrupted (or not) */
+ bool d_interrupted;
+ /** Pointer to resource manager for associated SmtEngine */
+ ResourceManager* d_resourceManager;
+
+};
-}/* CVC4::prop namespace */
-}/* CVC4 namespace */
+} // namespace prop
+} // namespace CVC4
#endif /* CVC4__PROP_ENGINE_H */