Skip to content

Commit 0b14f1b

Browse files
committed
fix crash when propagating equalities over arrays with lambdas
1 parent 9064e58 commit 0b14f1b

1 file changed

Lines changed: 3 additions & 5 deletions

File tree

src/smt/theory_array_base.cpp

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -371,10 +371,8 @@ namespace smt {
371371
literal n1_eq_n2 = mk_eq(e1, e2, true);
372372
ctx.mark_as_relevant(n1_eq_n2);
373373
expr_ref_vector args1(m), args2(m);
374-
expr_ref f1 = instantiate_lambda(e1);
375-
expr_ref f2 = instantiate_lambda(e2);
376-
args1.push_back(f1);
377-
args2.push_back(f2);
374+
args1.push_back(instantiate_lambda(e1));
375+
args2.push_back(instantiate_lambda(e2));
378376
svector<symbol> names;
379377
sort_ref_vector sorts(m);
380378
for (unsigned i = 0; i < dimension; i++) {
@@ -403,7 +401,7 @@ namespace smt {
403401
quantifier * q = m.is_lambda_def(e->get_decl());
404402
expr_ref f(e, m);
405403
if (q) {
406-
var_subst sub(m, false);
404+
var_subst sub(m);
407405
f = sub(q, e->get_num_args(), e->get_args());
408406
}
409407
return f;

0 commit comments

Comments
 (0)