summaryrefslogtreecommitdiff
path: root/src/expr/command.cpp
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/expr/command.cpp
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/expr/command.cpp')
-rw-r--r--src/expr/command.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/expr/command.cpp b/src/expr/command.cpp
index d300b27de..f416f84bb 100644
--- a/src/expr/command.cpp
+++ b/src/expr/command.cpp
@@ -279,6 +279,28 @@ void DefineNamedFunctionCommand::toStream(std::ostream& out) const {
out << " )";
}
+/* class Simplify */
+
+SimplifyCommand::SimplifyCommand(Expr term) :
+ d_term(term) {
+}
+
+void SimplifyCommand::invoke(SmtEngine* smtEngine) {
+ d_result = smtEngine->simplify(d_term);
+}
+
+Expr SimplifyCommand::getResult() const {
+ return d_result;
+}
+
+void SimplifyCommand::printResult(std::ostream& out) const {
+ out << d_result << endl;
+}
+
+void SimplifyCommand::toStream(std::ostream& out) const {
+ out << "Simplify( << " << d_term << " >> )";
+}
+
/* class GetValueCommand */
GetValueCommand::GetValueCommand(Expr term) :
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback