Fixes #5925. The "nonlinear" optimization did not take constant arrays into account.
d_infoMap.setConstArr(node, node);
Assert(d_mayEqualEqualityEngine.getRepresentative(node) == node);
d_defValues[node] = defaultValue;
+ setNonLinear(node);
break;
}
default:
regress0/arrays/issue5720.smt2
regress0/arrays/issue5836-2.smt2
regress0/arrays/issue5836.smt2
+ regress0/arrays/issue5925.smt2
+ regress0/arrays/issue5925-2.smt2
regress0/arrays/issue6276-2.smt2
regress0/arrays/issue6276.smt2
regress0/arrays/issue6700-inc-check-model.smt2
--- /dev/null
+; DISABLE-TESTER: proof
+(set-logic QF_A)
+(set-info :status unsat)
+(declare-const a (Array Bool Bool))
+(assert (= (store a true false) (store (store ((as const (Array Bool Bool)) true) true false) false false)))
+(assert (select a false))
+(check-sat)
--- /dev/null
+; DISABLE-TESTER: proof
+(set-logic QF_ABV)
+(set-info :status unsat)
+(declare-const a (Array Bool Bool))
+(declare-const b Bool)
+(declare-const c Bool)
+(declare-const d Bool)
+(assert (= (store (store ((as const (Array Bool Bool)) true) true false) false false) (store a b c)))
+(assert b)
+(assert (= d (select a c)))
+(assert d)
+(check-sat)