3
0
Fork 0
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:
Nikolaj Bjorner 2013-04-26 12:02:19 -07:00
parent c58b4f9a53
commit b644fb9875
6 changed files with 55 additions and 38 deletions

View file

@ -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;

View file

@ -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;

View file

@ -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;