diff --git a/src/ast/ast.cpp b/src/ast/ast.cpp index 53e7c5dd9dd..466e42bd883 100644 --- a/src/ast/ast.cpp +++ b/src/ast/ast.cpp @@ -401,7 +401,7 @@ quantifier::quantifier(unsigned num_decls, sort * const * decl_sorts, symbol con m_expr(body), m_sort(s), m_depth(::get_depth(body) + 1), - m_weight(0), + m_weight(1), m_has_unused_vars(true), m_has_labels(::has_labels(body)), m_qid(symbol()), diff --git a/src/tactic/arith/purify_arith_tactic.cpp b/src/tactic/arith/purify_arith_tactic.cpp index 5bb26dfc7b4..1f467999e9b 100644 --- a/src/tactic/arith/purify_arith_tactic.cpp +++ b/src/tactic/arith/purify_arith_tactic.cpp @@ -740,7 +740,7 @@ struct purify_arith_proc { scoped_ptr replacer = mk_default_expr_replacer(m()); replacer->set_substitution(&subst); (*replacer)(new_body, new_body); - new_body = m().mk_exists(num_vars, sorts.c_ptr(), names.c_ptr(), new_body); + new_body = m().mk_exists(num_vars, sorts.c_ptr(), names.c_ptr(), new_body, q->get_weight()); result = m().update_quantifier(q, new_body); if (m_produce_proofs) { proof_ref_vector & cnstr_prs = r.cfg().m_new_cnstr_prs; diff --git a/src/tactic/core/reduce_invertible_tactic.cpp b/src/tactic/core/reduce_invertible_tactic.cpp index d7c79e45440..77f9f7912db 100644 --- a/src/tactic/core/reduce_invertible_tactic.cpp +++ b/src/tactic/core/reduce_invertible_tactic.cpp @@ -469,7 +469,7 @@ class reduce_invertible_tactic : public tactic { } if (has_new_var) { sub(new_body, result); - result = m.mk_quantifier(old_q->get_kind(), new_sorts.size(), new_sorts.c_ptr(), old_q->get_decl_names(), result); + result = m.mk_quantifier(old_q->get_kind(), new_sorts.size(), new_sorts.c_ptr(), old_q->get_decl_names(), result, old_q->get_weight()); result_pr = nullptr; return true; }