3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 09:35:32 +00:00

bit-blaster

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2018-03-31 05:34:11 -07:00
parent a81a8de975
commit a914142c7c
2 changed files with 4 additions and 9 deletions

View file

@ -67,7 +67,6 @@ public:
void operator()(goal_ref const & g) {
SASSERT(g->is_well_sorted());
tactic_report report("aig", *g);
mk_aig_manager mk(*this, g->m());
if (m_aig_per_assertion) {
@ -92,8 +91,10 @@ public:
void operator()(goal_ref const & g, goal_ref_buffer & result) override {
fail_if_proof_generation("aig", g);
tactic_report report("aig", *g);
operator()(g);
g->inc_depth();
TRACE("aig", g->display(tout););
result.push_back(g.get());
}

View file

@ -123,10 +123,7 @@ struct bit_blaster_model_converter : public model_converter {
SASSERT(is_uninterp_const(bit));
func_decl * bit_decl = to_app(bit)->get_decl();
expr * bit_val = old_model->get_const_interp(bit_decl);
if (bit_val == nullptr) {
goto bail;
}
if (m().is_true(bit_val))
if (bit_val != nullptr && m().is_true(bit_val))
val++;
}
}
@ -141,10 +138,7 @@ struct bit_blaster_model_converter : public model_converter {
func_decl * bit_decl = to_app(bit)->get_decl();
expr * bit_val = old_model->get_const_interp(bit_decl);
// remark: if old_model does not assign bit_val, then assume it is false.
if (bit_val == nullptr) {
goto bail;
}
if (!util.is_zero(bit_val))
if (bit_val != nullptr && !util.is_zero(bit_val))
val++;
}
}