3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-06-27 08:28:44 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-04-02 11:33:22 -07:00
parent a7aff1bcf0
commit 700ad1f2b9

View file

@ -71,11 +71,13 @@ void theory_arith<Ext>::mark_dependents(theory_var v, svector<theory_var> & vars
expr * n = var2expr(v);
SASSERT(m_util.is_mul(n));
for (expr * curr : *to_app(n)) {
if (get_context().e_internalized(curr)) {
theory_var v = expr2var(curr);
SASSERT(v != null_theory_var);
mark_var(v, vars, already_found);
}
}
}
if (is_fixed(v))
return;
column & c = m_columns[v];
@ -1122,6 +1124,8 @@ bool theory_arith<Ext>::propagate_linear_monomials() {
template<typename Ext>
bool theory_arith<Ext>::is_problematic_non_linear_row(row const & r) {
m_tmp_var_set.reset();
if (!reflection_enabled())
return false;
typename vector<row_entry>::const_iterator it = r.begin_entries();
typename vector<row_entry>::const_iterator end = r.end_entries();
for (; it != end; ++it) {
@ -2380,11 +2384,13 @@ bool theory_arith<Ext>::max_min_nl_vars() {
expr * n = var2expr(v);
SASSERT(is_pure_monomial(n));
for (expr * curr : *to_app(n)) {
if (get_context().e_internalized(curr)) {
theory_var v = expr2var(curr);
SASSERT(v != null_theory_var);
mark_var(v, vars, already_found);
}
}
}
return max_min(vars);
}