mirror of
https://github.com/Z3Prover/z3
synced 2025-07-23 20:58:54 +00:00
move propagation to after binary clause addition
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
96b717f494
commit
51d62684e1
1 changed files with 2 additions and 3 deletions
|
@ -416,6 +416,7 @@ namespace sat {
|
||||||
case 2:
|
case 2:
|
||||||
SASSERT(s.value(c[0]) == l_undef && s.value(c[1]) == l_undef);
|
SASSERT(s.value(c[0]) == l_undef && s.value(c[1]) == l_undef);
|
||||||
s.mk_bin_clause(c[0], c[1], c.is_learned());
|
s.mk_bin_clause(c[0], c[1], c.is_learned());
|
||||||
|
if (s.m_trail.size() > s.m_qhead) s.propagate_core(false);
|
||||||
scoped_d.del_clause();
|
scoped_d.del_clause();
|
||||||
return false;
|
return false;
|
||||||
default:
|
default:
|
||||||
|
@ -459,9 +460,7 @@ namespace sat {
|
||||||
|
|
||||||
// try asymmetric branching
|
// try asymmetric branching
|
||||||
// clause must not be used for propagation
|
// clause must not be used for propagation
|
||||||
s.propagate(false);
|
|
||||||
if (s.inconsistent())
|
|
||||||
return true;
|
|
||||||
scoped_detach scoped_d(s, c);
|
scoped_detach scoped_d(s, c);
|
||||||
unsigned new_sz = c.size();
|
unsigned new_sz = c.size();
|
||||||
unsigned flip_position = m_rand(c.size());
|
unsigned flip_position = m_rand(c.size());
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue