3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 17:15:31 +00:00

modify backoff mechanisms and theory exchange

This commit is contained in:
Nikolaj Bjorner 2025-01-22 20:32:30 -08:00
parent 3a3e176dce
commit ec3915218d
8 changed files with 60 additions and 12 deletions

View file

@ -209,6 +209,7 @@ namespace smt {
m_smt_plugin->smt_units_to_sls();
++m_stats.m_num_restart_sls;
bounded_run(m_restart_ls_steps);
inc_restart_ls_steps();
if (m_smt_plugin)
m_smt_plugin->sls_activity_to_smt();
}
@ -235,6 +236,14 @@ namespace smt {
}
bool theory_sls::shared_clauses_are_true() const {
#if 0
for (auto const& cl : m_shared_clauses) {
for (auto lit : cl)
verbose_stream() << lit << " : " << ctx.get_assignment(lit);
verbose_stream() << "\n";
}
#endif
for (auto const& cl : m_shared_clauses)
if (all_of(cl, [this](sat::literal lit) { return ctx.get_assignment(lit) != l_true; }))
return false;

View file

@ -65,8 +65,9 @@ namespace smt {
unsigned m_restart_ls_steps_inc = 10000;
unsigned m_restart_ls_steps_max = 300000;
unsigned m_final_check_ls_steps = 30000;
unsigned m_final_check_ls_steps_dec = 10000;
unsigned m_final_check_ls_steps_delta = 10000;
unsigned m_final_check_ls_steps_min = 10000;
unsigned m_final_check_ls_steps_max = 30000;
bool m_has_unassigned_clause_after_resolve = false;
unsigned m_after_resolve_decide_gap = 4;
unsigned m_after_resolve_decide_count = 0;
@ -84,7 +85,7 @@ namespace smt {
}
void dec_final_check_ls_steps() {
if (m_final_check_ls_steps > m_final_check_ls_steps_min)
m_final_check_ls_steps -= m_final_check_ls_steps_dec;
m_final_check_ls_steps -= m_final_check_ls_steps_delta;
}
bool shared_clauses_are_true() const;