mirror of
https://github.com/Z3Prover/z3
synced 2025-04-10 19:27:06 +00:00
parent
b066f562c6
commit
98ff388c4e
|
@ -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);
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Reference in a new issue