mirror of
https://github.com/Z3Prover/z3
synced 2025-05-14 11:14:43 +00:00
fix #2416 exposed bugs: unsat-core extraction in combination with chronological backracking, equivalence elimination in combination with PB constraints
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
8a0d79251e
commit
53aded3198
4 changed files with 14 additions and 19 deletions
|
@ -230,7 +230,8 @@ namespace sat {
|
|||
literal l(v, false);
|
||||
literal r = roots[v];
|
||||
SASSERT(v != r.var());
|
||||
bool root_ok = !m_solver.is_external(v) || m_solver.set_root(l, r);
|
||||
bool set_root = m_solver.set_root(l, r);
|
||||
bool root_ok = !m_solver.is_external(v) || set_root;
|
||||
if (m_solver.is_assumption(v) || (m_solver.is_external(v) && (m_solver.is_incremental() || !root_ok))) {
|
||||
// cannot really eliminate v, since we have to notify extension of future assignments
|
||||
m_solver.mk_bin_clause(~l, r, false);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue