From 541379b3d361e255cd664207f8b2e278a5b5e3eb Mon Sep 17 00:00:00 2001 From: Morgan Deters Date: Tue, 3 Nov 2009 03:07:58 +0000 Subject: additional headers --- src/include/decision_engine.h | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/include/decision_engine.h (limited to 'src/include/decision_engine.h') diff --git a/src/include/decision_engine.h b/src/include/decision_engine.h new file mode 100644 index 000000000..6ff8d7f29 --- /dev/null +++ b/src/include/decision_engine.h @@ -0,0 +1,38 @@ +/********************* -*- C++ -*- */ +/** decision_engine.h + ** This file is part of the CVC4 prototype. + ** + ** The Analysis of Computer Systems Group (ACSys) + ** Courant Institute of Mathematical Sciences + ** New York University + **/ + +#ifndef __CVC4_DECISION_ENGINE_H +#define __CVC4_DECISION_ENGINE_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 */ -- cgit v1.2.3