summaryrefslogtreecommitdiff
path: root/src/include/theory.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/theory.h')
-rw-r--r--src/include/theory.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/include/theory.h b/src/include/theory.h
index b08e9e7ba..6659dc680 100644
--- a/src/include/theory.h
+++ b/src/include/theory.h
@@ -10,6 +10,9 @@
#ifndef __CVC4_THEORY_H
#define __CVC4_THEORY_H
+#include "expr.h"
+#include "literal.h"
+
namespace CVC4 {
/**
@@ -57,7 +60,14 @@ public:
/**
* T-propagate new literal assignments in the current context.
*/
- virtual LiteralSet propagate();
+ // TODO design decisoin: instead of returning a set of literals
+ // here, perhaps we have an interface back into the prop engine
+ // where we assert directly. we might sometimes unknowingly assert
+ // something clearly inconsistent (esp. in a parallel context).
+ // This would allow the PropEngine to cancel our further work since
+ // we're already inconsistent---also could strategize dynamically on
+ // whether enough theory prop work has occurred.
+ virtual void propagate(Effort level = FULL_EFFORT) = 0;
/**
* Return an explanation for the literal (which was previously propagated by this theory)..
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback