@@ -256,22 +256,19 @@ class elim_small_bv_tactic : public tactic {
256
256
void operator ()(goal_ref const & g,
257
257
goal_ref_buffer & result) override {
258
258
tactic_report report (" elim-small-bv" , *g);
259
- bool produce_proofs = g->proofs_enabled ();
260
259
fail_if_proof_generation (" elim-small-bv" , g);
261
260
fail_if_unsat_core_generation (" elim-small-bv" , g);
262
261
m_rw.cfg ().m_produce_models = g->models_enabled ();
263
262
264
263
expr_ref new_curr (m);
265
264
proof_ref new_pr (m);
266
- unsigned size = g->size ();
267
- for (unsigned idx = 0 ; !g->inconsistent () && idx < size; idx++) {
268
- expr * curr = g->form (idx);
265
+ unsigned idx = 0 ;
266
+ for (auto [curr, dep, pr] : *g) {
267
+ if (g->inconsistent ())
268
+ break ;
269
269
m_rw (curr, new_curr, new_pr);
270
- if (produce_proofs) {
271
- proof * pr = g->pr (idx);
272
- new_pr = m.mk_modus_ponens (pr, new_pr);
273
- }
274
- g->update (idx, new_curr, new_pr, g->dep (idx));
270
+ new_pr = m.mk_modus_ponens (pr, new_pr);
271
+ g->update (idx++, new_curr, new_pr, dep);
275
272
}
276
273
g->add (m_rw.m_cfg .m_mc .get ());
277
274
0 commit comments