mirror of
https://github.com/Z3Prover/z3
synced 2026-03-04 04:30:23 +00:00
fixes to sls
This commit is contained in:
parent
5e62984178
commit
fce21981c6
16 changed files with 521 additions and 80 deletions
|
|
@ -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 {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue