mirror of
https://github.com/Z3Prover/z3
synced 2025-04-24 09:35:32 +00:00
optimize rule processing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
c58b4f9a53
commit
b644fb9875
6 changed files with 55 additions and 38 deletions
|
@ -49,7 +49,6 @@ Revision History:
|
|||
#include"dl_mk_quantifier_abstraction.h"
|
||||
#include"dl_mk_quantifier_instantiation.h"
|
||||
#include"datatype_decl_plugin.h"
|
||||
#include"expr_abstract.h"
|
||||
|
||||
|
||||
namespace datalog {
|
||||
|
@ -227,6 +226,7 @@ namespace datalog {
|
|||
m_var_subst(m),
|
||||
m_rule_manager(*this),
|
||||
m_elim_unused_vars(m),
|
||||
m_abstractor(m),
|
||||
m_transf(*this),
|
||||
m_trail(*this),
|
||||
m_pinned(m),
|
||||
|
@ -307,7 +307,7 @@ namespace datalog {
|
|||
}
|
||||
else {
|
||||
ptr_vector<sort> sorts;
|
||||
expr_abstract(m, 0, vars.size(), reinterpret_cast<expr*const*>(vars.c_ptr()), fml, result);
|
||||
m_abstractor(0, vars.size(), reinterpret_cast<expr*const*>(vars.c_ptr()), fml, result);
|
||||
get_free_vars(result, sorts);
|
||||
if (sorts.empty()) {
|
||||
result = fml;
|
||||
|
|
|
@ -45,6 +45,7 @@ Revision History:
|
|||
#include"model2expr.h"
|
||||
#include"smt_params.h"
|
||||
#include"dl_rule_transformer.h"
|
||||
#include"expr_abstract.h"
|
||||
|
||||
namespace datalog {
|
||||
|
||||
|
@ -85,6 +86,7 @@ namespace datalog {
|
|||
var_subst m_var_subst;
|
||||
rule_manager m_rule_manager;
|
||||
unused_vars_eliminator m_elim_unused_vars;
|
||||
expr_abstractor m_abstractor;
|
||||
rule_transformer m_transf;
|
||||
trail_stack<context> m_trail;
|
||||
ast_ref_vector m_pinned;
|
||||
|
|
|
@ -38,7 +38,6 @@ namespace datalog {
|
|||
rule_manager& rm;
|
||||
params_ref m_params;
|
||||
th_rewriter m_rewriter;
|
||||
ptr_vector<sort> m_vars;
|
||||
mk_interp_tail_simplifier m_simplifier;
|
||||
|
||||
typedef obj_map<app, var*> defs_t;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue