@@ -35,6 +35,16 @@ class euf_side_condition_solver : public euf::side_condition_solver {
3535public:
3636 euf_side_condition_solver (ast_manager& m, params_ref const & p) : m(m), m_params(p), m_deps(m) {}
3737
38+ void push () override {
39+ init_solver ();
40+ m_solver->push ();
41+ }
42+
43+ void pop (unsigned n) override {
44+ SASSERT (m_solver.get ());
45+ m_solver->pop (n);
46+ }
47+
3848 void add_constraint (expr* f, expr_dependency* d) override {
3949 if (!is_ground (f))
4050 return ;
@@ -66,7 +76,7 @@ class euf_side_condition_solver : public euf::side_condition_solver {
6676 }
6777};
6878
69- static euf::completion* mk_completion (ast_manager& m, dependent_expr_state& s, params_ref const & p) {
79+ dependent_expr_simplifier* mk_euf_completion_simplifier (ast_manager& m, dependent_expr_state& s, params_ref const & p) {
7080 auto r = alloc (euf::completion, m, s);
7181 auto scs = alloc (euf_side_condition_solver, m, p);
7282 r->set_solver (scs);
@@ -75,5 +85,5 @@ static euf::completion* mk_completion(ast_manager& m, dependent_expr_state& s, p
7585
7686tactic * mk_euf_completion_tactic (ast_manager& m, params_ref const & p) {
7787 return alloc (dependent_expr_state_tactic, m, p,
78- [](auto & m, auto & p, auto &s) -> dependent_expr_simplifier* { return mk_completion (m, s, p); });
88+ [](auto & m, auto & p, auto &s) -> dependent_expr_simplifier* { return mk_euf_completion_simplifier (m, s, p); });
7989}
0 commit comments