mirror of
https://github.com/Z3Prover/z3
synced 2025-08-24 20:16:00 +00:00
have free variable utility use a class for more efficient re-use
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
73070585b8
commit
c09903288f
39 changed files with 300 additions and 303 deletions
|
@ -516,13 +516,15 @@ namespace datalog {
|
|||
rule_set& old_rules = m_ctx.get_rules();
|
||||
rm.mk_query(query, old_rules);
|
||||
rule_set new_rules(m_ctx);
|
||||
IF_VERBOSE(10, verbose_stream() << "(ddnf.preprocess)\n";);
|
||||
if (!pre_process_rules(old_rules)) {
|
||||
return l_undef;
|
||||
}
|
||||
IF_VERBOSE(10, verbose_stream() << "(ddnf.compile)\n";);
|
||||
if (!compile_rules1(old_rules, new_rules)) {
|
||||
return l_undef;
|
||||
}
|
||||
IF_VERBOSE(2, m_ddnfs.display(verbose_stream()););
|
||||
IF_VERBOSE(15, m_ddnfs.display(verbose_stream()););
|
||||
|
||||
dump_rules(new_rules);
|
||||
return l_undef;
|
||||
|
@ -728,7 +730,7 @@ namespace datalog {
|
|||
}
|
||||
rule* r_new = rm.mk(head, body.size(), body.c_ptr(), 0, r.name(), false);
|
||||
new_rules.add_rule(r_new);
|
||||
IF_VERBOSE(2, r_new->display(m_ctx, verbose_stream()););
|
||||
IF_VERBOSE(20, r_new->display(m_ctx, verbose_stream()););
|
||||
if (old_rules.is_output_predicate(r.get_decl())) {
|
||||
new_rules.set_output_predicate(r_new->get_decl());
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue