3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-06 07:15:47 +00:00

enable incremental bit-vector solving

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2015-09-01 09:48:35 -07:00
parent 0ed38ed59b
commit cc5d719d9e
15 changed files with 208 additions and 55 deletions

View file

@ -98,6 +98,11 @@ struct bit_blaster_model_converter : public model_converter {
SASSERT(m_vars.size() == m_bits.size());
unsigned sz = m_vars.size();
for (unsigned i = 0; i < sz; i++) {
expr* new_val = old_model->get_const_interp(m_vars.get(i));
if (new_val) {
new_model->register_decl(m_vars.get(i), new_val);
continue;
}
expr * bs = m_bits.get(i);
val.reset();
unsigned bv_sz = to_app(bs)->get_num_args();
@ -132,7 +137,7 @@ struct bit_blaster_model_converter : public model_converter {
val++;
}
}
expr * new_val = util.mk_numeral(val, bv_sz);
new_val = util.mk_numeral(val, bv_sz);
new_model->register_decl(m_vars.get(i), new_val);
}
}