diff --git a/src/ast/rewriter/th_rewriter.cpp b/src/ast/rewriter/th_rewriter.cpp index aa02ab009..f7ac45ff5 100644 --- a/src/ast/rewriter/th_rewriter.cpp +++ b/src/ast/rewriter/th_rewriter.cpp @@ -826,7 +826,6 @@ struct th_rewriter_cfg : public default_rewriter_cfg { result = elim_unused_vars(m(), q1, params_ref()); - TRACE("reduce_quantifier", tout << "after elim_unused_vars:\n" << result << "\n";); result_pr = nullptr; if (m().proofs_enabled()) { @@ -835,6 +834,9 @@ struct th_rewriter_cfg : public default_rewriter_cfg { p2 = m().mk_elim_unused_vars(q1, result); result_pr = m().mk_transitivity(p1, p2); } + + TRACE("reduce_quantifier", tout << "after elim_unused_vars:\n" << result << " " << result_pr << "\n" ;); + SASSERT(old_q->get_sort() == result->get_sort()); return true; } diff --git a/src/cmd_context/cmd_context.cpp b/src/cmd_context/cmd_context.cpp index 0c38f2e4a..8fb859b88 100644 --- a/src/cmd_context/cmd_context.cpp +++ b/src/cmd_context/cmd_context.cpp @@ -621,10 +621,15 @@ void cmd_context::set_produce_unsat_cores(bool f) { } void cmd_context::set_produce_proofs(bool f) { - SASSERT(!has_assertions() || m_params.m_proof == f); - if (has_manager()) + if (m_params.m_proof == f) + return; + SASSERT(!has_assertions()); + if (has_manager()) { m().toggle_proof_mode(f ? PGM_ENABLED : PGM_DISABLED); + std::cout << m_params.m_proof << " " << f << "\n"; + } m_params.m_proof = f; + mk_solver(); } diff --git a/src/solver/assertions/asserted_formulas.cpp b/src/solver/assertions/asserted_formulas.cpp index 5dec90ba7..630d73945 100644 --- a/src/solver/assertions/asserted_formulas.cpp +++ b/src/solver/assertions/asserted_formulas.cpp @@ -171,7 +171,7 @@ void asserted_formulas::assert_expr(expr * e, proof * _in_pr) { else pr = m.mk_modus_ponens(in_pr, pr); } - TRACE("assert_expr_bug", tout << "after...\n" << r << "\n";); + TRACE("assert_expr_bug", tout << "after...\n" << r << "\n" << pr << "\n";); } m_has_quantifiers |= ::has_quantifiers(e);