3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-02 21:37:02 +00:00

switch to solve_eqs2 tactic

This commit is contained in:
Nikolaj Bjorner 2022-11-08 12:23:36 -08:00
parent f769e2f1f6
commit 3a37cfca30
24 changed files with 149 additions and 52 deletions

View file

@ -29,13 +29,19 @@ public:
}
};
inline tactic * mk_solve_eqs2_tactic(ast_manager& m, params_ref const& p) {
return alloc(dependent_expr_state_tactic, m, p, alloc(solve_eqs2_tactic_factory), "solve-eqs2");
inline tactic * mk_solve_eqs2_tactic(ast_manager& m, params_ref const& p = params_ref()) {
return alloc(dependent_expr_state_tactic, m, p, alloc(solve_eqs2_tactic_factory), "solve-eqs");
}
#if 1
inline tactic * mk_solve_eqs_tactic(ast_manager & m, params_ref const & p = params_ref()) {
return mk_solve_eqs2_tactic(m, p);
}
#endif
/*
ADD_TACTIC("solve-eqs2", "solve for variables.", "mk_solve_eqs2_tactic(m, p)")
ADD_TACTIC("solve-eqs", "solve for variables.", "mk_solve_eqs2_tactic(m, p)")
*/

View file

@ -997,6 +997,8 @@ class solve_eqs_tactic : public tactic {
//
void operator()(goal_ref const & g, goal_ref_buffer & result) {
model_converter_ref mc;
std::function<void(statistics&)> coll = [&](statistics& st) { collect_statistics(st); };
statistics_report sreport(coll);
tactic_report report("solve_eqs", *g);
TRACE("goal", g->display(tout););
m_produce_models = g->models_enabled();
@ -1042,7 +1044,6 @@ class solve_eqs_tactic : public tactic {
result.push_back(g.get());
IF_VERBOSE(10, statistics st; collect_statistics(st); st.display_smt2(verbose_stream()));
}
};
@ -1103,6 +1104,6 @@ public:
};
tactic * mk_solve_eqs_tactic(ast_manager & m, params_ref const & p) {
tactic * mk_solve_eqs1_tactic(ast_manager & m, params_ref const & p) {
return clean(alloc(solve_eqs_tactic, m, p, mk_expr_simp_replacer(m, p), true));
}

View file

@ -22,10 +22,16 @@ Revision History:
class ast_manager;
class tactic;
tactic * mk_solve_eqs_tactic(ast_manager & m, params_ref const & p = params_ref());
tactic * mk_solve_eqs1_tactic(ast_manager & m, params_ref const & p = params_ref());
#if 0
inline tactic * mk_solve_eqs_tactic(ast_manager & m, params_ref const & p = params_ref()) {
return mk_solve_eqs1_tactic(m, p);
}
#endif
/*
ADD_TACTIC("solve-eqs", "eliminate variables by solving equations.", "mk_solve_eqs_tactic(m, p)")
ADD_TACTIC("solve-eqs1", "eliminate variables by solving equations.", "mk_solve_eqs1_tactic(m, p)")
*/