mirror of
https://github.com/Z3Prover/z3
synced 2025-08-22 19:17:53 +00:00
bugfixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
bd93379346
commit
91b9d78cd3
8 changed files with 81 additions and 51 deletions
|
@ -75,7 +75,10 @@ namespace polysat {
|
|||
if (!l.hi().is_one())
|
||||
return false;
|
||||
v = l.var();
|
||||
val = -l.lo().val();
|
||||
if (l.lo().val() == 0)
|
||||
val = 0;
|
||||
else
|
||||
val = l.manager().max_value() + 1 - l.lo().val();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -172,8 +172,10 @@ namespace polysat {
|
|||
s.set_conflict(m_viable.explain(), "viable-conflict");
|
||||
return sat::check_result::CR_CONTINUE;
|
||||
case find_t::singleton: {
|
||||
TRACE("bv", tout << "check-propagate v" << m_var << " := " << m_value << "\n");
|
||||
auto d = s.propagate(m_constraints.eq(var2pdd(m_var), m_value), m_viable.explain(), "viable-propagate");
|
||||
auto p = var2pdd(m_var).mk_var(m_var);
|
||||
auto sc = m_constraints.eq(p, m_value);
|
||||
TRACE("bv", tout << "check-propagate v" << m_var << " := " << m_value << " " << sc << "\n");
|
||||
auto d = s.propagate(sc, m_viable.explain(), "viable-propagate");
|
||||
propagate_assignment(m_var, m_value, d);
|
||||
return sat::check_result::CR_CONTINUE;
|
||||
}
|
||||
|
@ -297,8 +299,6 @@ namespace polysat {
|
|||
return;
|
||||
v = w;
|
||||
}
|
||||
if (v != null_var)
|
||||
verbose_stream() << "propagate activation " << v << " " << sc << " " << dep << "\n";
|
||||
if (v != null_var && !m_viable.add_unitary(v, idx.id))
|
||||
s.set_conflict(m_viable.explain(), "viable-conflict");
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue