Skip to content

Commit 053349c

Browse files
remove incorrect calls to VERIFY in array solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
1 parent 0e8969c commit 053349c

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

src/ast/sls/sls_array_plugin.cpp

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,8 @@ namespace sls {
115115
}
116116
else {
117117
g.merge(nmap, nsel, nullptr);
118-
VERIFY(g.propagate());
118+
g.propagate();
119+
VERIFY(!g.inconsistent());
119120
}
120121
}
121122

@@ -143,8 +144,9 @@ namespace sls {
143144
if (are_distinct(nsel, val))
144145
add_store_axiom1(n->get_app());
145146
else {
146-
g.merge(nsel, val, nullptr);
147-
VERIFY(g.propagate());
147+
g.merge(nsel, val, nullptr);
148+
g.propagate();
149+
VERIFY(!g.inconsistent());
148150
}
149151
}
150152

@@ -161,7 +163,8 @@ namespace sls {
161163
add_store_axiom2(sto->get_app(), sel->get_app());
162164
else {
163165
g.merge(nsel, sel, nullptr);
164-
VERIFY(g.propagate());
166+
g.propagate();
167+
VERIFY(!g.inconsistent());
165168
}
166169
}
167170

@@ -178,7 +181,8 @@ namespace sls {
178181
add_store_axiom2(sto->get_app(), sel->get_app());
179182
else {
180183
g.merge(nsel, sel, nullptr);
181-
VERIFY(g.propagate());
184+
g.propagate();
185+
VERIFY(!g.inconsistent());
182186
}
183187
}
184188

@@ -196,7 +200,8 @@ namespace sls {
196200
}
197201
else {
198202
g.merge(nsel, sel, nullptr);
199-
VERIFY(g.propagate());
203+
g.propagate();
204+
VERIFY(!g.inconsistent());
200205
}
201206
}
202207

@@ -265,18 +270,19 @@ namespace sls {
265270
if (a.is_array(t))
266271
continue;
267272
auto v = ctx.get_value(t);
268-
IF_VERBOSE(3, verbose_stream() << "init " << mk_bounded_pp(t, m) << " := " << mk_bounded_pp(v, m) << "\n");
273+
IF_VERBOSE(3, verbose_stream() << "init " << mk_bounded_pp(t, m) << " := " << mk_bounded_pp(v, m) << " " << g.inconsistent() << "\n");
269274
n2 = g.find(v);
270275
n2 = n2 ? n2: g.mk(v, 0, 0, nullptr);
271-
g.merge(n1, n2, nullptr);
276+
g.merge(n1, n2, nullptr);
272277
}
273278
for (auto lit : ctx.root_literals()) {
274279
if (!ctx.is_true(lit) || lit.sign())
275280
continue;
276281
auto e = ctx.atom(lit.var());
277-
expr* x, * y;
282+
expr* x = nullptr, * y = nullptr;
278283
if (e && m.is_eq(e, x, y))
279284
g.merge(g.find(x), g.find(y), nullptr);
285+
280286
}
281287

282288
IF_VERBOSE(3, display(verbose_stream()));
@@ -297,7 +303,6 @@ namespace sls {
297303
kv[n].insert(select_args(p), val);
298304
}
299305
}
300-
display(verbose_stream());
301306
}
302307

303308
expr_ref array_plugin::get_value(expr* e) {

0 commit comments

Comments
 (0)