summaryrefslogtreecommitdiff
path: root/src/smt
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@gmail.com>2010-02-19 20:29:58 +0000
committerMorgan Deters <mdeters@gmail.com>2010-02-19 20:29:58 +0000
commitce0e796ad92f040fb75435bd7880bc28a60b0374 (patch)
tree00a390f0347a30978b482cbbb6e074c6dc5a99d2 /src/smt
parent34b455b1d74fdc06dd2f874fa2bc8d73127fbedf (diff)
* Attribute infrastructure -- static design. Documentation is coming.
See test/unit/expr/node_white.h for use examples, including how to define new attribute kinds. Also: * fixes to test infrastructure * minor changes to code formatting throughout * attribute tests in test/unit/expr/node_white.h * fixes to NodeManagerScope ordering * use NodeValue::getKind() to properly deal with UNDEFINED_KIND (removing compiler warning) * ExprManager: add proper NodeManagerScope to public-facing member functions * store variable names and types in attributes * SoftNode is a placeholder, not a real implementation
Diffstat (limited to 'src/smt')
-rw-r--r--src/smt/smt_engine.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/smt/smt_engine.cpp b/src/smt/smt_engine.cpp
index 8bca39df4..24795111f 100644
--- a/src/smt/smt_engine.cpp
+++ b/src/smt/smt_engine.cpp
@@ -75,8 +75,8 @@ void SmtEngine::addFormula(const Node& e) {
}
Result SmtEngine::checkSat(const BoolExpr& e) {
- Debug("smt") << "SMT checkSat(" << e << ")" << std::endl;
NodeManagerScope nms(d_nodeManager);
+ Debug("smt") << "SMT checkSat(" << e << ")" << std::endl;
Node node_e = preprocess(e.getNode());
addFormula(node_e);
Result r = check().asSatisfiabilityResult();
@@ -85,8 +85,8 @@ Result SmtEngine::checkSat(const BoolExpr& e) {
}
Result SmtEngine::query(const BoolExpr& e) {
- Debug("smt") << "SMT query(" << e << ")" << std::endl;
NodeManagerScope nms(d_nodeManager);
+ Debug("smt") << "SMT query(" << e << ")" << std::endl;
Node node_e = preprocess(d_nodeManager->mkNode(NOT, e.getNode()));
addFormula(node_e);
Result r = check().asValidityResult();
@@ -95,25 +95,34 @@ Result SmtEngine::query(const BoolExpr& e) {
}
Result SmtEngine::assertFormula(const BoolExpr& e) {
- Debug("smt") << "SMT assertFormula(" << e << ")" << std::endl;
NodeManagerScope nms(d_nodeManager);
+ Debug("smt") << "SMT assertFormula(" << e << ")" << std::endl;
Node node_e = preprocess(e.getNode());
addFormula(node_e);
return quickCheck().asValidityResult();
}
Expr SmtEngine::simplify(const Expr& e) {
+ NodeManagerScope nms(d_nodeManager);
Debug("smt") << "SMT simplify(" << e << ")" << std::endl;
- Expr simplify(const Expr& e);
+ Unimplemented();
+}
+
+Model SmtEngine::getModel() {
+ NodeManagerScope nms(d_nodeManager);
Unimplemented();
}
void SmtEngine::push() {
+ NodeManagerScope nms(d_nodeManager);
Debug("smt") << "SMT push()" << std::endl;
+ Unimplemented();
}
void SmtEngine::pop() {
+ NodeManagerScope nms(d_nodeManager);
Debug("smt") << "SMT pop()" << std::endl;
+ Unimplemented();
}
}/* CVC4 namespace */
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback