summaryrefslogtreecommitdiff
path: root/src/util/decision_engine.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/decision_engine.h')
-rw-r--r--src/util/decision_engine.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/util/decision_engine.h b/src/util/decision_engine.h
new file mode 100644
index 000000000..81d820eaa
--- /dev/null
+++ b/src/util/decision_engine.h
@@ -0,0 +1,42 @@
+/********************* -*- C++ -*- */
+/** decision_engine.h
+ ** This file is part of the CVC4 prototype.
+ ** Copyright (c) 2009 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.
+ **
+ **/
+
+#ifndef __CVC4_DECISION_ENGINE_H
+#define __CVC4_DECISION_ENGINE_H
+
+#include "core/literal.h"
+
+namespace CVC4 {
+
+// In terms of abstraction, this is below (and provides services to)
+// PropEngine.
+
+/**
+ * A decision mechanism for the next decision.
+ */
+class DecisionEngine {
+public:
+ /**
+ * Get the next decision.
+ */
+ virtual Literal nextDecision() = 0;
+
+ // TODO: design decision: decision engine should be notified of
+ // propagated lits, and also why(?) (so that it can make decisions
+ // based on the utility of various theories and various theory
+ // literals). How? Maybe TheoryEngine has a backdoor into
+ // DecisionEngine "behind the back" of the PropEngine?
+
+};/* class DecisionEngine */
+
+}/* CVC4 namespace */
+
+#endif /* __CVC4_DECISION_ENGINE_H */
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback