mirror of
https://github.com/Z3Prover/z3
synced 2025-04-08 02:15:19 +00:00
enable logic parameter update to configure SMTLIB logic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
31c58b0999
commit
7f51ecab37
|
@ -832,7 +832,7 @@ extern "C" {
|
|||
pp_params params;
|
||||
pp.set_simplify_implies(params.simplify_implies());
|
||||
ast* a1 = to_ast(a);
|
||||
pp.set_logic(mk_c(c)->fparams().m_smtlib_logic.c_str());
|
||||
pp.set_logic(mk_c(c)->fparams().m_logic.c_str());
|
||||
if (!is_expr(a1)) {
|
||||
buffer << mk_pp(a1, mk_c(c)->m());
|
||||
break;
|
||||
|
|
|
@ -38,7 +38,7 @@ void smt_params::updt_local_params(params_ref const & _p) {
|
|||
m_rlimit = p.rlimit();
|
||||
m_max_conflicts = p.max_conflicts();
|
||||
m_core_validate = p.core_validate();
|
||||
m_smtlib_logic = _p.get_symbol("logic", m_smtlib_logic);
|
||||
m_logic = _p.get_str("logic", m_logic.c_str());
|
||||
model_params mp(_p);
|
||||
m_model_compact = mp.compact();
|
||||
if (_p.get_bool("arith.greatest_error_pivot", false))
|
||||
|
|
|
@ -160,7 +160,7 @@ struct smt_params : public preprocessor_params,
|
|||
//
|
||||
// -----------------------------------
|
||||
bool m_smtlib_dump_lemmas;
|
||||
std::string m_smtlib_logic;
|
||||
std::string m_logic;
|
||||
|
||||
// -----------------------------------
|
||||
//
|
||||
|
@ -260,7 +260,7 @@ struct smt_params : public preprocessor_params,
|
|||
m_old_clause_relevancy(6),
|
||||
m_inv_clause_decay(1),
|
||||
m_smtlib_dump_lemmas(false),
|
||||
m_smtlib_logic("AUFLIA"),
|
||||
m_logic("AUFLIA"),
|
||||
m_profile_res_sub(false),
|
||||
m_display_bool_var2expr(false),
|
||||
m_display_ll_bool_var2expr(false),
|
||||
|
|
|
@ -1433,7 +1433,7 @@ namespace smt {
|
|||
literal_buffer tmp;
|
||||
neg_literals(num_lits, lits, tmp);
|
||||
SASSERT(tmp.size() == num_lits);
|
||||
display_lemma_as_smt_problem(tmp.size(), tmp.c_ptr(), false_literal, m_fparams.m_smtlib_logic.c_str());
|
||||
display_lemma_as_smt_problem(tmp.size(), tmp.c_ptr(), false_literal, m_fparams.m_logic.c_str());
|
||||
}
|
||||
mk_clause(num_lits, lits, js);
|
||||
}
|
||||
|
|
|
@ -123,6 +123,11 @@ public:
|
|||
TRACE("smt_tactic", tout << this << "\nupdt_params: " << p << "\n";);
|
||||
updt_params_core(p);
|
||||
fparams().updt_params(p);
|
||||
symbol logic = p.get_sym(symbol("logic"), symbol::null);
|
||||
if (logic != symbol::null) {
|
||||
if (m_ctx) m_ctx->set_logic(logic);
|
||||
m_logic = logic;
|
||||
}
|
||||
SASSERT(p.get_bool("auto_config", fparams().m_auto_config) == fparams().m_auto_config);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue