3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-10-10 09:48:05 +00:00

add note about a bug

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2022-01-26 16:58:00 -08:00
parent 0eaf5a8510
commit 6df23fbce3
5 changed files with 34 additions and 9 deletions

View file

@ -321,4 +321,13 @@ namespace bv {
VERIFY(m_polysat.try_eval(p, val));
values[n->get_root_id()] = bv.mk_numeral(val, get_bv_size(n));
}
void solver::polysat_display(std::ostream& out) const {
if (!use_polysat())
return;
m_polysat.display(out);
for (unsigned v = 0; v < get_num_vars(); ++v)
if (m_var2pdd_valid.get(v, false))
out << ctx.bpp(var2enode(v)) << " := " << m_var2pdd[v] << "\n";
}
}

View file

@ -622,8 +622,7 @@ namespace bv {
out << "bv-solver:\n";
for (unsigned v = 0; v < num_vars; v++)
out << pp(v);
if (use_polysat())
m_polysat.display(out);
polysat_display(out);
return out;
}

View file

@ -280,9 +280,9 @@ namespace bv {
void polysat_neg(app* a);
void polysat_num(app* a);
void polysat_mkbv(app* a);
void solver::polysat_umul_noovfl(app* e);
void solver::polysat_div_rem_i(app* e, bool is_div);
void solver::polysat_div_rem(app* e, bool is_div);
void polysat_umul_noovfl(app* e);
void polysat_div_rem_i(app* e, bool is_div);
void polysat_div_rem(app* e, bool is_div);
void polysat_bit2bool(atom* a, expr* e, unsigned idx);
bool polysat_sort_cnstr(euf::enode* n);
void polysat_assign(atom* a);
@ -292,6 +292,7 @@ namespace bv {
bool polysat_diseq_eh(euf::th_eq const& ne);
void polysat_add_value(euf::enode* n, model& mdl, expr_ref_vector& values);
lbool polysat_final();
void polysat_display(std::ostream& out) const;
bool use_polysat() const { return get_config().m_bv_polysat; }
vector<polysat::pdd> m_var2pdd;
bool_vector m_var2pdd_valid;