summaryrefslogtreecommitdiff
path: root/src/theory/valuation.h
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@gmail.com>2011-05-05 22:23:50 +0000
committerMorgan Deters <mdeters@gmail.com>2011-05-05 22:23:50 +0000
commitfef0f8190fc7e5f3b88b33e7574b7df1e629e80f (patch)
treedfdda739bf5008096860e19f6b9275fb2a257960 /src/theory/valuation.h
parent90d8205a86b698c2548108ca4db124fe9c3f738a (diff)
Merge from nonclausal-simplification-v2 branch:
* Preprocessing-time, non-clausal, Boolean simplification round to support "quasi-non-linear rewrites" as discussed at last few meetings. * --simplification=none is the default for now, but we'll probably change that to --simplification=incremental. --simplification=batch is also a possibility. See --simplification=help for details. * RecursionBreaker<T> now uses a hash set for the seen trail. * Fixes to TLS stuff to support that. * Fixes to theory and SmtEngine documentation. * Fixes to stream indentation. * Other miscellaneous stuff.
Diffstat (limited to 'src/theory/valuation.h')
-rw-r--r--src/theory/valuation.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/theory/valuation.h b/src/theory/valuation.h
index 0c60ec5ea..d46b9aab1 100644
--- a/src/theory/valuation.h
+++ b/src/theory/valuation.h
@@ -24,6 +24,7 @@
#define __CVC4__THEORY__VALUATION_H
#include "expr/node.h"
+#include "theory/substitutions.h"
namespace CVC4 {
@@ -50,6 +51,20 @@ public:
*/
Node getSatValue(TNode n) const;
+ /**
+ * Simplify a node. Intended to be used by a theory's simplify()
+ * function to simplify subterms (TheoryEngine will cache the
+ * results and make sure that the request is directed to the correct
+ * theory).
+ */
+ Node simplify(TNode in, Substitutions& outSubstitutions);
+
+ /**
+ * Rewrite a node. Intended to be used by a theory to have the
+ * TheoryEngine fully rewrite a node.
+ */
+ Node rewrite(TNode in);
+
};/* class Valuation */
}/* CVC4::theory namespace */
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback