summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/theory/arrays/theory_arrays.cpp8
-rw-r--r--src/theory/arrays/theory_arrays.h14
2 files changed, 5 insertions, 17 deletions
diff --git a/src/theory/arrays/theory_arrays.cpp b/src/theory/arrays/theory_arrays.cpp
index d659aff11..34c4fd156 100644
--- a/src/theory/arrays/theory_arrays.cpp
+++ b/src/theory/arrays/theory_arrays.cpp
@@ -721,7 +721,7 @@ void TheoryArrays::preRegisterTermInternal(TNode node)
if (node.getType().isArray())
{
d_mayEqualEqualityEngine.addTerm(node);
- d_equalityEngine->addTriggerTerm(node, THEORY_ARRAYS);
+ d_equalityEngine->addTerm(node);
}
else
{
@@ -765,7 +765,7 @@ void TheoryArrays::preRegisterTermInternal(TNode node)
{
break;
}
- d_equalityEngine->addTriggerTerm(node, THEORY_ARRAYS);
+ d_equalityEngine->addTerm(node);
TNode a = d_equalityEngine->getRepresentative(node[0]);
@@ -828,7 +828,7 @@ void TheoryArrays::preRegisterTermInternal(TNode node)
d_infoMap.setConstArr(node, node);
d_mayEqualEqualityEngine.addTerm(node);
Assert(d_mayEqualEqualityEngine.getRepresentative(node) == node);
- d_equalityEngine->addTriggerTerm(node, THEORY_ARRAYS);
+ d_equalityEngine->addTerm(node);
d_defValues[node] = defaultValue;
break;
}
@@ -837,7 +837,7 @@ void TheoryArrays::preRegisterTermInternal(TNode node)
if (node.getType().isArray()) {
// The may equal needs the node
d_mayEqualEqualityEngine.addTerm(node);
- d_equalityEngine->addTriggerTerm(node, THEORY_ARRAYS);
+ d_equalityEngine->addTerm(node);
Assert(d_equalityEngine->getSize(node) == 1);
}
else {
diff --git a/src/theory/arrays/theory_arrays.h b/src/theory/arrays/theory_arrays.h
index 24ebb4916..a1fa19631 100644
--- a/src/theory/arrays/theory_arrays.h
+++ b/src/theory/arrays/theory_arrays.h
@@ -317,22 +317,10 @@ class TheoryArrays : public Theory {
{
Debug("arrays::propagate") << spaces(d_arrays.getSatContext()->getLevel()) << "NotifyClass::eqNotifyTriggerTermEquality(" << t1 << ", " << t2 << ", " << (value ? "true" : "false") << ")" << std::endl;
if (value) {
- if (t1.getType().isArray()) {
- if (!d_arrays.isShared(t1) || !d_arrays.isShared(t2)) {
- return true;
- }
- }
// Propagate equality between shared terms
return d_arrays.propagateLit(t1.eqNode(t2));
- } else {
- if (t1.getType().isArray()) {
- if (!d_arrays.isShared(t1) || !d_arrays.isShared(t2)) {
- return true;
- }
- }
- return d_arrays.propagateLit(t1.eqNode(t2).notNode());
}
- return true;
+ return d_arrays.propagateLit(t1.eqNode(t2).notNode());
}
void eqNotifyConstantTermMerge(TNode t1, TNode t2) override
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback