3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-11 03:33:35 +00:00

disable mk_array_eq as it breaks model evaluation/validation

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2016-05-18 08:29:24 -07:00
parent cc3bfe8da2
commit 5e7db2e3e2
2 changed files with 6 additions and 0 deletions

View file

@ -249,6 +249,7 @@ void grobner::update_order() {
}
bool grobner::var_lt::operator()(expr * v1, expr * v2) const {
if (v1 == v2) return false;
int w1 = 0;
int w2 = 0;
m_var2weight.find(v1, w1);
@ -268,6 +269,8 @@ bool grobner::monomial_lt::operator()(monomial * m1, monomial * m2) const {
for (; it1 != end1; ++it1, ++it2) {
expr * v1 = *it1;
expr * v2 = *it2;
if (v1 == v2)
continue;
if (m_var_lt(v1, v2))
return true;
if (v1 != v2)

View file

@ -259,6 +259,8 @@ struct evaluator_cfg : public default_rewriter_cfg {
br_status mk_array_eq(expr* a, expr* b, expr_ref& result) {
return BR_FAILED;
// disabled until made more efficient
if (a == b) {
result = m().mk_true();
return BR_DONE;
@ -271,6 +273,7 @@ struct evaluator_cfg : public default_rewriter_cfg {
conj.push_back(m().mk_eq(else1, else2));
args1.push_back(a);
args2.push_back(b);
// TBD: this is too inefficient.
for (unsigned i = 0; i < stores.size(); ++i) {
args1.resize(1); args1.append(stores[i].size() - 1, stores[i].c_ptr());
args2.resize(1); args2.append(stores[i].size() - 1, stores[i].c_ptr());