3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-10 19:27:06 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-04-11 13:11:47 -07:00
parent b066f562c6
commit 98ff388c4e
3 changed files with 4 additions and 6 deletions

View file

@ -973,7 +973,7 @@ namespace smt {
/**
\brief A monomial is 'pure' if does not have a numeric coefficient.
*/
bool is_pure_monomial(expr * m) const { return m_util.is_mul(m) && !m_util.is_numeral(to_app(m)->get_arg(0)); }
bool is_pure_monomial(expr * m) const { return m_util.is_mul(m) && (to_app(m)->get_num_args() > 2 || !m_util.is_numeral(to_app(m)->get_arg(0))); }
bool is_pure_monomial(theory_var v) const { return is_pure_monomial(get_enode(v)->get_owner()); }
void mark_var(theory_var v, svector<theory_var> & vars, var_set & already_found);
void mark_dependents(theory_var v, svector<theory_var> & vars, var_set & already_found, row_set & already_visited_rows);

View file

@ -349,7 +349,7 @@ namespace smt {
*/
template<typename Ext>
theory_var theory_arith<Ext>::internalize_mul_core(app * m) {
TRACE("internalize_mul_core", tout << "internalizing...\n" << mk_pp(m,get_manager()) << "\n";);
TRACE("internalize_mul_core", tout << "internalizing...\n" << mk_pp(m, get_manager()) << "\n";);
if (!m_util.is_mul(m))
return internalize_term_core(m);
for (expr* arg : *m) {

View file

@ -71,10 +71,8 @@ namespace smt {
if (m_nl_monomials.empty())
return;
out << "non linear monomials:\n";
svector<theory_var>::const_iterator it = m_nl_monomials.begin();
svector<theory_var>::const_iterator end = m_nl_monomials.end();
for (; it != end; ++it)
display_var(out, *it);
for (auto nl : m_nl_monomials)
display_var(out, nl);
}
template<typename Ext>