3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-28 22:18:56 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-04-04 16:36:54 -07:00
parent 7838e99f47
commit 9fbe178de4
2 changed files with 93 additions and 122 deletions

View file

@ -101,11 +101,11 @@ class ufbv_rewriter {
typedef std::pair<expr *, bool> expr_bool_pair;
class plugin {
ast_manager& m_manager;
ast_manager& m;
public:
plugin(ast_manager& m): m_manager(m) { }
void ins_eh(expr* k, expr_bool_pair v) { m_manager.inc_ref(k); m_manager.inc_ref(v.first); }
void del_eh(expr* k, expr_bool_pair v) { m_manager.dec_ref(k); m_manager.dec_ref(v.first); }
plugin(ast_manager& m): m(m) { }
void ins_eh(expr* k, expr_bool_pair v) { m.inc_ref(k); m.inc_ref(v.first); }
void del_eh(expr* k, expr_bool_pair v) { m.dec_ref(k); m.dec_ref(v.first); }
static unsigned to_int(expr const * k) { return k->get_id(); }
};
typedef array_map<expr*, expr_bool_pair, plugin> expr_map;
@ -127,7 +127,7 @@ class ufbv_rewriter {
void reset();
ast_manager & m_manager;
ast_manager & m;
substitution m_subst;
cache m_cache;
svector<expr_pair> m_todo;
@ -157,7 +157,7 @@ class ufbv_rewriter {
bool operator()(expr * t, expr * i);
};
ast_manager & m_manager;
ast_manager & m;
match_subst m_match_subst;
bool_rewriter m_bsimp;
fwd_idx_map m_fwd_idx;