summaryrefslogtreecommitdiff
path: root/src/theory/theory_engine.cpp
diff options
context:
space:
mode:
authorTim King <taking@cs.nyu.edu>2010-11-16 21:11:11 +0000
committerTim King <taking@cs.nyu.edu>2010-11-16 21:11:11 +0000
commitbb2a0e0e12f39a1b4dea8fb0c990decba4708a1c (patch)
tree6e5824f8cf1b0f1cb32e6cae5cbd214b1b48d965 /src/theory/theory_engine.cpp
parente66924cb0f425ca70969058532340e68c9c17a54 (diff)
Added Theory::presolve().
Diffstat (limited to 'src/theory/theory_engine.cpp')
-rw-r--r--src/theory/theory_engine.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/theory/theory_engine.cpp b/src/theory/theory_engine.cpp
index eb4c18161..f27e61544 100644
--- a/src/theory/theory_engine.cpp
+++ b/src/theory/theory_engine.cpp
@@ -617,4 +617,20 @@ Node TheoryEngine::getValue(TNode node) {
return theoryOf(node)->getValue(node, this);
}/* TheoryEngine::getValue(TNode node) */
+
+bool TheoryEngine::presolve(){
+ d_theoryOut.d_conflictNode = Node::null();
+ d_theoryOut.d_propagatedLiterals.clear();
+ try {
+ //d_uf->presolve();
+ d_arith->presolve();
+ //d_arrays->presolve();
+ //d_bv->presolve();
+ } catch(const theory::Interrupted&) {
+ Debug("theory") << "TheoryEngine::presolve() => conflict" << std::endl;
+ }
+ // Return wheather we have a conflict
+ return d_theoryOut.d_conflictNode.get().isNull();
+}
+
}/* CVC4 namespace */
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback