summaryrefslogtreecommitdiff
path: root/src/theory/theory_engine.cpp
diff options
context:
space:
mode:
authorClark Barrett <barrett@cs.nyu.edu>2012-04-27 19:26:01 +0000
committerClark Barrett <barrett@cs.nyu.edu>2012-04-27 19:26:01 +0000
commit0168ec9f128246d1a6a0a34f7ee59aec109b7782 (patch)
treeeae4e1fbe2970feb917c1e26b3b6036152ceca28 /src/theory/theory_engine.cpp
parentf813ed144b0945334e03bfd769ea3c2cf8b75843 (diff)
Fixed warning in decision_engine.h, minor tweak to caregraph function in
arrays, fixed bug with equalities between constants in shared terms database
Diffstat (limited to 'src/theory/theory_engine.cpp')
-rw-r--r--src/theory/theory_engine.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/theory/theory_engine.cpp b/src/theory/theory_engine.cpp
index 1bb830aa8..46a9f5855 100644
--- a/src/theory/theory_engine.cpp
+++ b/src/theory/theory_engine.cpp
@@ -936,3 +936,20 @@ void TheoryEngine::conflict(TNode conflict, TheoryId theoryId) {
lemma(conflict, true, false);
}
}
+
+
+//Conflict from shared terms database
+void TheoryEngine::sharedConflict(TNode conflict) {
+ // Mark that we are in conflict
+ d_inConflict = true;
+
+ if(Dump.isOn("t-conflicts")) {
+ Dump("t-conflicts") << CommentCommand("theory conflict: expect unsat")
+ << CheckSatCommand(conflict.toExpr());
+ }
+
+ Node fullConflict = explain(ExplainTask(d_sharedTerms.explain(conflict), SHARED_DATABASE_EXPLANATION));
+ Assert(properConflict(fullConflict));
+ Debug("theory") << "TheoryEngine::sharedConflict(" << conflict << "): " << fullConflict << std::endl;
+ lemma(fullConflict, true, false);
+}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback