mirror of
https://github.com/Z3Prover/z3
synced 2025-09-05 09:37:44 +00:00
removed front-end-params
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
This commit is contained in:
parent
288a96610f
commit
ffb7e26c75
91 changed files with 264 additions and 412 deletions
|
@ -32,7 +32,7 @@ namespace datalog {
|
|||
class bmc {
|
||||
context& m_ctx;
|
||||
ast_manager& m;
|
||||
front_end_params m_fparams;
|
||||
smt_params m_fparams;
|
||||
smt::kernel m_solver;
|
||||
obj_map<func_decl, sort*> m_pred2sort;
|
||||
obj_map<sort, func_decl*> m_sort2pred;
|
||||
|
|
|
@ -33,8 +33,8 @@ Notes:
|
|||
|
||||
|
||||
class dl_context {
|
||||
// PARAM-TODO temp HACK: added m_params field because cmd_context does not have front_end_params anymore
|
||||
front_end_params m_params;
|
||||
// PARAM-TODO temp HACK: added m_params field because cmd_context does not have smt_params anymore
|
||||
smt_params m_params;
|
||||
cmd_context & m_cmd;
|
||||
dl_collected_cmds* m_collected_cmds;
|
||||
unsigned m_ref_count;
|
||||
|
|
|
@ -226,7 +226,7 @@ namespace datalog {
|
|||
//
|
||||
// -----------------------------------
|
||||
|
||||
context::context(ast_manager & m, front_end_params& fp, params_ref const& pa):
|
||||
context::context(ast_manager & m, smt_params& fp, params_ref const& pa):
|
||||
m(m),
|
||||
m_fparams(fp),
|
||||
m_params(pa),
|
||||
|
|
|
@ -24,7 +24,7 @@ Revision History:
|
|||
#undef max
|
||||
#endif
|
||||
#include"arith_decl_plugin.h"
|
||||
#include"front_end_params.h"
|
||||
#include"smt_params.h"
|
||||
#include"map.h"
|
||||
#include"th_rewriter.h"
|
||||
#include"str_hashtable.h"
|
||||
|
@ -78,7 +78,7 @@ namespace datalog {
|
|||
typedef vector<std::pair<func_decl*,relation_fact> > fact_vector;
|
||||
|
||||
ast_manager & m;
|
||||
front_end_params& m_fparams;
|
||||
smt_params& m_fparams;
|
||||
params_ref m_params;
|
||||
dl_decl_util m_decl_util;
|
||||
th_rewriter m_rewriter;
|
||||
|
@ -122,7 +122,7 @@ namespace datalog {
|
|||
|
||||
|
||||
public:
|
||||
context(ast_manager & m, front_end_params& params, params_ref const& p = params_ref());
|
||||
context(ast_manager & m, smt_params& params, params_ref const& p = params_ref());
|
||||
~context();
|
||||
void reset();
|
||||
|
||||
|
@ -149,7 +149,7 @@ namespace datalog {
|
|||
relation_manager & get_rmanager() { return m_rmanager; }
|
||||
const relation_manager & get_rmanager() const { return m_rmanager; }
|
||||
rule_manager & get_rule_manager() { return m_rule_manager; }
|
||||
front_end_params & get_fparams() const { return m_fparams; }
|
||||
smt_params & get_fparams() const { return m_fparams; }
|
||||
params_ref const& get_params() const { return m_params; }
|
||||
DL_ENGINE get_engine() { configure_engine(); return m_engine; }
|
||||
th_rewriter& get_rewriter() { return m_rewriter; }
|
||||
|
|
|
@ -129,7 +129,7 @@ namespace datalog {
|
|||
}
|
||||
IF_VERBOSE(10, verbose_stream() << "Checking emptiness...\n"; );
|
||||
|
||||
front_end_params& params = get_plugin().get_fparams();
|
||||
smt_params& params = get_plugin().get_fparams();
|
||||
// [Leo]: asserted_formulas do not have support for der.
|
||||
// We should use the tactics der.
|
||||
// flet<bool> flet2(params.m_der, true);
|
||||
|
@ -182,7 +182,7 @@ namespace datalog {
|
|||
expr_ref fml_free(m), fml_inst(m);
|
||||
fml_free = m.mk_and(facts, m.mk_not(get_relation()));
|
||||
instantiate(fml_free, fml_inst);
|
||||
front_end_params& params = get_plugin().get_fparams();
|
||||
smt_params& params = get_plugin().get_fparams();
|
||||
// [Leo]: asserted_formulas do not have support for qe nor der.
|
||||
// We should use the tactics qe and der.
|
||||
// BTW, qe at asserted_formulas was disabled when we moved to codeplex, but the field m_quant_elim was not deleted.
|
||||
|
@ -239,7 +239,7 @@ namespace datalog {
|
|||
|
||||
void smt_relation::display_finite(std::ostream & out) const {
|
||||
ast_manager& m = get_manager();
|
||||
front_end_params& params = get_plugin().get_fparams();
|
||||
smt_params& params = get_plugin().get_fparams();
|
||||
expr* r = get_relation();
|
||||
expr_ref tmp(m);
|
||||
expr_ref_vector values(m), eqs(m);
|
||||
|
@ -524,7 +524,7 @@ namespace datalog {
|
|||
|
||||
expr_ref rInst(m), srcInst(m), tmp(m), tmp1(m);
|
||||
expr_ref notR(m), srcGround(m);
|
||||
front_end_params& fparams = get(r).get_plugin().get_fparams();
|
||||
smt_params& fparams = get(r).get_plugin().get_fparams();
|
||||
params_ref const& params = get(r).get_plugin().get_params();
|
||||
|
||||
get(r).instantiate(get(r).get_relation(), rInst);
|
||||
|
@ -730,8 +730,8 @@ namespace datalog {
|
|||
return symbol(m_counter++);
|
||||
}
|
||||
|
||||
front_end_params& smt_relation_plugin::get_fparams() {
|
||||
return const_cast<front_end_params&>(get_manager().get_context().get_fparams());
|
||||
smt_params& smt_relation_plugin::get_fparams() {
|
||||
return const_cast<smt_params&>(get_manager().get_context().get_fparams());
|
||||
}
|
||||
|
||||
params_ref const& smt_relation_plugin::get_params() {
|
||||
|
|
|
@ -20,7 +20,7 @@ Revision History:
|
|||
#define _DL_SMT_RELATION_H_
|
||||
|
||||
#include "dl_base.h"
|
||||
#include "front_end_params.h"
|
||||
#include "smt_params.h"
|
||||
#include "params.h"
|
||||
|
||||
namespace datalog {
|
||||
|
@ -70,7 +70,7 @@ namespace datalog {
|
|||
|
||||
symbol fresh_name();
|
||||
|
||||
front_end_params& get_fparams();
|
||||
smt_params& get_fparams();
|
||||
|
||||
params_ref const& get_params();
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ class horn_tactic : public tactic {
|
|||
struct imp {
|
||||
ast_manager& m;
|
||||
datalog::context m_ctx;
|
||||
front_end_params m_fparams;
|
||||
smt_params m_fparams;
|
||||
|
||||
imp(ast_manager & m, params_ref const & p):
|
||||
m(m),
|
||||
|
|
|
@ -72,7 +72,7 @@ namespace nlarith {
|
|||
bool m_enable_linear;
|
||||
app_ref m_zero;
|
||||
app_ref m_one;
|
||||
front_end_params m_params;
|
||||
smt_params m_params;
|
||||
basic_simplifier_plugin m_bs;
|
||||
arith_simplifier_plugin m_rw;
|
||||
arith_rewriter m_rw1;
|
||||
|
|
|
@ -1087,7 +1087,7 @@ namespace pdr {
|
|||
// context
|
||||
|
||||
context::context(
|
||||
front_end_params& fparams,
|
||||
smt_params& fparams,
|
||||
params_ref const& params,
|
||||
ast_manager& m
|
||||
)
|
||||
|
|
|
@ -285,7 +285,7 @@ namespace pdr {
|
|||
void reset() { memset(this, 0, sizeof(*this)); }
|
||||
};
|
||||
|
||||
front_end_params& m_fparams;
|
||||
smt_params& m_fparams;
|
||||
params_ref const& m_params;
|
||||
ast_manager& m;
|
||||
datalog::context* m_context;
|
||||
|
@ -343,13 +343,13 @@ namespace pdr {
|
|||
We check whether there is some reachable state of the relation checked_relation.
|
||||
*/
|
||||
context(
|
||||
front_end_params& fparams,
|
||||
smt_params& fparams,
|
||||
params_ref const& params,
|
||||
ast_manager& m);
|
||||
|
||||
~context();
|
||||
|
||||
front_end_params& get_fparams() const { return m_fparams; }
|
||||
smt_params& get_fparams() const { return m_fparams; }
|
||||
params_ref const& get_params() const { return m_params; }
|
||||
ast_manager& get_manager() const { return m; }
|
||||
manager& get_pdr_manager() { return m_pm; }
|
||||
|
|
|
@ -244,7 +244,7 @@ namespace pdr {
|
|||
}
|
||||
};
|
||||
|
||||
farkas_learner::farkas_learner(front_end_params& params, ast_manager& outer_mgr)
|
||||
farkas_learner::farkas_learner(smt_params& params, ast_manager& outer_mgr)
|
||||
: m_proof_params(get_proof_params(params)),
|
||||
m_pr(PROOF_MODE),
|
||||
p2o(m_pr, outer_mgr),
|
||||
|
@ -254,8 +254,8 @@ namespace pdr {
|
|||
m_ctx = alloc(smt::kernel, m_pr, m_proof_params);
|
||||
}
|
||||
|
||||
front_end_params farkas_learner::get_proof_params(front_end_params& orig_params) {
|
||||
front_end_params res(orig_params);
|
||||
smt_params farkas_learner::get_proof_params(smt_params& orig_params) {
|
||||
smt_params res(orig_params);
|
||||
res.m_proof_mode = PROOF_MODE;
|
||||
res.m_arith_bound_prop = BP_NONE;
|
||||
// temp hack to fix the build
|
||||
|
@ -796,7 +796,7 @@ namespace pdr {
|
|||
|
||||
|
||||
void farkas_learner::test() {
|
||||
front_end_params params;
|
||||
smt_params params;
|
||||
enable_trace("farkas_learner");
|
||||
|
||||
bool res;
|
||||
|
@ -883,7 +883,7 @@ namespace pdr {
|
|||
end = p->get_benchmark()->end_formulas();
|
||||
B = m.mk_and(static_cast<unsigned>(end-it), it);
|
||||
|
||||
front_end_params params;
|
||||
smt_params params;
|
||||
pdr::farkas_learner fl(params, m);
|
||||
expr_ref_vector lemmas(m);
|
||||
bool res = fl.get_lemma_guesses(A, B, lemmas);
|
||||
|
|
|
@ -26,7 +26,7 @@ Revision History:
|
|||
#include "smt_kernel.h"
|
||||
#include "bool_rewriter.h"
|
||||
#include "pdr_util.h"
|
||||
#include "front_end_params.h"
|
||||
#include "smt_params.h"
|
||||
#include "tactic.h"
|
||||
|
||||
namespace pdr {
|
||||
|
@ -39,12 +39,12 @@ class farkas_learner {
|
|||
|
||||
typedef obj_hashtable<expr> expr_set;
|
||||
|
||||
front_end_params m_proof_params;
|
||||
smt_params m_proof_params;
|
||||
ast_manager m_pr;
|
||||
scoped_ptr<smt::kernel> m_ctx;
|
||||
|
||||
|
||||
static front_end_params get_proof_params(front_end_params& orig_params);
|
||||
static smt_params get_proof_params(smt_params& orig_params);
|
||||
|
||||
//
|
||||
// all ast objects passed to private functions have m_proof_mgs as their ast_manager
|
||||
|
@ -72,7 +72,7 @@ class farkas_learner {
|
|||
static void test();
|
||||
|
||||
public:
|
||||
farkas_learner(front_end_params& params, ast_manager& m);
|
||||
farkas_learner(smt_params& params, ast_manager& m);
|
||||
|
||||
/**
|
||||
All ast objects have the ast_manager which was passed as
|
||||
|
|
|
@ -103,7 +103,7 @@ namespace pdr {
|
|||
// weaken predecessor.
|
||||
//
|
||||
|
||||
core_farkas_generalizer::core_farkas_generalizer(context& ctx, ast_manager& m, front_end_params& p):
|
||||
core_farkas_generalizer::core_farkas_generalizer(context& ctx, ast_manager& m, smt_params& p):
|
||||
core_generalizer(ctx),
|
||||
m_farkas_learner(p, m)
|
||||
{}
|
||||
|
|
|
@ -36,7 +36,7 @@ namespace pdr {
|
|||
class core_farkas_generalizer : public core_generalizer {
|
||||
farkas_learner m_farkas_learner;
|
||||
public:
|
||||
core_farkas_generalizer(context& ctx, ast_manager& m, front_end_params& p);
|
||||
core_farkas_generalizer(context& ctx, ast_manager& m, smt_params& p);
|
||||
virtual ~core_farkas_generalizer() {}
|
||||
virtual void operator()(model_node& n, expr_ref_vector& core, bool& uses_level);
|
||||
virtual void collect_statistics(statistics& st) const;
|
||||
|
|
|
@ -306,7 +306,7 @@ lbool interpolant_provider_impl::get_interpolant(expr * f1, expr * f2, expr_ref&
|
|||
return l_undef;
|
||||
}
|
||||
|
||||
front_end_params dummy_params;
|
||||
smt_params dummy_params;
|
||||
cmd_context cctx(&dummy_params, false, &m);
|
||||
for_each_expr(used_symbol_inserter(cctx), f1);
|
||||
|
||||
|
|
|
@ -166,7 +166,7 @@ namespace pdr {
|
|||
return res;
|
||||
}
|
||||
|
||||
manager::manager(front_end_params& fparams, params_ref const& params, ast_manager& manager) :
|
||||
manager::manager(smt_params& fparams, params_ref const& params, ast_manager& manager) :
|
||||
m(manager),
|
||||
m_fparams(fparams),
|
||||
m_params(params),
|
||||
|
|
|
@ -78,7 +78,7 @@ namespace pdr {
|
|||
class manager
|
||||
{
|
||||
ast_manager& m;
|
||||
front_end_params& m_fparams;
|
||||
smt_params& m_fparams;
|
||||
params_ref const& m_params;
|
||||
|
||||
mutable bool_rewriter m_brwr;
|
||||
|
@ -110,11 +110,11 @@ namespace pdr {
|
|||
void add_new_state(func_decl * s);
|
||||
|
||||
public:
|
||||
manager(front_end_params& fparams, params_ref const& params,
|
||||
manager(smt_params& fparams, params_ref const& params,
|
||||
ast_manager & manager);
|
||||
|
||||
ast_manager& get_manager() const { return m; }
|
||||
front_end_params& get_fparams() const { return m_fparams; }
|
||||
smt_params& get_fparams() const { return m_fparams; }
|
||||
params_ref const& get_params() const { return m_params; }
|
||||
bool_rewriter& get_brwr() const { return m_brwr; }
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ Revision History:
|
|||
#include "ast_smt2_pp.h"
|
||||
#include "dl_util.h"
|
||||
#include "model_pp.h"
|
||||
#include "front_end_params.h"
|
||||
#include "smt_params.h"
|
||||
#include "datatype_decl_plugin.h"
|
||||
#include "bv_decl_plugin.h"
|
||||
#include "pdr_farkas_learner.h"
|
||||
|
|
|
@ -35,7 +35,7 @@ namespace pdr {
|
|||
class prop_solver {
|
||||
|
||||
private:
|
||||
front_end_params& m_fparams;
|
||||
smt_params& m_fparams;
|
||||
ast_manager& m;
|
||||
manager& m_pm;
|
||||
symbol m_name;
|
||||
|
|
|
@ -206,7 +206,7 @@ namespace pdr {
|
|||
datalog::scoped_fine_proof _scp(m);
|
||||
|
||||
expr_ref_vector fmls(m);
|
||||
front_end_params fparams;
|
||||
smt_params fparams;
|
||||
fparams.m_proof_mode = PGM_FINE;
|
||||
fparams.m_mbqi = true;
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ Revision History:
|
|||
#include "has_free_vars.h"
|
||||
#include "ast_pp.h"
|
||||
#include <sstream>
|
||||
#include "front_end_params.h"
|
||||
#include "smt_params.h"
|
||||
|
||||
namespace pdr {
|
||||
|
||||
|
@ -93,7 +93,7 @@ namespace pdr {
|
|||
return m_context.get_proof();
|
||||
}
|
||||
|
||||
smt_context_manager::smt_context_manager(front_end_params& fp, params_ref const& p, ast_manager& m):
|
||||
smt_context_manager::smt_context_manager(smt_params& fp, params_ref const& p, ast_manager& m):
|
||||
m_fparams(fp),
|
||||
m(m),
|
||||
m_max_num_contexts(p.get_uint("max_num_contexts", 500)),
|
||||
|
|
|
@ -88,7 +88,7 @@ namespace pdr {
|
|||
};
|
||||
|
||||
class smt_context_manager {
|
||||
front_end_params& m_fparams;
|
||||
smt_params& m_fparams;
|
||||
ast_manager& m;
|
||||
unsigned m_max_num_contexts;
|
||||
ptr_vector<smt::kernel> m_contexts;
|
||||
|
@ -96,7 +96,7 @@ namespace pdr {
|
|||
app_ref_vector m_predicate_list;
|
||||
func_decl_set m_predicate_set;
|
||||
public:
|
||||
smt_context_manager(front_end_params& fp, params_ref const& p, ast_manager& m);
|
||||
smt_context_manager(smt_params& fp, params_ref const& p, ast_manager& m);
|
||||
~smt_context_manager();
|
||||
smt_context* mk_fresh();
|
||||
void collect_statistics(statistics& st) const;
|
||||
|
|
|
@ -30,7 +30,7 @@ Notes:
|
|||
#include "bool_rewriter.h"
|
||||
#include "dl_util.h"
|
||||
#include "for_each_expr.h"
|
||||
#include "front_end_params.h"
|
||||
#include "smt_params.h"
|
||||
#include "model.h"
|
||||
#include "model_v2_pp.h"
|
||||
#include "ref_vector.h"
|
||||
|
|
|
@ -1319,7 +1319,7 @@ namespace qe {
|
|||
|
||||
public:
|
||||
|
||||
quant_elim_plugin(ast_manager& m, quant_elim& qe, front_end_params& p):
|
||||
quant_elim_plugin(ast_manager& m, quant_elim& qe, smt_params& p):
|
||||
m(m),
|
||||
m_qe(qe),
|
||||
m_rewriter(m),
|
||||
|
@ -1959,7 +1959,7 @@ namespace qe {
|
|||
|
||||
class quant_elim_new : public quant_elim {
|
||||
ast_manager& m;
|
||||
front_end_params& m_fparams;
|
||||
smt_params& m_fparams;
|
||||
expr_ref m_assumption;
|
||||
bool m_produce_models;
|
||||
ptr_vector<quant_elim_plugin> m_plugins;
|
||||
|
@ -1968,7 +1968,7 @@ namespace qe {
|
|||
bool m_eliminate_variables_as_block;
|
||||
|
||||
public:
|
||||
quant_elim_new(ast_manager& m, front_end_params& p) :
|
||||
quant_elim_new(ast_manager& m, smt_params& p) :
|
||||
m(m),
|
||||
m_fparams(p),
|
||||
m_assumption(m),
|
||||
|
@ -2165,7 +2165,7 @@ namespace qe {
|
|||
// ------------------------------------------------
|
||||
// expr_quant_elim
|
||||
|
||||
expr_quant_elim::expr_quant_elim(ast_manager& m, front_end_params const& fp, params_ref const& p):
|
||||
expr_quant_elim::expr_quant_elim(ast_manager& m, smt_params const& fp, params_ref const& p):
|
||||
m(m),
|
||||
m_fparams(fp),
|
||||
m_params(p),
|
||||
|
@ -2212,7 +2212,7 @@ namespace qe {
|
|||
|
||||
void expr_quant_elim::init_qe() {
|
||||
if (!m_qe) {
|
||||
m_qe = alloc(quant_elim_new, m, const_cast<front_end_params&>(m_fparams));
|
||||
m_qe = alloc(quant_elim_new, m, const_cast<smt_params&>(m_fparams));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2399,7 +2399,7 @@ namespace qe {
|
|||
cache_result(q, r, pr);
|
||||
}
|
||||
|
||||
expr_quant_elim_star1::expr_quant_elim_star1(ast_manager& m, front_end_params const& p):
|
||||
expr_quant_elim_star1::expr_quant_elim_star1(ast_manager& m, smt_params const& p):
|
||||
simplifier(m), m_quant_elim(m, p), m_assumption(m.mk_true())
|
||||
{
|
||||
}
|
||||
|
@ -2437,7 +2437,7 @@ namespace qe {
|
|||
|
||||
class simplify_solver_context : public i_solver_context {
|
||||
ast_manager& m;
|
||||
front_end_params m_fparams;
|
||||
smt_params m_fparams;
|
||||
app_ref_vector* m_vars;
|
||||
expr_ref* m_fml;
|
||||
ptr_vector<contains_app> m_contains;
|
||||
|
@ -2612,7 +2612,7 @@ namespace qe {
|
|||
}
|
||||
|
||||
void simplify_exists(app_ref_vector& vars, expr_ref& fml) {
|
||||
front_end_params params;
|
||||
smt_params params;
|
||||
ast_manager& m = fml.get_manager();
|
||||
simplify_solver_context ctx(m);
|
||||
ctx.solve(fml, vars);
|
||||
|
|
|
@ -22,7 +22,7 @@ Revision History:
|
|||
#define __QE_H__
|
||||
|
||||
#include "ast.h"
|
||||
#include "front_end_params.h"
|
||||
#include "smt_params.h"
|
||||
#include "statistics.h"
|
||||
#include "lbool.h"
|
||||
#include "expr_functors.h"
|
||||
|
@ -221,7 +221,7 @@ namespace qe {
|
|||
|
||||
qe_solver_plugin* mk_array_plugin(i_solver_context& ctx);
|
||||
|
||||
qe_solver_plugin* mk_arith_plugin(i_solver_context& ctx, bool produce_models, front_end_params& p);
|
||||
qe_solver_plugin* mk_arith_plugin(i_solver_context& ctx, bool produce_models, smt_params& p);
|
||||
|
||||
class def_vector {
|
||||
func_decl_ref_vector m_vars;
|
||||
|
@ -275,7 +275,7 @@ namespace qe {
|
|||
|
||||
class expr_quant_elim {
|
||||
ast_manager& m;
|
||||
front_end_params const& m_fparams;
|
||||
smt_params const& m_fparams;
|
||||
params_ref m_params;
|
||||
expr_ref_vector m_trail;
|
||||
obj_map<expr,expr*> m_visited;
|
||||
|
@ -283,7 +283,7 @@ namespace qe {
|
|||
expr* m_assumption;
|
||||
bool m_use_new_qe;
|
||||
public:
|
||||
expr_quant_elim(ast_manager& m, front_end_params const& fp, params_ref const& p = params_ref());
|
||||
expr_quant_elim(ast_manager& m, smt_params const& fp, params_ref const& p = params_ref());
|
||||
~expr_quant_elim();
|
||||
|
||||
void operator()(expr* assumption, expr* fml, expr_ref& result);
|
||||
|
@ -331,7 +331,7 @@ namespace qe {
|
|||
virtual void reduce1_quantifier(quantifier * q);
|
||||
virtual bool is_target(quantifier * q) const { return q->get_num_patterns() == 0 && q->get_num_no_patterns() == 0; }
|
||||
public:
|
||||
expr_quant_elim_star1(ast_manager & m, front_end_params const& p);
|
||||
expr_quant_elim_star1(ast_manager & m, smt_params const& p);
|
||||
virtual ~expr_quant_elim_star1() {}
|
||||
|
||||
void collect_statistics(statistics & st) const {
|
||||
|
|
|
@ -98,7 +98,7 @@ namespace qe {
|
|||
bool_rewriter m_bool_rewriter;
|
||||
arith_rewriter m_arith_rewriter;
|
||||
|
||||
arith_qe_util(ast_manager& m, front_end_params& p, i_solver_context& ctx) :
|
||||
arith_qe_util(ast_manager& m, smt_params& p, i_solver_context& ctx) :
|
||||
m(m),
|
||||
m_ctx(ctx),
|
||||
m_arith(m),
|
||||
|
@ -1511,7 +1511,7 @@ public:
|
|||
subst_cache m_subst;
|
||||
|
||||
public:
|
||||
arith_plugin(i_solver_context& ctx, ast_manager& m, front_end_params& p):
|
||||
arith_plugin(i_solver_context& ctx, ast_manager& m, smt_params& p):
|
||||
qe_solver_plugin(m, m.get_family_id("arith"), ctx),
|
||||
m_util(m, p, ctx),
|
||||
m_trail(m)
|
||||
|
@ -2562,7 +2562,7 @@ public:
|
|||
};
|
||||
|
||||
|
||||
qe_solver_plugin* mk_arith_plugin(i_solver_context& ctx, bool produce_models, front_end_params& p) {
|
||||
qe_solver_plugin* mk_arith_plugin(i_solver_context& ctx, bool produce_models, smt_params& p) {
|
||||
if (p.m_nlquant_elim) {
|
||||
return alloc(nlarith_plugin, ctx, ctx.get_manager(), produce_models);
|
||||
}
|
||||
|
|
|
@ -38,7 +38,7 @@ public:
|
|||
}
|
||||
|
||||
virtual void execute(cmd_context & ctx) {
|
||||
front_end_params par;
|
||||
smt_params par;
|
||||
proof_ref pr(ctx.m());
|
||||
qe::expr_quant_elim_star1 qe(ctx.m(), par);
|
||||
expr_ref result(ctx.m());
|
||||
|
|
|
@ -59,7 +59,7 @@ namespace qe {
|
|||
ast_manager& m;
|
||||
expr_ref m_false;
|
||||
volatile bool m_cancel;
|
||||
front_end_params m_fparams;
|
||||
smt_params m_fparams;
|
||||
params_ref m_params;
|
||||
unsigned m_extrapolate_strategy_param;
|
||||
bool m_projection_mode_param;
|
||||
|
|
|
@ -24,7 +24,7 @@ Revision History:
|
|||
class qe_tactic : public tactic {
|
||||
struct imp {
|
||||
ast_manager & m;
|
||||
front_end_params m_fparams;
|
||||
smt_params m_fparams;
|
||||
volatile bool m_cancel;
|
||||
qe::expr_quant_elim m_qe;
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ Author:
|
|||
struct unit_subsumption_tactic : public tactic {
|
||||
ast_manager& m;
|
||||
params_ref m_params;
|
||||
front_end_params m_fparams;
|
||||
smt_params m_fparams;
|
||||
volatile bool m_cancel;
|
||||
smt::context m_context;
|
||||
expr_ref_vector m_clauses;
|
||||
|
|
|
@ -45,7 +45,7 @@ Notes:
|
|||
#include"arith_decl_plugin.h"
|
||||
#include"for_each_expr.h"
|
||||
#include"extension_model_converter.h"
|
||||
#include"params2front_end_params.h"
|
||||
#include"params2smt_params.h"
|
||||
#include"ast_smt2_pp.h"
|
||||
|
||||
class vsubst_tactic : public tactic {
|
||||
|
@ -93,8 +93,8 @@ class vsubst_tactic : public tactic {
|
|||
throw tactic_exception("there are no real variables");
|
||||
}
|
||||
|
||||
front_end_params params;
|
||||
params2front_end_params(p, params);
|
||||
smt_params params;
|
||||
params2smt_params(p, params);
|
||||
params.m_model = false;
|
||||
flet<bool> fl1(params.m_nlquant_elim, true);
|
||||
flet<bool> fl2(params.m_nl_arith_gb, false);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue