diff --git a/src/sat/smt/arith_solver.cpp b/src/sat/smt/arith_solver.cpp index 6b3dc752a..308691c6e 100644 --- a/src/sat/smt/arith_solver.cpp +++ b/src/sat/smt/arith_solver.cpp @@ -76,8 +76,9 @@ namespace arith { } bool solver::unit_propagate() { + TRACE("arith", tout << "unit propagate\n";); m_model_is_initialized = false; - if (!m_new_eq && m_new_bounds.empty() && m_asserted_qhead == m_asserted.size()) + if (!m_solver->has_changed_columns() && !m_new_eq && m_new_bounds.empty() && m_asserted_qhead == m_asserted.size()) return false; m_new_eq = false;