diff --git a/src/ast/arith_decl_plugin.cpp b/src/ast/arith_decl_plugin.cpp index 883e004a76a..88fc595243f 100644 --- a/src/ast/arith_decl_plugin.cpp +++ b/src/ast/arith_decl_plugin.cpp @@ -447,6 +447,7 @@ app * arith_decl_plugin::mk_numeral(rational const & val, bool is_int) { } parameter p[2] = { parameter(val), parameter(static_cast(is_int)) }; func_decl * decl; + if (is_int && !m_convert_int_numerals_to_real) decl = m_manager->mk_const_decl(m_intv_sym, m_int_decl, func_decl_info(m_family_id, OP_NUM, 2, p)); else diff --git a/src/opt/optsmt.cpp b/src/opt/optsmt.cpp index 6df7a0acdac..cb4663b35b2 100644 --- a/src/opt/optsmt.cpp +++ b/src/opt/optsmt.cpp @@ -181,6 +181,7 @@ namespace opt { for (unsigned i = 0; i < obj_index; ++i) { commit_assignment(i); } + m_s->get_model(m_model); unsigned steps = 0; unsigned step_incs = 0; diff --git a/src/smt/smt_model_checker.cpp b/src/smt/smt_model_checker.cpp index b68a70989f3..49b8dff2e6e 100644 --- a/src/smt/smt_model_checker.cpp +++ b/src/smt/smt_model_checker.cpp @@ -322,12 +322,13 @@ namespace smt { /** \brief Return true if q is satisfied by m_curr_model. */ + bool model_checker::check(quantifier * q) { SASSERT(!m_aux_context->relevancy()); scoped_ctx_push _push(m_aux_context.get()); quantifier * flat_q = get_flat_quantifier(q); - TRACE("model_checker", tout << "model checking:\n" << expr_ref(q->get_expr(), m) << "\n" << expr_ref(flat_q->get_expr(), m) << "\n";); + TRACE("model_checker", tout << "model checking:\n" << expr_ref(flat_q->get_expr(), m) << "\n";); expr_ref_vector sks(m); assert_neg_q_m(flat_q, sks); diff --git a/src/solver/smt_logics.cpp b/src/solver/smt_logics.cpp index a8dcf2f904a..811461f6275 100644 --- a/src/solver/smt_logics.cpp +++ b/src/solver/smt_logics.cpp @@ -35,6 +35,7 @@ bool smt_logics::logic_has_reals_only(symbol const& s) { s == "UFLRA" || s == "LRA" || s == "RDL" || + s == "NRA" || s == "QF_NRA" || s == "QF_UFNRA" || s == "QF_UFLRA"; diff --git a/src/tactic/smtlogics/nra_tactic.cpp b/src/tactic/smtlogics/nra_tactic.cpp index 8aefad0a03e..7d3a170edc1 100644 --- a/src/tactic/smtlogics/nra_tactic.cpp +++ b/src/tactic/smtlogics/nra_tactic.cpp @@ -39,6 +39,7 @@ tactic * mk_nra_tactic(ast_manager & m, params_ref const& p) { mk_simplify_tactic(m, p), mk_propagate_values_tactic(m, p), mk_qe_lite_tactic(m), + mk_simplify_tactic(m, p), cond(mk_is_qfnra_probe(), or_else(try_for(mk_qfnra_nlsat_tactic(m, p), 5000), try_for(mk_qfnra_nlsat_tactic(m, p1), 10000),