3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-12 20:18:18 +00:00
This commit is contained in:
Nikolaj Bjorner 2023-12-02 19:34:36 -08:00
parent ba8d8f0af7
commit 362d299a5c
2 changed files with 5 additions and 5 deletions

View file

@ -60,11 +60,11 @@ namespace arith {
for (unsigned i = result->get_num_vars(); i < get_num_vars(); ++i) for (unsigned i = result->get_num_vars(); i < get_num_vars(); ++i)
var2var.push_back(result->mk_evar(ctx.copy(dst_ctx, var2enode(i))->get_expr())); var2var.push_back(result->mk_evar(ctx.copy(dst_ctx, var2enode(i))->get_expr()));
unsigned v = 0; result->m_bounds.resize(get_num_vars());
result->m_bounds.resize(m_bounds.size()); unsigned nv = std::min(m_bounds.size(), get_num_vars());
for (auto const& bounds : m_bounds) { for (unsigned v = 0; v < nv; ++v) {
auto w = var2var[v]; auto w = var2var[v];
for (auto* b : bounds) { for (auto* b : m_bounds[v]) {
auto* b2 = result->mk_var_bound(b->get_lit(), w, b->get_bound_kind(), b->get_value()); auto* b2 = result->mk_var_bound(b->get_lit(), w, b->get_bound_kind(), b->get_value());
result->m_bounds[w].push_back(b2); result->m_bounds[w].push_back(b2);
result->m_bounds_trail.push_back(w); result->m_bounds_trail.push_back(w);
@ -72,7 +72,6 @@ namespace arith {
result->m_bool_var2bound.insert(b->get_lit().var(), b2); result->m_bool_var2bound.insert(b->get_lit().var(), b2);
result->m_new_bounds.push_back(b2); result->m_new_bounds.push_back(b2);
} }
++v;
} }
// clone rows into m_solver, m_nla, m_lia // clone rows into m_solver, m_nla, m_lia

View file

@ -348,6 +348,7 @@ namespace euf {
bool is_external(bool_var v) override; bool is_external(bool_var v) override;
bool propagated(literal l, ext_constraint_idx idx) override; bool propagated(literal l, ext_constraint_idx idx) override;
bool unit_propagate() override; bool unit_propagate() override;
bool should_propagate() override;
bool should_research(sat::literal_vector const& core) override; bool should_research(sat::literal_vector const& core) override;
void add_assumptions(sat::literal_set& assumptions) override; void add_assumptions(sat::literal_set& assumptions) override;
bool tracking_assumptions() override; bool tracking_assumptions() override;