mirror of
https://github.com/Z3Prover/z3
synced 2025-06-06 22:23:22 +00:00
optimize propagation to only blocked literals
This commit is contained in:
parent
8ff8252e89
commit
1706f77b9e
2 changed files with 4 additions and 1 deletions
|
@ -479,7 +479,7 @@ namespace euf {
|
||||||
return sat::check_result::CR_CONTINUE;
|
return sat::check_result::CR_CONTINUE;
|
||||||
|
|
||||||
if (!init_relevancy())
|
if (!init_relevancy())
|
||||||
give_up = true;
|
give_up = true;
|
||||||
|
|
||||||
unsigned num_nodes = m_egraph.num_nodes();
|
unsigned num_nodes = m_egraph.num_nodes();
|
||||||
auto apply_solver = [&](th_solver* e) {
|
auto apply_solver = [&](th_solver* e) {
|
||||||
|
|
|
@ -215,6 +215,9 @@ namespace smt {
|
||||||
|
|
||||||
void relevancy::propagate_relevant(sat::literal lit) {
|
void relevancy::propagate_relevant(sat::literal lit) {
|
||||||
relevant_eh(lit);
|
relevant_eh(lit);
|
||||||
|
euf::enode* n = ctx.bool_var2enode(lit.var());
|
||||||
|
if (n && !ctx.get_si().is_bool_op(n->get_expr()))
|
||||||
|
return;
|
||||||
for (auto idx : occurs(~lit)) {
|
for (auto idx : occurs(~lit)) {
|
||||||
if (m_roots[idx])
|
if (m_roots[idx])
|
||||||
continue;
|
continue;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue