3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-09-03 16:48:06 +00:00

moved obj_equiv_class to ast

This commit is contained in:
Arie Gurfinkel 2017-08-01 14:17:27 -04:00
parent 4d07fa5db3
commit 88a35119b9
12 changed files with 164 additions and 128 deletions

View file

@ -22,11 +22,7 @@ Revision History:
#include "muz/base/dl_context.h"
#include "muz/base/fixedpoint_params.hpp"
#include "muz/transforms/dl_mk_array_eq_rewrite.h"
#include "../spacer/obj_equiv_class.h"
// NSB code review: avoid dependency on spacer inside this directory.
// The python build system will rightfully complain if you include
// "muz/spacer/obj_equiv_class.h".
#include "ast/factor_equivs.h"
namespace datalog {
@ -65,7 +61,7 @@ namespace datalog {
new_tail.push_back(r.get_tail(i));
}
spacer::expr_equiv_class array_eq_classes(m);
expr_equiv_class array_eq_classes(m);
for(unsigned i = nb_predicates; i < tail_size; i++) {
expr* cond = r.get_tail(i);
expr* e1, *e2;

View file

@ -11,16 +11,14 @@ Author:
Julien Braine
Revision History:
Revision History:
--*/
#ifndef DL_MK_ARRAY_EQ_REWRITE_H_
#define DL_MK_ARRAY_EQ_REWRITE_H_
#include "muz/base/dl_rule_transformer.h"
#include "../spacer/obj_equiv_class.h"
namespace datalog {
@ -30,7 +28,7 @@ namespace datalog {
ast_manager& m;
context& m_ctx;
array_util m_a;
//Rule set context
const rule_set* m_src_set;
rule_set* m_dst;
@ -51,4 +49,3 @@ namespace datalog {
};
#endif /* DL_MK_ARRAY_EQ_REWRITE_H_ */

View file

@ -24,7 +24,6 @@ Revision History:
#include "ast/rewriter/expr_safe_replace.h"
#include "ast/expr_abstract.h"
#include "muz/base/fixedpoint_params.hpp"
#include "../spacer/obj_equiv_class.h"
namespace datalog {
@ -244,7 +243,7 @@ namespace datalog {
expr_ref_vector mk_array_instantiation::retrieve_all_selects(expr*array)
{
expr_ref_vector all_selects(m);
for(spacer::expr_equiv_class::iterator it = eq_classes.begin(array);
for(expr_equiv_class::iterator it = eq_classes.begin(array);
it != eq_classes.end(array); ++it)
{
selects.insert_if_not_there(*it, ptr_vector<expr>());

View file

@ -70,8 +70,8 @@ Revision History:
#define DL_MK_ARRAY_INSTANTIATION_H_
#include "ast/factor_equivs.h"
#include "muz/base/dl_rule_transformer.h"
#include "../spacer/obj_equiv_class.h"
namespace datalog {
@ -89,7 +89,7 @@ namespace datalog {
//Rule context
obj_map<expr, ptr_vector<expr> > selects;
spacer::expr_equiv_class eq_classes;
expr_equiv_class eq_classes;
unsigned cnt;//Index for new variables
obj_map<expr, var*> done_selects;
expr_ref_vector ownership;