mirror of
				https://github.com/Z3Prover/z3
				synced 2025-10-31 11:42:28 +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
					
				
					 5 changed files with 10 additions and 5 deletions
				
			
		|  | @ -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…
	
	Add table
		Add a link
		
	
		Reference in a new issue