3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 00:55:31 +00:00
This commit is contained in:
Jakob Rath 2023-08-01 16:03:17 +02:00
parent f2d1ed7b07
commit 417dbf3354

View file

@ -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() {