mirror of
https://github.com/Z3Prover/z3
synced 2025-05-12 02:04:43 +00:00
env params
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
This commit is contained in:
parent
9bd4fd969a
commit
02e763bb6b
15 changed files with 133 additions and 80 deletions
|
@ -2488,7 +2488,7 @@ namespace smt {
|
|||
SASSERT(check_clauses(m_lemmas));
|
||||
SASSERT(check_clauses(m_aux_clauses));
|
||||
|
||||
IF_VERBOSE(2, verbose_stream() << "simplifying clause set... "; verbose_stream().flush(););
|
||||
IF_VERBOSE(2, verbose_stream() << "(smt.simplifying-clause-set"; verbose_stream().flush(););
|
||||
|
||||
// m_simp_counter is used to balance the cost of simplify_clause.
|
||||
//
|
||||
|
@ -2503,8 +2503,7 @@ namespace smt {
|
|||
// the field m_simp_qhead is used to check whether there are
|
||||
// new assigned literals at the base level.
|
||||
m_simp_qhead = m_assigned_literals.size();
|
||||
|
||||
unsigned num_clauses = m_aux_clauses.size() + m_lemmas.size();
|
||||
|
||||
unsigned num_del_clauses = 0;
|
||||
|
||||
SASSERT(m_scope_lvl == m_base_lvl);
|
||||
|
@ -2519,7 +2518,7 @@ namespace smt {
|
|||
num_del_clauses += simplify_clauses(m_lemmas, bs.m_lemmas_lim);
|
||||
}
|
||||
TRACE("simp_counter", tout << "simp_counter: " << m_simp_counter << " scope_lvl: " << m_scope_lvl << "\n";);
|
||||
IF_VERBOSE(2, verbose_stream() << "num. deleted clauses: " << num_del_clauses << " (out of " << num_clauses << ")" << std::endl;);
|
||||
IF_VERBOSE(2, verbose_stream() << " :num-deleted-clauses " << num_del_clauses << ")" << std::endl;);
|
||||
TRACE("simplify_clauses_detail", tout << "after:\n"; display_clauses(tout, m_lemmas););
|
||||
SASSERT(check_clauses(m_lemmas) && check_clauses(m_aux_clauses));
|
||||
}
|
||||
|
@ -2551,7 +2550,7 @@ namespace smt {
|
|||
SASSERT(start_at <= sz);
|
||||
if (start_at + m_fparams.m_recent_lemmas_size >= sz)
|
||||
return;
|
||||
IF_VERBOSE(2, verbose_stream() << "deleting inactive lemmas... "; verbose_stream().flush(););
|
||||
IF_VERBOSE(2, verbose_stream() << "(smt.delete-inactive-lemmas"; verbose_stream().flush(););
|
||||
SASSERT (m_fparams.m_recent_lemmas_size < sz);
|
||||
unsigned end_at = sz - m_fparams.m_recent_lemmas_size;
|
||||
SASSERT(start_at < end_at);
|
||||
|
@ -2595,7 +2594,7 @@ namespace smt {
|
|||
cls->set_activity(cls->get_activity() / m_fparams.m_clause_decay);
|
||||
}
|
||||
}
|
||||
IF_VERBOSE(2, verbose_stream() << "num. deleted clauses: " << num_del_cls << " (out of " << sz << ")" << std::endl;);
|
||||
IF_VERBOSE(2, verbose_stream() << " :num-deleted-clauses " << num_del_cls << ")" << std::endl;);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -2606,7 +2605,7 @@ namespace smt {
|
|||
depends on which group the clauses is in.
|
||||
*/
|
||||
void context::del_inactive_lemmas2() {
|
||||
IF_VERBOSE(2, verbose_stream() << "deleting inactive clauses... "; verbose_stream().flush(););
|
||||
IF_VERBOSE(2, verbose_stream() << "(smt.delete-inactive-clauses "; verbose_stream().flush(););
|
||||
unsigned sz = m_lemmas.size();
|
||||
unsigned start_at = m_base_lvl == 0 ? 0 : m_base_scopes[m_base_lvl - 1].m_lemmas_lim;
|
||||
SASSERT(start_at <= sz);
|
||||
|
@ -2645,7 +2644,7 @@ namespace smt {
|
|||
}
|
||||
SASSERT(j <= sz);
|
||||
m_lemmas.shrink(j);
|
||||
IF_VERBOSE(2, verbose_stream() << "num. deleted clauses: " << num_del_cls << " (out of " << sz << ")" << std::endl;);
|
||||
IF_VERBOSE(2, verbose_stream() << " :num-deleted-clauses " << num_del_cls << ")" << std::endl;);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -2786,7 +2785,7 @@ namespace smt {
|
|||
}
|
||||
|
||||
void context::assert_expr(expr * e, proof * pr) {
|
||||
timeit tt(get_verbosity_level() >= 100, "simplifying");
|
||||
timeit tt(get_verbosity_level() >= 100, "smt.simplifying");
|
||||
assert_expr_core(e, pr);
|
||||
}
|
||||
|
||||
|
@ -2800,7 +2799,7 @@ namespace smt {
|
|||
|
||||
void context::internalize_assertions() {
|
||||
TRACE("internalize_assertions", tout << "internalize_assertions()...\n";);
|
||||
timeit tt(get_verbosity_level() >= 100, "preprocessing");
|
||||
timeit tt(get_verbosity_level() >= 100, "smt.preprocessing");
|
||||
reduce_assertions();
|
||||
if (!m_asserted_formulas.inconsistent()) {
|
||||
unsigned sz = m_asserted_formulas.get_num_formulas();
|
||||
|
@ -3158,7 +3157,7 @@ namespace smt {
|
|||
exit(1);
|
||||
}
|
||||
#endif
|
||||
timeit tt(get_verbosity_level() >= 100, "searching");
|
||||
timeit tt(get_verbosity_level() >= 100, "smt.stats");
|
||||
scoped_mk_model smk(*this);
|
||||
SASSERT(at_search_level());
|
||||
TRACE("search", display(tout); display_enodes_lbls(tout););
|
||||
|
@ -3166,7 +3165,7 @@ namespace smt {
|
|||
init_search();
|
||||
flet<bool> l(m_searching, true);
|
||||
TRACE("after_init_search", display(tout););
|
||||
IF_VERBOSE(2, verbose_stream() << "searching...\n";);
|
||||
IF_VERBOSE(2, verbose_stream() << "(smt.searching)\n";);
|
||||
TRACE("search_lite", tout << "searching...\n";);
|
||||
lbool status = l_undef;
|
||||
unsigned curr_lvl = m_scope_lvl;
|
||||
|
@ -3215,16 +3214,16 @@ namespace smt {
|
|||
inc_limits();
|
||||
if (force_restart || !m_fparams.m_restart_adaptive || m_agility < m_fparams.m_restart_agility_threshold) {
|
||||
SASSERT(!inconsistent());
|
||||
IF_VERBOSE(1, verbose_stream() << "restarting... propagations: " << m_stats.m_num_propagations
|
||||
<< ", decisions: " << m_stats.m_num_decisions
|
||||
<< ", conflicts: " << m_stats.m_num_conflicts << ", restart: " << m_restart_threshold;
|
||||
IF_VERBOSE(1, verbose_stream() << "(smt.restarting :propagations " << m_stats.m_num_propagations
|
||||
<< " :decisions " << m_stats.m_num_decisions
|
||||
<< " :conflicts " << m_stats.m_num_conflicts << " :restart " << m_restart_threshold;
|
||||
if (m_fparams.m_restart_strategy == RS_IN_OUT_GEOMETRIC) {
|
||||
verbose_stream() << ", restart-outer: " << m_restart_outer_threshold;
|
||||
verbose_stream() << " :restart-outer " << m_restart_outer_threshold;
|
||||
}
|
||||
if (m_fparams.m_restart_adaptive) {
|
||||
verbose_stream() << ", agility: " << m_agility;
|
||||
verbose_stream() << " :agility " << m_agility;
|
||||
}
|
||||
verbose_stream() << std::endl; verbose_stream().flush(););
|
||||
verbose_stream() << ")" << std::endl; verbose_stream().flush(););
|
||||
// execute the restart
|
||||
m_stats.m_num_restarts++;
|
||||
if (m_scope_lvl > curr_lvl) {
|
||||
|
@ -3259,12 +3258,12 @@ namespace smt {
|
|||
void context::tick(unsigned & counter) const {
|
||||
counter++;
|
||||
if (counter > m_fparams.m_tick) {
|
||||
IF_VERBOSE(3, verbose_stream() << "working...";
|
||||
verbose_stream() << " num. conflicts: " << m_num_conflicts;
|
||||
IF_VERBOSE(3, verbose_stream() << "(smt.working";
|
||||
verbose_stream() << " :conflicts " << m_num_conflicts;
|
||||
// verbose_stream() << " lemma avg. activity: " << get_lemma_avg_activity();
|
||||
if (m_fparams.m_restart_adaptive)
|
||||
verbose_stream() << " agility: " << m_agility;
|
||||
verbose_stream() << std::endl; verbose_stream().flush(););
|
||||
verbose_stream() << " :agility " << m_agility;
|
||||
verbose_stream() << ")" << std::endl; verbose_stream().flush(););
|
||||
TRACE("assigned_literals_per_lvl", display_num_assigned_literals_per_lvl(tout); tout << "\n";);
|
||||
counter = 0;
|
||||
}
|
||||
|
@ -3410,7 +3409,7 @@ namespace smt {
|
|||
final_check_status ok;
|
||||
if (m_final_check_idx < num_th) {
|
||||
theory * th = m_theory_set[m_final_check_idx];
|
||||
IF_VERBOSE(100, verbose_stream() << "final check '" << th->get_name() << "' ...\n";);
|
||||
IF_VERBOSE(100, verbose_stream() << "(smt.final-check \"" << th->get_name() << "\")\n";);
|
||||
ok = th->final_check_eh();
|
||||
TRACE("final_check_step", tout << "final check '" << th->get_name() << " ok: " << ok << " inconsistent " << inconsistent() << "\n";);
|
||||
if (ok == FC_GIVEUP) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue