3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-05 23:05:46 +00:00

break on small cores

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2015-02-08 10:22:06 +01:00
parent f020b7c7b8
commit 8141dadc89
14 changed files with 80 additions and 31 deletions

View file

@ -58,7 +58,8 @@ struct mus::imp {
unsigned idx = m_cls2expr.size();
m_expr2cls.insert(cls, idx);
m_cls2expr.push_back(cls);
TRACE("opt", tout << idx << ": " << mk_pp(cls, m) << "\n";);
TRACE("opt", tout << idx << ": " << mk_pp(cls, m) << "\n";
display_vec(tout, m_cls2expr););
return idx;
}
@ -113,6 +114,11 @@ struct mus::imp {
core.push_back(cls_id);
}
}
TRACE("opt", display_vec(tout << "core exprs:", core_exprs);
display_vec(tout << "core:", core);
display_vec(tout << "mus:", mus);
);
}
break;
}
@ -144,6 +150,21 @@ struct mus::imp {
out << "\n";
}
void display_vec(std::ostream& out, expr_ref_vector const& v) const {
for (unsigned i = 0; i < v.size(); ++i) {
out << mk_pp(v[i], m) << " ";
}
out << "\n";
}
void display_vec(std::ostream& out, ptr_vector<expr> const& v) const {
for (unsigned i = 0; i < v.size(); ++i) {
out << mk_pp(v[i], m) << " ";
}
out << "\n";
}
void set_soft(unsigned sz, expr* const* soft, rational const* weights) {
m_model.reset();
m_weight.reset();