3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-10-11 02:08:07 +00:00

adding in-processing

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2017-06-24 18:27:32 -07:00
parent fb84ba8c34
commit c3d29e75ef
9 changed files with 484 additions and 106 deletions

View file

@ -66,6 +66,7 @@ namespace sat {
}
solver::~solver() {
m_ext = 0;
SASSERT(check_invariant());
TRACE("sat", tout << "Delete clauses\n";);
del_clauses(m_clauses.begin(), m_clauses.end());
@ -159,6 +160,7 @@ namespace sat {
m_user_scope_literals.reset();
m_user_scope_literals.append(src.m_user_scope_literals);
m_mc = src.m_mc;
}
// -----------------------
@ -198,6 +200,10 @@ namespace sat {
return v;
}
void solver::set_non_external(bool_var v) {
m_external[v] = false;
}
void solver::set_external(bool_var v) {
if (m_external[v]) return;
m_external[v] = true;
@ -1444,6 +1450,20 @@ namespace sat {
if (m_next_simplify > m_conflicts_since_init + m_config.m_simplify_max)
m_next_simplify = m_conflicts_since_init + m_config.m_simplify_max;
}
#if 1
static unsigned file_no = 0;
#pragma omp critical (print_sat)
{
++file_no;
std::ostringstream ostrm;
ostrm << "s" << file_no << ".txt";
std::ofstream ous(ostrm.str());
display(ous);
}
#endif
}
void solver::sort_watch_lits() {