3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-03-04 04:30:23 +00:00

fixes to sls

This commit is contained in:
Nikolaj Bjorner 2024-07-27 03:29:54 +02:00
parent 5e62984178
commit fce21981c6
16 changed files with 521 additions and 80 deletions

View file

@ -64,7 +64,10 @@ namespace sls {
propagate_boolean_assignment();
verbose_stream() << "propagate " << unsat().size() << " " << m_new_constraint << "\n";
// display(verbose_stream());
if (m_new_constraint || !unsat().empty())
@ -129,6 +132,16 @@ namespace sls {
for (auto p : m_plugins)
propagated |= p && !m_new_constraint && p->propagate();
}
for (sat::bool_var v = 0; v < s.num_vars(); ++v) {
auto a = atom(v);
if (!a)
continue;
sat::literal lit(v, !is_true(v));
auto p = m_plugins.get(get_fid(a), nullptr);
if (p)
p->repair_literal(lit);
}
}
family_id context::get_fid(expr* e) const {