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/expr/command.cpp | |
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/expr/command.cpp')
-rw-r--r-- | src/expr/command.cpp | 22 |
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) : |