3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-15 07:15:26 +00:00

remove also cores as arguments to tactics

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2017-11-19 12:18:50 -08:00
parent 4bbece6616
commit 2f218b0bdc
90 changed files with 326 additions and 565 deletions

View file

@ -111,9 +111,7 @@ class add_bounds_tactic : public tactic {
};
void operator()(goal_ref const & g,
goal_ref_buffer & result,
expr_dependency_ref & core) {
core = 0;
goal_ref_buffer & result) {
tactic_report report("add-bounds", *g);
bound_manager bm(m);
expr_fast_mark1 visited;
@ -159,9 +157,8 @@ public:
}
virtual void operator()(goal_ref const & g,
goal_ref_buffer & result,
expr_dependency_ref & core) {
(*m_imp)(g, result, core);
goal_ref_buffer & result) {
(*m_imp)(g, result);
}
virtual void cleanup() {

View file

@ -24,8 +24,7 @@ struct arith_bounds_tactic : public tactic {
virtual void operator()(/* in */ goal_ref const & in,
/* out */ goal_ref_buffer & result,
/* out */ expr_dependency_ref & core) {
/* out */ goal_ref_buffer & result) {
bounds_arith_subsumption(in, result);
}

View file

@ -53,11 +53,10 @@ public:
virtual void operator()(goal_ref const & g,
goal_ref_buffer & result,
expr_dependency_ref & core) {
goal_ref_buffer & result) {
TRACE("card2bv-before", g->display(tout););
SASSERT(g->is_well_sorted());
core = 0; result.reset();
result.reset();
tactic_report report("card2bv", *g);
th_rewriter rw1(m, m_params);
pb2bv_rewriter rw2(m, m_params);

View file

@ -223,10 +223,8 @@ class degree_shift_tactic : public tactic {
}
void operator()(goal_ref const & g,
goal_ref_buffer & result,
expr_dependency_ref & core) {
goal_ref_buffer & result) {
SASSERT(g->is_well_sorted());
core = 0;
m_produce_proofs = g->proofs_enabled();
m_produce_models = g->models_enabled();
tactic_report report("degree_shift", *g);
@ -291,9 +289,8 @@ public:
}
virtual void operator()(goal_ref const & in,
goal_ref_buffer & result,
expr_dependency_ref & core) {
(*m_imp)(in, result, core);
goal_ref_buffer & result) {
(*m_imp)(in, result);
}
virtual void cleanup() {

View file

@ -313,11 +313,10 @@ class diff_neq_tactic : public tactic {
}
void operator()(goal_ref const & g,
goal_ref_buffer & result,
expr_dependency_ref & core) {
goal_ref_buffer & result) {
SASSERT(g->is_well_sorted());
m_produce_models = g->models_enabled();
core = 0; result.reset();
result.reset();
tactic_report report("diff-neq", *g);
fail_if_proof_generation("diff-neq", g);
fail_if_unsat_core_generation("diff-neq", g);
@ -383,9 +382,8 @@ public:
If s is not really in the difference logic fragment, then this is a NOOP.
*/
virtual void operator()(goal_ref const & in,
goal_ref_buffer & result,
expr_dependency_ref & core) {
(*m_imp)(in, result, core);
goal_ref_buffer & result) {
(*m_imp)(in, result);
}
virtual void cleanup() {

View file

@ -152,10 +152,8 @@ public:
virtual void operator()(goal_ref const & g,
goal_ref_buffer & result,
expr_dependency_ref & core) {
goal_ref_buffer & result) {
SASSERT(g->is_well_sorted());
core = 0;
tactic_report report("elim01", *g);

View file

@ -149,12 +149,8 @@ public:
void updt_params(params_ref const & p) {
}
virtual void operator()(
goal_ref const & g,
goal_ref_buffer & result,
expr_dependency_ref & core) {
virtual void operator()(goal_ref const & g, goal_ref_buffer & result) {
SASSERT(g->is_well_sorted());
core = 0;
m_trail.reset();
m_fd.reset();
m_max.reset();

View file

@ -257,10 +257,8 @@ class factor_tactic : public tactic {
}
void operator()(goal_ref const & g,
goal_ref_buffer & result,
expr_dependency_ref & core) {
goal_ref_buffer & result) {
SASSERT(g->is_well_sorted());
core = 0;
tactic_report report("factor", *g);
bool produce_proofs = g->proofs_enabled();
@ -311,10 +309,9 @@ public:
}
virtual void operator()(goal_ref const & in,
goal_ref_buffer & result,
expr_dependency_ref & core) {
goal_ref_buffer & result) {
try {
(*m_imp)(in, result, core);
(*m_imp)(in, result);
}
catch (z3_error & ex) {
throw ex;

View file

@ -249,10 +249,8 @@ class fix_dl_var_tactic : public tactic {
}
void operator()(goal_ref const & g,
goal_ref_buffer & result,
expr_dependency_ref & core) {
goal_ref_buffer & result) {
SASSERT(g->is_well_sorted());
core = 0;
tactic_report report("fix-dl-var", *g);
bool produce_proofs = g->proofs_enabled();
m_produce_models = g->models_enabled();
@ -319,10 +317,9 @@ public:
}
virtual void operator()(goal_ref const & in,
goal_ref_buffer & result,
expr_dependency_ref & core) {
goal_ref_buffer & result) {
try {
(*m_imp)(in, result, core);
(*m_imp)(in, result);
}
catch (rewriter_exception & ex) {
throw tactic_exception(ex.msg());

View file

@ -1550,10 +1550,8 @@ class fm_tactic : public tactic {
}
void operator()(goal_ref const & g,
goal_ref_buffer & result,
expr_dependency_ref & core) {
goal_ref_buffer & result) {
SASSERT(g->is_well_sorted());
core = 0;
tactic_report report("fm", *g);
fail_if_proof_generation("fm", g);
m_produce_models = g->models_enabled();
@ -1673,9 +1671,8 @@ public:
}
virtual void operator()(goal_ref const & in,
goal_ref_buffer & result,
expr_dependency_ref & core) {
(*m_imp)(in, result, core);
goal_ref_buffer & result) {
(*m_imp)(in, result);
}
};

View file

@ -159,10 +159,8 @@ public:
}
virtual void operator()(goal_ref const & g,
goal_ref_buffer & result,
expr_dependency_ref & core) {
goal_ref_buffer & result) {
SASSERT(g->is_well_sorted());
core = 0;
m_01s->reset();
tactic_report report("cardinality-intro", *g);

View file

@ -188,13 +188,12 @@ class lia2pb_tactic : public tactic {
}
void operator()(goal_ref const & g,
goal_ref_buffer & result,
expr_dependency_ref & core) {
goal_ref_buffer & result) {
SASSERT(g->is_well_sorted());
fail_if_proof_generation("lia2pb", g);
m_produce_models = g->models_enabled();
m_produce_unsat_cores = g->unsat_core_enabled();
core = 0; result.reset();
result.reset();
tactic_report report("lia2pb", *g);
m_bm.reset(); m_rw.reset(); m_new_deps.reset();
@ -328,10 +327,9 @@ public:
}
virtual void operator()(goal_ref const & in,
goal_ref_buffer & result,
expr_dependency_ref & core) {
goal_ref_buffer & result) {
try {
(*m_imp)(in, result, core);
(*m_imp)(in, result);
}
catch (rewriter_exception & ex) {
throw tactic_exception(ex.msg());

View file

@ -440,12 +440,11 @@ public:
\return false if transformation is not possible.
*/
virtual void operator()(goal_ref const & g,
goal_ref_buffer & result,
expr_dependency_ref & core) {
goal_ref_buffer & result) {
SASSERT(g->is_well_sorted());
fail_if_proof_generation("nla2bv", g);
fail_if_unsat_core_generation("nla2bv", g);
core = 0; result.reset();
result.reset();
imp proc(g->m(), m_params);
scoped_set_imp setter(*this, proc);

View file

@ -79,10 +79,7 @@ class normalize_bounds_tactic : public tactic {
return false;
}
void operator()(goal_ref const & in,
goal_ref_buffer & result,
expr_dependency_ref & core) {
core = 0;
void operator()(goal_ref const & in, goal_ref_buffer & result) {
bool produce_models = in->models_enabled();
bool produce_proofs = in->proofs_enabled();
tactic_report report("normalize-bounds", *in);
@ -166,10 +163,9 @@ public:
}
virtual void operator()(goal_ref const & in,
goal_ref_buffer & result,
expr_dependency_ref & core) {
goal_ref_buffer & result) {
try {
(*m_imp)(in, result, core);
(*m_imp)(in, result);
}
catch (rewriter_exception & ex) {
throw tactic_exception(ex.msg());

View file

@ -886,14 +886,13 @@ private:
}
void operator()(goal_ref const & g,
goal_ref_buffer & result,
expr_dependency_ref & core) {
goal_ref_buffer & result) {
TRACE("pb2bv", g->display(tout););
SASSERT(g->is_well_sorted());
fail_if_proof_generation("pb2bv", g);
m_produce_models = g->models_enabled();
m_produce_unsat_cores = g->unsat_core_enabled();
core = 0; result.reset();
result.reset();
tactic_report report("pb2bv", *g);
m_bm.reset(); m_rw.reset(); m_new_deps.reset();
@ -999,9 +998,8 @@ public:
}
virtual void operator()(goal_ref const & in,
goal_ref_buffer & result,
expr_dependency_ref & core) {
(*m_imp)(in, result, core);
goal_ref_buffer & result) {
(*m_imp)(in, result);
}
virtual void cleanup() {

View file

@ -52,7 +52,7 @@ public:
virtual void updt_params(params_ref const & p);
virtual void collect_param_descrs(param_descrs & r) {}
virtual void operator()(goal_ref const & g, goal_ref_buffer & result, expr_dependency_ref & core);
virtual void operator()(goal_ref const & g, goal_ref_buffer & result);
virtual void cleanup();
};
@ -527,12 +527,11 @@ void propagate_ineqs_tactic::updt_params(params_ref const & p) {
}
void propagate_ineqs_tactic::operator()(goal_ref const & g,
goal_ref_buffer & result,
expr_dependency_ref & core) {
goal_ref_buffer & result) {
SASSERT(g->is_well_sorted());
fail_if_proof_generation("propagate-ineqs", g);
fail_if_unsat_core_generation("propagate-ineqs", g);
core = 0; result.reset();
result.reset();
goal_ref r;
(*m_imp)(g.get(), r);
result.push_back(r.get());

View file

@ -821,11 +821,9 @@ public:
}
virtual void operator()(goal_ref const & g,
goal_ref_buffer & result,
expr_dependency_ref & core) {
goal_ref_buffer & result) {
try {
SASSERT(g->is_well_sorted());
core = 0;
tactic_report report("purify-arith", *g);
TRACE("purify_arith", g->display(tout););
bool produce_proofs = g->proofs_enabled();

View file

@ -292,13 +292,12 @@ class recover_01_tactic : public tactic {
}
void operator()(goal_ref const & g,
goal_ref_buffer & result,
expr_dependency_ref & core) {
goal_ref_buffer & result) {
SASSERT(g->is_well_sorted());
fail_if_proof_generation("recover-01", g);
fail_if_unsat_core_generation("recover-01", g);
m_produce_models = g->models_enabled();
core = 0; result.reset();
result.reset();
tactic_report report("recover-01", *g);
bool saved = false;
@ -401,10 +400,9 @@ public:
}
void operator()(goal_ref const & g,
goal_ref_buffer & result,
expr_dependency_ref & core) {
goal_ref_buffer & result) {
try {
(*m_imp)(g, result, core);
(*m_imp)(g, result);
}
catch (rewriter_exception & ex) {
throw tactic_exception(ex.msg());