summaryrefslogtreecommitdiff
path: root/src/theory/uf/theory_uf.cpp
diff options
context:
space:
mode:
authorDejan Jovanović <dejan.jovanovic@gmail.com>2012-03-22 23:09:03 +0000
committerDejan Jovanović <dejan.jovanovic@gmail.com>2012-03-22 23:09:03 +0000
commit1a99b24c49f9b865a70fa626efcb96571499917e (patch)
treecb3c85e9c439925b74cb4f2e5782a5c19d32fe94 /src/theory/uf/theory_uf.cpp
parentc0324db3ac7e5984c632f46690f58c333b9a42b2 (diff)
* improving arithmetic getEqualityStatus
* some sharing improvements based on model
Diffstat (limited to 'src/theory/uf/theory_uf.cpp')
-rw-r--r--src/theory/uf/theory_uf.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/theory/uf/theory_uf.cpp b/src/theory/uf/theory_uf.cpp
index f0694462d..a3e347b90 100644
--- a/src/theory/uf/theory_uf.cpp
+++ b/src/theory/uf/theory_uf.cpp
@@ -488,6 +488,19 @@ void TheoryUF::computeCareGraph() {
TNode x_shared = d_equalityEngine.getTriggerTermRepresentative(x);
TNode y_shared = d_equalityEngine.getTriggerTermRepresentative(y);
+ EqualityStatus eqStatusDomain = d_valuation.getEqualityStatus(x_shared, y_shared);
+ switch (eqStatusDomain) {
+ case EQUALITY_FALSE_AND_PROPAGATED:
+ case EQUALITY_FALSE:
+ case EQUALITY_FALSE_IN_MODEL:
+ somePairIsDisequal = true;
+ continue;
+ break;
+ default:
+ break;
+ // nothing
+ }
+
// Otherwise, we need to figure it out
Debug("uf::sharing") << "TheoryUf::computeCareGraph(): adding to care-graph" << std::endl;
currentPairs.push_back(make_pair(x_shared, y_shared));
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback