// so we take its representative to be safe.
a = d_equalityEngine.getRepresentative(a);
Assert(d_equalityEngine.getRepresentative(b) == a);
- Trace("arrays-merge") << spaces(getSatContext()->getLevel()) << "Arrays::merge: " << a << "," << b << ")\n";
+ Trace("arrays-merge") << spaces(getSatContext()->getLevel()) << "Arrays::merge: (" << a << ", " << b << ")\n";
if (options::arraysLazyRIntro1() && !options::arraysWeakEquivalence()) {
checkRIntro1(a, b);
Debug("arrays::propagate") << spaces(d_arrays.getSatContext()->getLevel()) << "NotifyClass::eqNotifyTriggerTermEquality(" << t1 << ", " << t2 << ", " << (value ? "true" : "false") << ")" << std::endl;
if (value) {
if (t1.getType().isArray()) {
- d_arrays.mergeArrays(t1, t2);
if (!d_arrays.isShared(t1) || !d_arrays.isShared(t2)) {
return true;
}
void eqNotifyNewClass(TNode t) { }
void eqNotifyPreMerge(TNode t1, TNode t2) { }
- void eqNotifyPostMerge(TNode t1, TNode t2) { }
+ void eqNotifyPostMerge(TNode t1, TNode t2) {
+ if (t1.getType().isArray()) {
+ d_arrays.mergeArrays(t1, t2);
+ }
+ }
void eqNotifyDisequal(TNode t1, TNode t2, TNode reason) { }
};
bug596.cvc \
bug596b.cvc \
bug605.cvc \
+ bug639.smt2 \
bt-test-00.smt2 \
bt-test-01.smt2
#bug590.smt2
# we have a minimized version still getting tested
# bug639 -- still fails, reopened bug
DISABLED_TESTS = \
- bug512.smt2 \
- bug639.smt2
-
+ bug512.smt2
EXTRA_DIST = $(TESTS) \
simplification_bug4.smt2.expect \