diff options
author | Tim King <taking@cs.nyu.edu> | 2010-11-16 21:11:11 +0000 |
---|---|---|
committer | Tim King <taking@cs.nyu.edu> | 2010-11-16 21:11:11 +0000 |
commit | bb2a0e0e12f39a1b4dea8fb0c990decba4708a1c (patch) | |
tree | 6e5824f8cf1b0f1cb32e6cae5cbd214b1b48d965 /src/theory/theory_engine.cpp | |
parent | e66924cb0f425ca70969058532340e68c9c17a54 (diff) |
Added Theory::presolve().
Diffstat (limited to 'src/theory/theory_engine.cpp')
-rw-r--r-- | src/theory/theory_engine.cpp | 16 |
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 */ |