mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 00:55:31 +00:00
fix
This commit is contained in:
parent
f2d1ed7b07
commit
417dbf3354
1 changed files with 4 additions and 3 deletions
|
@ -166,13 +166,12 @@ namespace polysat {
|
|||
}
|
||||
|
||||
void slicing::push_scope() {
|
||||
SASSERT(!is_conflict());
|
||||
if (can_propagate())
|
||||
propagate();
|
||||
m_scopes.push_back(m_trail.size());
|
||||
m_egraph.push();
|
||||
m_dep_size_trail.push_back(m_dep_var.size());
|
||||
SASSERT(m_needs_congruence.empty());
|
||||
SASSERT(!m_solver.config().m_slicing_congruence || m_needs_congruence.empty());
|
||||
}
|
||||
|
||||
void slicing::pop_scope(unsigned num_scopes) {
|
||||
|
@ -733,7 +732,9 @@ namespace polysat {
|
|||
}
|
||||
|
||||
bool slicing::can_propagate() const {
|
||||
return !m_needs_congruence.empty() || m_egraph.can_propagate();
|
||||
if (m_solver.config().m_slicing_congruence && !m_needs_congruence.empty())
|
||||
return true;
|
||||
return m_egraph.can_propagate();
|
||||
}
|
||||
|
||||
void slicing::propagate() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue