inc_sat_solver(ast_manager& m, params_ref const& p): m(m), m_solver(p, m.limit(), 0), m_params(p), m_optimize_model(false), m_fmls(m), m_asmsf(m), m_fmls_head(0), m_core(m), m_map(m), m_num_scopes(0), m_dep_core(m), m_unknown("no reason given") { m_params.set_bool("elim_vars", false); m_solver.updt_params(m_params); init_preprocess(); }
void DRV_init() { // Initialize global data idl_global = new IDL_GlobalData(); idl_global->set_scopes(NULL); idl_global->set_root(NULL); idl_global->set_gen(NULL); idl_global->set_err((*DRV_FE_new_UTL_Error)()); idl_global->set_err_count(0); idl_global->set_indent((*DRV_FE_new_UTL_Indenter)()); idl_global->set_filename(NULL); idl_global->set_main_filename(NULL); idl_global->set_real_filename(NULL); idl_global->set_stripped_filename(NULL); idl_global->set_import(I_TRUE); idl_global->set_in_main_file(I_FALSE); idl_global->set_lineno( -1); idl_global->set_prog_name(NULL); idl_global->set_be(""); idl_global->set_local_escapes(new char[1024]); idl_global->set_compile_flags(0); idl_global->set_read_from_stdin(I_FALSE); idl_global->set_include_file_names(NULL); idl_global->set_n_include_file_names(0); idl_global->set_parse_state(IDL_GlobalData::PS_NoState); // Initialize driver private data DRV_nfiles = 0; DRV_file_index = 0; // Initialize preprocessor init_preprocess(); }
inc_sat_solver(ast_manager& m, params_ref const& p, bool incremental_mode): m(m), m_solver(p, m.limit()), m_fmls(m), m_asmsf(m), m_fmls_head(0), m_core(m), m_map(m), m_is_cnf(true), m_num_scopes(0), m_unknown("no reason given"), m_internalized_converted(false), m_internalized_fmls(m) { updt_params(p); m_mcs.push_back(nullptr); init_preprocess(); m_solver.set_incremental(incremental_mode && !override_incremental()); }
void display_weighted(std::ostream& out, unsigned sz, expr * const * assumptions, unsigned const* weights) { if (weights != nullptr) { for (unsigned i = 0; i < sz; ++i) m_weights.push_back(weights[i]); } init_preprocess(); m_solver.pop_to_base_level(); dep2asm_t dep2asm; expr_ref_vector asms(m); for (unsigned i = 0; i < sz; ++i) { expr_ref a(m.mk_fresh_const("s", m.mk_bool_sort()), m); expr_ref fml(m.mk_implies(a, assumptions[i]), m); assert_expr(fml); asms.push_back(a); } VERIFY(l_true == internalize_formulas()); VERIFY(l_true == internalize_assumptions(sz, asms.c_ptr(), dep2asm)); svector<unsigned> nweights; for (unsigned i = 0; i < m_asms.size(); ++i) { nweights.push_back((unsigned) m_weights[i]); } m_weights.reset(); m_solver.display_wcnf(out, m_asms.size(), m_asms.c_ptr(), nweights.c_ptr()); }