3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-09-04 00:58:07 +00:00

disable bottom-up COI on rules with negated predicates. Fixes issue #140

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2015-06-23 18:57:16 +02:00
parent 77c8e5b0a0
commit 46ca7e17e0
4 changed files with 10 additions and 0 deletions

View file

@ -36,6 +36,9 @@ namespace datalog {
// -----------------------------------
rule_set * mk_coi_filter::operator()(rule_set const & source) {
if (!m_context.xform_coi()) {
return 0;
}
if (source.empty()) {
return 0;
}
@ -70,6 +73,10 @@ namespace datalog {
e->get_data().m_value = alloc(ptr_vector<rule>);
}
e->get_data().m_value->push_back(r);
if (r->is_neg_tail(i)) {
// don't try COI on rule with negation.
return 0;
}
}
}
}