mirror of
https://github.com/Z3Prover/z3
synced 2025-04-06 17:44:08 +00:00
Merge pull request #1105 from agurfinkel/dl_fixes
Minor bug fixes in datalog processing
This commit is contained in:
commit
42d0d2944c
|
@ -426,7 +426,7 @@ namespace datalog {
|
||||||
new_negs.push_back(false);
|
new_negs.push_back(false);
|
||||||
|
|
||||||
rule * new_rule = m_context.get_rule_manager().mk(new_head, new_tail.size(), new_tail.c_ptr(),
|
rule * new_rule = m_context.get_rule_manager().mk(new_head, new_tail.size(), new_tail.c_ptr(),
|
||||||
new_negs.c_ptr());
|
new_negs.c_ptr(), r->name());
|
||||||
m_result_rules.push_back(new_rule);
|
m_result_rules.push_back(new_rule);
|
||||||
|
|
||||||
//TODO: allow for a rule to have multiple parent objects
|
//TODO: allow for a rule to have multiple parent objects
|
||||||
|
|
|
@ -726,7 +726,7 @@ namespace datalog {
|
||||||
}
|
}
|
||||||
|
|
||||||
rule * new_rule = m_context.get_rule_manager().mk(orig_r->get_head(), tail.size(), tail.c_ptr(),
|
rule * new_rule = m_context.get_rule_manager().mk(orig_r->get_head(), tail.size(), tail.c_ptr(),
|
||||||
negs.c_ptr());
|
negs.c_ptr(), orig_r->name());
|
||||||
|
|
||||||
new_rule->set_accounting_parent_object(m_context, orig_r);
|
new_rule->set_accounting_parent_object(m_context, orig_r);
|
||||||
m_context.get_rule_manager().mk_rule_rewrite_proof(*orig_r, *new_rule);
|
m_context.get_rule_manager().mk_rule_rewrite_proof(*orig_r, *new_rule);
|
||||||
|
|
|
@ -142,7 +142,8 @@ namespace datalog {
|
||||||
m(ctx.get_manager()),
|
m(ctx.get_manager()),
|
||||||
m_ctx(ctx),
|
m_ctx(ctx),
|
||||||
a(m),
|
a(m),
|
||||||
m_refs(m) {
|
m_refs(m),
|
||||||
|
m_mc(NULL){
|
||||||
}
|
}
|
||||||
|
|
||||||
mk_quantifier_abstraction::~mk_quantifier_abstraction() {
|
mk_quantifier_abstraction::~mk_quantifier_abstraction() {
|
||||||
|
|
|
@ -789,7 +789,7 @@ namespace datalog {
|
||||||
tail.push_back(to_app(e));
|
tail.push_back(to_app(e));
|
||||||
}
|
}
|
||||||
|
|
||||||
new_rule = rm.mk(head.get(), tail.size(), tail.c_ptr(), (const bool*) 0);
|
new_rule = rm.mk(head.get(), tail.size(), tail.c_ptr(), (const bool*) 0, r.name());
|
||||||
|
|
||||||
rm.fix_unbound_vars(new_rule, false);
|
rm.fix_unbound_vars(new_rule, false);
|
||||||
|
|
||||||
|
|
|
@ -173,7 +173,7 @@ namespace datalog {
|
||||||
return l_false;
|
return l_false;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
rule_ref new_rule(m_context.get_rule_manager().mk(r, chead), m_context.get_rule_manager());
|
rule_ref new_rule(m_context.get_rule_manager().mk(r, chead, r->name()), m_context.get_rule_manager());
|
||||||
new_rule->set_accounting_parent_object(m_context, r);
|
new_rule->set_accounting_parent_object(m_context, r);
|
||||||
|
|
||||||
m_head_occurrence_ctr.dec(m_rules.get(rule_index)->get_decl());
|
m_head_occurrence_ctr.dec(m_rules.get(rule_index)->get_decl());
|
||||||
|
|
Loading…
Reference in a new issue