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:
parent
4d07fa5db3
commit
88a35119b9
12 changed files with 164 additions and 128 deletions
|
@ -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;
|
||||
|
|
|
@ -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_ */
|
||||
|
||||
|
|
|
@ -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>());
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue