Esempio n. 1
0
 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();
 }
Esempio n. 2
0
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();
}
Esempio n. 3
0
 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());
 }
Esempio n. 4
0
 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());
 }