3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-07-04 22:36:10 +00:00

fixes to update propagation.

rename update and update_args_value to
update_checked
update_unchecked

ensure upward propagation so that local values are consistent when entering lookahead solvers.
This commit is contained in:
Nikolaj Bjorner 2025-01-26 12:55:03 -08:00
parent 04d0e9492b
commit d4100fc472
4 changed files with 72 additions and 44 deletions

View file

@ -295,7 +295,8 @@ namespace sls {
add_def const& get_add(var_t v) const { SASSERT(is_add(v)); return m_adds[m_vars[v].m_def_idx]; }
op_def const& get_op(var_t v) const { SASSERT(is_op(v)); return m_ops[m_vars[v].m_def_idx]; }
bool update(var_t v, num_t const& new_value);
bool update_checked(var_t v, num_t const& new_value);
void update_unchecked(var_t v, num_t const& new_value);
bool apply_update();
bool find_nl_moves(sat::literal lit);
bool find_lin_moves(sat::literal lit);
@ -342,7 +343,7 @@ namespace sls {
std::ostream& display(std::ostream& out, add_def const& ad) const;
std::ostream& display(std::ostream& out, mul_def const& md) const;
void update_args_value(var_t v, num_t const& new_value);
bool can_update_num(var_t v, num_t const& delta);
bool update_num(var_t v, num_t const& delta);
public: