diff options
author | Morgan Deters <mdeters@gmail.com> | 2011-05-05 22:23:50 +0000 |
---|---|---|
committer | Morgan Deters <mdeters@gmail.com> | 2011-05-05 22:23:50 +0000 |
commit | fef0f8190fc7e5f3b88b33e7574b7df1e629e80f (patch) | |
tree | dfdda739bf5008096860e19f6b9275fb2a257960 /src/theory/valuation.h | |
parent | 90d8205a86b698c2548108ca4db124fe9c3f738a (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.h | 15 |
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 */ |