projects
/
cvc5.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
4b77b48
)
yet another uf bug fix, hopefully the last
author
Dejan Jovanović
<dejan.jovanovic@gmail.com>
Sun, 10 Jul 2011 12:32:13 +0000
(12:32 +0000)
committer
Dejan Jovanović
<dejan.jovanovic@gmail.com>
Sun, 10 Jul 2011 12:32:13 +0000
(12:32 +0000)
src/theory/uf/theory_uf.cpp
patch
|
blob
|
history
diff --git
a/src/theory/uf/theory_uf.cpp
b/src/theory/uf/theory_uf.cpp
index 438854a9a411f0d50d732a692b1b90be140419fc..409edc53abe26ee659945fbe610d242ab9ddea1a 100644
(file)
--- a/
src/theory/uf/theory_uf.cpp
+++ b/
src/theory/uf/theory_uf.cpp
@@
-65,6
+65,16
@@
void TheoryUF::check(Effort level) {
case kind::NOT:
if (assertion[0].getKind() == kind::APPLY_UF) {
d_equalityEngine.addEquality(assertion[0], d_false, assertion);
+ } else {
+ // disequality
+ TNode equality = assertion[0];
+ if (d_equalityEngine.getRepresentative(equality[0]) == d_equalityEngine.getRepresentative(equality[1])) {
+ std::vector<TNode> assumptions;
+ assumptions.push_back(assertion);
+ explain(equality, assumptions);
+ d_conflictNode = mkAnd(assumptions);
+ d_conflict = true;
+ }
}
break;
default: