mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 09:05:31 +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
|
@ -40,7 +40,7 @@ Revision History:
|
|||
#include"distribute_forall.h"
|
||||
#include"quasi_macros.h"
|
||||
|
||||
asserted_formulas::asserted_formulas(ast_manager & m, front_end_params & p):
|
||||
asserted_formulas::asserted_formulas(ast_manager & m, smt_params & p):
|
||||
m_manager(m),
|
||||
m_params(p),
|
||||
m_pre_simplifier(m),
|
||||
|
|
|
@ -19,7 +19,7 @@ Revision History:
|
|||
#ifndef _ASSERTED_FORMULAS_H_
|
||||
#define _ASSERTED_FORMULAS_H_
|
||||
|
||||
#include"front_end_params.h"
|
||||
#include"smt_params.h"
|
||||
#include"simplifier.h"
|
||||
#include"basic_simplifier_plugin.h"
|
||||
#include"static_features.h"
|
||||
|
@ -36,7 +36,7 @@ class bv_simplifier_plugin;
|
|||
|
||||
class asserted_formulas {
|
||||
ast_manager & m_manager;
|
||||
front_end_params & m_params;
|
||||
smt_params & m_params;
|
||||
simplifier m_pre_simplifier;
|
||||
simplifier m_simplifier;
|
||||
basic_simplifier_plugin * m_bsimp;
|
||||
|
@ -100,7 +100,7 @@ class asserted_formulas {
|
|||
bool canceled() { return m_cancel_flag; }
|
||||
|
||||
public:
|
||||
asserted_formulas(ast_manager & m, front_end_params & p);
|
||||
asserted_formulas(ast_manager & m, smt_params & p);
|
||||
~asserted_formulas();
|
||||
|
||||
void setup();
|
||||
|
|
|
@ -310,7 +310,7 @@ bool expr_context_simplifier::is_false(expr* e) const {
|
|||
// it occurs in the context (on the path) where it was inserted.
|
||||
//
|
||||
|
||||
expr_strong_context_simplifier::expr_strong_context_simplifier(front_end_params& p, ast_manager& m):
|
||||
expr_strong_context_simplifier::expr_strong_context_simplifier(smt_params& p, ast_manager& m):
|
||||
m_manager(m), m_params(p), m_arith(m), m_id(0), m_fn(0,m), m_solver(m, p) {
|
||||
sort* i_sort = m_arith.mk_int();
|
||||
m_fn = m.mk_func_decl(symbol(0xbeef101), i_sort, m.mk_bool_sort());
|
||||
|
|
|
@ -22,7 +22,7 @@ Revision History:
|
|||
#include "ast.h"
|
||||
#include "obj_hashtable.h"
|
||||
#include "basic_simplifier_plugin.h"
|
||||
#include "front_end_params.h"
|
||||
#include "smt_params.h"
|
||||
#include "smt_kernel.h"
|
||||
#include "arith_decl_plugin.h"
|
||||
|
||||
|
@ -57,7 +57,7 @@ private:
|
|||
|
||||
class expr_strong_context_simplifier {
|
||||
ast_manager& m_manager;
|
||||
front_end_params & m_params;
|
||||
smt_params & m_params;
|
||||
arith_util m_arith;
|
||||
unsigned m_id;
|
||||
func_decl_ref m_fn;
|
||||
|
@ -70,7 +70,7 @@ class expr_strong_context_simplifier {
|
|||
bool is_forced(expr* e, expr* v);
|
||||
|
||||
public:
|
||||
expr_strong_context_simplifier(front_end_params& p, ast_manager& m);
|
||||
expr_strong_context_simplifier(smt_params& p, ast_manager& m);
|
||||
void operator()(expr* e, expr_ref& result) { simplify(e, result); }
|
||||
void operator()(expr_ref& result) { simplify(result.get(), result); }
|
||||
void push() { m_solver.push(); }
|
||||
|
|
|
@ -278,7 +278,7 @@ namespace smt {
|
|||
};
|
||||
typedef int_hashtable<int_hash, default_eq<int> > bool_var_set;
|
||||
context & m_context;
|
||||
front_end_params &m_params;
|
||||
smt_params &m_params;
|
||||
ast_manager & m_manager;
|
||||
ptr_vector<expr> m_queue;
|
||||
unsigned m_head;
|
||||
|
@ -287,7 +287,7 @@ namespace smt {
|
|||
unsigned m_head2;
|
||||
svector<scope> m_scopes;
|
||||
public:
|
||||
rel_case_split_queue(context & ctx, front_end_params & p):
|
||||
rel_case_split_queue(context & ctx, smt_params & p):
|
||||
m_context(ctx),
|
||||
m_params(p),
|
||||
m_manager(ctx.get_manager()),
|
||||
|
@ -465,14 +465,14 @@ namespace smt {
|
|||
typedef int_hashtable<int_hash, default_eq<int> > bool_var_set;
|
||||
context & m_context;
|
||||
ast_manager & m_manager;
|
||||
front_end_params &m_params;
|
||||
smt_params &m_params;
|
||||
ptr_vector<expr> m_queue;
|
||||
unsigned m_head;
|
||||
int m_bs_num_bool_vars; //!< Number of boolean variable before starting to search.
|
||||
bool_var_act_queue m_delayed_queue;
|
||||
svector<scope> m_scopes;
|
||||
public:
|
||||
rel_act_case_split_queue(context & ctx, front_end_params & p):
|
||||
rel_act_case_split_queue(context & ctx, smt_params & p):
|
||||
m_context(ctx),
|
||||
m_manager(ctx.get_manager()),
|
||||
m_params(p),
|
||||
|
@ -694,7 +694,7 @@ namespace smt {
|
|||
|
||||
typedef int_hashtable<int_hash, default_eq<int> > bool_var_set;
|
||||
context & m_context;
|
||||
front_end_params & m_params;
|
||||
smt_params & m_params;
|
||||
ast_manager & m_manager;
|
||||
ptr_vector<expr> m_queue;
|
||||
unsigned m_head;
|
||||
|
@ -714,7 +714,7 @@ namespace smt {
|
|||
|
||||
|
||||
public:
|
||||
rel_goal_case_split_queue(context & ctx, front_end_params & p):
|
||||
rel_goal_case_split_queue(context & ctx, smt_params & p):
|
||||
m_context(ctx),
|
||||
m_params(p),
|
||||
m_manager(ctx.get_manager()),
|
||||
|
@ -1088,7 +1088,7 @@ namespace smt {
|
|||
};
|
||||
|
||||
|
||||
case_split_queue * mk_case_split_queue(context & ctx, front_end_params & p) {
|
||||
case_split_queue * mk_case_split_queue(context & ctx, smt_params & p) {
|
||||
if (p.m_relevancy_lvl < 2 && (p.m_case_split_strategy == CS_RELEVANCY || p.m_case_split_strategy == CS_RELEVANCY_ACTIVITY ||
|
||||
p.m_case_split_strategy == CS_RELEVANCY_GOAL)) {
|
||||
warning_msg("relevacy must be enabled to use option CASE_SPLIT=3, 4 or 5");
|
||||
|
|
|
@ -48,7 +48,7 @@ namespace smt {
|
|||
virtual ~case_split_queue() {}
|
||||
};
|
||||
|
||||
case_split_queue * mk_case_split_queue(context & ctx, front_end_params & p);
|
||||
case_split_queue * mk_case_split_queue(context & ctx, smt_params & p);
|
||||
};
|
||||
|
||||
#endif /* _SMT_CASE_SPLIT_QUEUE_H_ */
|
||||
|
|
|
@ -32,7 +32,7 @@ namespace smt {
|
|||
conflict_resolution::conflict_resolution(ast_manager & m,
|
||||
context & ctx,
|
||||
dyn_ack_manager & dyn_ack_manager,
|
||||
front_end_params const & params,
|
||||
smt_params const & params,
|
||||
literal_vector const & assigned_literals,
|
||||
vector<watch_list> & watches
|
||||
):
|
||||
|
@ -1419,7 +1419,7 @@ namespace smt {
|
|||
conflict_resolution * mk_conflict_resolution(ast_manager & m,
|
||||
context & ctx,
|
||||
dyn_ack_manager & dack_manager,
|
||||
front_end_params const & params,
|
||||
smt_params const & params,
|
||||
literal_vector const & assigned_literals,
|
||||
vector<watch_list> & watches) {
|
||||
return alloc(conflict_resolution, m, ctx, dack_manager, params, assigned_literals, watches);
|
||||
|
|
|
@ -25,7 +25,7 @@ Revision History:
|
|||
#include"smt_enode.h"
|
||||
#include"dyn_ack.h"
|
||||
#include"obj_pair_hashtable.h"
|
||||
#include"front_end_params.h"
|
||||
#include"smt_params.h"
|
||||
#include"obj_pair_hashtable.h"
|
||||
#include"map.h"
|
||||
#include"watch_list.h"
|
||||
|
@ -46,7 +46,7 @@ namespace smt {
|
|||
typedef obj_pair_set<enode, enode> enode_pair_set;
|
||||
|
||||
ast_manager & m_manager;
|
||||
front_end_params const & m_params;
|
||||
smt_params const & m_params;
|
||||
context & m_ctx;
|
||||
dyn_ack_manager & m_dyn_ack_manager;
|
||||
literal_vector const & m_assigned_literals;
|
||||
|
@ -204,7 +204,7 @@ namespace smt {
|
|||
conflict_resolution(ast_manager & m,
|
||||
context & ctx,
|
||||
dyn_ack_manager & dack_manager,
|
||||
front_end_params const & params,
|
||||
smt_params const & params,
|
||||
literal_vector const & assigned_literals,
|
||||
vector<watch_list> & watches
|
||||
);
|
||||
|
@ -266,7 +266,7 @@ namespace smt {
|
|||
conflict_resolution * mk_conflict_resolution(ast_manager & m,
|
||||
context & ctx,
|
||||
dyn_ack_manager & dack_manager,
|
||||
front_end_params const & params,
|
||||
smt_params const & params,
|
||||
literal_vector const & assigned_literals,
|
||||
vector<watch_list> & watches
|
||||
);
|
||||
|
|
|
@ -39,7 +39,7 @@ Revision History:
|
|||
|
||||
namespace smt {
|
||||
|
||||
context::context(ast_manager & m, front_end_params & p, params_ref const & _p):
|
||||
context::context(ast_manager & m, smt_params & p, params_ref const & _p):
|
||||
m_manager(m),
|
||||
m_fparams(p),
|
||||
m_params(_p),
|
||||
|
@ -102,7 +102,7 @@ namespace smt {
|
|||
flush();
|
||||
}
|
||||
|
||||
context * context::mk_fresh(symbol const * l, front_end_params * p) {
|
||||
context * context::mk_fresh(symbol const * l, smt_params * p) {
|
||||
context * new_ctx = alloc(context, m_manager, p == 0 ? m_fparams : *p);
|
||||
new_ctx->set_logic(l == 0 ? m_setup.get_logic() : *l);
|
||||
// copy missing simplifier_plugins
|
||||
|
|
|
@ -71,7 +71,7 @@ namespace smt {
|
|||
|
||||
protected:
|
||||
ast_manager & m_manager;
|
||||
front_end_params & m_fparams;
|
||||
smt_params & m_fparams;
|
||||
params_ref m_params;
|
||||
setup m_setup;
|
||||
volatile bool m_cancel_flag;
|
||||
|
@ -220,7 +220,7 @@ namespace smt {
|
|||
return m_asserted_formulas.get_simplifier();
|
||||
}
|
||||
|
||||
front_end_params & get_fparams() {
|
||||
smt_params & get_fparams() {
|
||||
return m_fparams;
|
||||
}
|
||||
|
||||
|
@ -1314,7 +1314,7 @@ namespace smt {
|
|||
void assert_expr_core(expr * e, proof * pr);
|
||||
|
||||
public:
|
||||
context(ast_manager & m, front_end_params & fp, params_ref const & p = params_ref());
|
||||
context(ast_manager & m, smt_params & fp, params_ref const & p = params_ref());
|
||||
|
||||
virtual ~context();
|
||||
|
||||
|
@ -1325,7 +1325,7 @@ namespace smt {
|
|||
If l == 0, then the logic of this context is used in the new context.
|
||||
If p == 0, then this->m_params is used
|
||||
*/
|
||||
context * mk_fresh(symbol const * l = 0, front_end_params * p = 0);
|
||||
context * mk_fresh(symbol const * l = 0, smt_params * p = 0);
|
||||
|
||||
app * mk_eq_atom(expr * lhs, expr * rhs);
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ Revision History:
|
|||
#include"smt_kernel.h"
|
||||
#include"smt_context.h"
|
||||
#include"ast_smt2_pp.h"
|
||||
#include"params2front_end_params.h"
|
||||
#include"params2smt_params.h"
|
||||
|
||||
namespace smt {
|
||||
|
||||
|
@ -27,12 +27,12 @@ namespace smt {
|
|||
smt::context m_kernel;
|
||||
params_ref m_params;
|
||||
|
||||
imp(ast_manager & m, front_end_params & fp, params_ref const & p):
|
||||
imp(ast_manager & m, smt_params & fp, params_ref const & p):
|
||||
m_kernel(m, fp, p),
|
||||
m_params(p) {
|
||||
}
|
||||
|
||||
front_end_params & fparams() {
|
||||
smt_params & fparams() {
|
||||
return m_kernel.get_fparams();
|
||||
}
|
||||
|
||||
|
@ -179,11 +179,11 @@ namespace smt {
|
|||
}
|
||||
|
||||
void updt_params(params_ref const & p) {
|
||||
params2front_end_params(p, fparams());
|
||||
params2smt_params(p, fparams());
|
||||
}
|
||||
};
|
||||
|
||||
kernel::kernel(ast_manager & m, front_end_params & fp, params_ref const & p) {
|
||||
kernel::kernel(ast_manager & m, smt_params & fp, params_ref const & p) {
|
||||
m_imp = alloc(imp, m, fp, p);
|
||||
}
|
||||
|
||||
|
@ -237,7 +237,7 @@ namespace smt {
|
|||
|
||||
void kernel::reset() {
|
||||
ast_manager & _m = m();
|
||||
front_end_params & fps = m_imp->fparams();
|
||||
smt_params & fps = m_imp->fparams();
|
||||
params_ref ps = m_imp->params();
|
||||
#pragma omp critical (smt_kernel)
|
||||
{
|
||||
|
@ -343,7 +343,7 @@ namespace smt {
|
|||
}
|
||||
|
||||
void kernel::collect_param_descrs(param_descrs & d) {
|
||||
solver_front_end_params_descrs(d);
|
||||
solver_smt_params_descrs(d);
|
||||
}
|
||||
|
||||
context & kernel::get_context() {
|
||||
|
|
|
@ -34,7 +34,7 @@ Revision History:
|
|||
#include"statistics.h"
|
||||
#include"smt_failure.h"
|
||||
|
||||
struct front_end_params;
|
||||
struct smt_params;
|
||||
class progress_callback;
|
||||
|
||||
namespace smt {
|
||||
|
@ -46,7 +46,7 @@ namespace smt {
|
|||
struct imp;
|
||||
imp * m_imp;
|
||||
public:
|
||||
kernel(ast_manager & m, front_end_params & fp, params_ref const & p = params_ref());
|
||||
kernel(ast_manager & m, smt_params & fp, params_ref const & p = params_ref());
|
||||
|
||||
~kernel();
|
||||
|
||||
|
|
|
@ -281,7 +281,7 @@ namespace smt {
|
|||
|
||||
void model_checker::init_aux_context() {
|
||||
if (!m_fparams) {
|
||||
m_fparams = alloc(front_end_params, m_context->get_fparams());
|
||||
m_fparams = alloc(smt_params, m_context->get_fparams());
|
||||
m_fparams->m_relevancy_lvl = 0; // no relevancy since the model checking problems are quantifier free
|
||||
}
|
||||
if (!m_aux_context) {
|
||||
|
|
|
@ -24,7 +24,7 @@ Revision History:
|
|||
#include"ast.h"
|
||||
#include"obj_hashtable.h"
|
||||
#include"qi_params.h"
|
||||
#include"front_end_params.h"
|
||||
#include"smt_params.h"
|
||||
#include"region.h"
|
||||
|
||||
class proto_model;
|
||||
|
@ -39,9 +39,9 @@ namespace smt {
|
|||
class model_checker {
|
||||
ast_manager & m_manager;
|
||||
qi_params const & m_params;
|
||||
// copy of front_end_params for auxiliary context.
|
||||
// copy of smt_params for auxiliary context.
|
||||
// the idea is to use a different configuration for the aux context (e.g., disable relevancy)
|
||||
scoped_ptr<front_end_params> m_fparams;
|
||||
scoped_ptr<smt_params> m_fparams;
|
||||
quantifier_manager * m_qm;
|
||||
context * m_context; // owner of the model checker
|
||||
obj_map<enode, app *> const * m_root2value; // temp field to store mapping received in the check method.
|
||||
|
|
|
@ -33,7 +33,7 @@ namespace smt {
|
|||
struct quantifier_manager::imp {
|
||||
quantifier_manager & m_wrapper;
|
||||
context & m_context;
|
||||
front_end_params & m_params;
|
||||
smt_params & m_params;
|
||||
qi_queue m_qi_queue;
|
||||
obj_map<quantifier, quantifier_stat *> m_quantifier_stat;
|
||||
quantifier_stat_gen m_qstat_gen;
|
||||
|
@ -41,7 +41,7 @@ namespace smt {
|
|||
scoped_ptr<quantifier_manager_plugin> m_plugin;
|
||||
unsigned m_num_instances;
|
||||
|
||||
imp(quantifier_manager & wrapper, context & ctx, front_end_params & p, quantifier_manager_plugin * plugin):
|
||||
imp(quantifier_manager & wrapper, context & ctx, smt_params & p, quantifier_manager_plugin * plugin):
|
||||
m_wrapper(wrapper),
|
||||
m_context(ctx),
|
||||
m_params(p),
|
||||
|
@ -242,7 +242,7 @@ namespace smt {
|
|||
|
||||
};
|
||||
|
||||
quantifier_manager::quantifier_manager(context & ctx, front_end_params & fp, params_ref const & p) {
|
||||
quantifier_manager::quantifier_manager(context & ctx, smt_params & fp, params_ref const & p) {
|
||||
m_imp = alloc(imp, *this, ctx, fp, mk_default_plugin());
|
||||
m_imp->m_plugin->set_manager(*this);
|
||||
}
|
||||
|
@ -355,7 +355,7 @@ namespace smt {
|
|||
#pragma omp critical (quantifier_manager)
|
||||
{
|
||||
context & ctx = m_imp->m_context;
|
||||
front_end_params & p = m_imp->m_params;
|
||||
smt_params & p = m_imp->m_params;
|
||||
quantifier_manager_plugin * plugin = m_imp->m_plugin->mk_fresh();
|
||||
dealloc(m_imp);
|
||||
m_imp = alloc(imp, *this, ctx, p, plugin);
|
||||
|
@ -395,7 +395,7 @@ namespace smt {
|
|||
// The default plugin uses E-matching, MBQI and quick-checker
|
||||
class default_qm_plugin : public quantifier_manager_plugin {
|
||||
quantifier_manager * m_qm;
|
||||
front_end_params * m_fparams;
|
||||
smt_params * m_fparams;
|
||||
context * m_context;
|
||||
scoped_ptr<mam> m_mam;
|
||||
scoped_ptr<mam> m_lazy_mam;
|
||||
|
|
|
@ -25,7 +25,7 @@ Revision History:
|
|||
#include"smt_types.h"
|
||||
|
||||
class proto_model;
|
||||
struct front_end_params;
|
||||
struct smt_params;
|
||||
|
||||
namespace smt {
|
||||
class quantifier_manager_plugin;
|
||||
|
@ -35,7 +35,7 @@ namespace smt {
|
|||
struct imp;
|
||||
imp * m_imp;
|
||||
public:
|
||||
quantifier_manager(context & ctx, front_end_params & fp, params_ref const & p);
|
||||
quantifier_manager(context & ctx, smt_params & fp, params_ref const & p);
|
||||
~quantifier_manager();
|
||||
|
||||
context & get_context() const;
|
||||
|
|
|
@ -33,7 +33,7 @@ Revision History:
|
|||
|
||||
namespace smt {
|
||||
|
||||
setup::setup(context & c, front_end_params & params):
|
||||
setup::setup(context & c, smt_params & params):
|
||||
m_context(c),
|
||||
m_manager(c.get_manager()),
|
||||
m_params(params),
|
||||
|
|
|
@ -20,7 +20,7 @@ Revision History:
|
|||
#define _SMT_SETUP_H_
|
||||
|
||||
#include"ast.h"
|
||||
#include"front_end_params.h"
|
||||
#include"smt_params.h"
|
||||
|
||||
struct static_features;
|
||||
namespace smt {
|
||||
|
@ -42,7 +42,7 @@ namespace smt {
|
|||
class setup {
|
||||
context & m_context;
|
||||
ast_manager & m_manager;
|
||||
front_end_params & m_params;
|
||||
smt_params & m_params;
|
||||
symbol m_logic;
|
||||
bool m_already_configured;
|
||||
void setup_auto_config();
|
||||
|
@ -96,7 +96,7 @@ namespace smt {
|
|||
void setup_i_arith();
|
||||
void setup_mi_arith();
|
||||
public:
|
||||
setup(context & c, front_end_params & params);
|
||||
setup(context & c, smt_params & params);
|
||||
void mark_already_configured() { m_already_configured = true; }
|
||||
bool already_configured() const { return m_already_configured; }
|
||||
bool set_logic(symbol logic) {
|
||||
|
|
|
@ -19,12 +19,12 @@ Notes:
|
|||
#include"solver_na2as.h"
|
||||
#include"smt_kernel.h"
|
||||
#include"reg_decl_plugins.h"
|
||||
#include"front_end_params.h"
|
||||
#include"smt_params.h"
|
||||
|
||||
namespace smt {
|
||||
|
||||
class solver : public solver_na2as {
|
||||
front_end_params m_params;
|
||||
smt_params m_params;
|
||||
smt::kernel * m_context;
|
||||
progress_callback * m_callback;
|
||||
public:
|
||||
|
|
|
@ -19,7 +19,7 @@ Notes:
|
|||
|
||||
#include"ctx_solver_simplify_tactic.h"
|
||||
#include"arith_decl_plugin.h"
|
||||
#include"front_end_params.h"
|
||||
#include"smt_params.h"
|
||||
#include"smt_kernel.h"
|
||||
#include"ast_pp.h"
|
||||
#include"mk_simplified_app.h"
|
||||
|
@ -28,7 +28,7 @@ Notes:
|
|||
class ctx_solver_simplify_tactic : public tactic {
|
||||
ast_manager& m;
|
||||
params_ref m_params;
|
||||
front_end_params m_front_p;
|
||||
smt_params m_front_p;
|
||||
smt::kernel m_solver;
|
||||
arith_util m_arith;
|
||||
mk_simplified_app m_mk_app;
|
||||
|
|
|
@ -19,12 +19,12 @@ Notes:
|
|||
#include"tactic.h"
|
||||
#include"tactical.h"
|
||||
#include"smt_kernel.h"
|
||||
#include"front_end_params.h"
|
||||
#include"params2front_end_params.h"
|
||||
#include"smt_params.h"
|
||||
#include"params2smt_params.h"
|
||||
#include"rewriter_types.h"
|
||||
|
||||
class smt_tactic : public tactic {
|
||||
front_end_params m_params;
|
||||
smt_params m_params;
|
||||
params_ref m_params_ref;
|
||||
statistics m_stats;
|
||||
std::string m_failure;
|
||||
|
@ -51,7 +51,7 @@ public:
|
|||
SASSERT(m_ctx == 0);
|
||||
}
|
||||
|
||||
front_end_params & fparams() {
|
||||
smt_params & fparams() {
|
||||
return m_params;
|
||||
}
|
||||
|
||||
|
@ -64,15 +64,15 @@ public:
|
|||
TRACE("smt_tactic", tout << this << "\nupdt_params: " << p << "\n";);
|
||||
updt_params_core(p);
|
||||
m_params_ref = p;
|
||||
// PARAM-TODO update params2front_end_params p ---> m_params
|
||||
params2front_end_params(m_params_ref, fparams());
|
||||
// PARAM-TODO update params2smt_params p ---> m_params
|
||||
params2smt_params(m_params_ref, fparams());
|
||||
SASSERT(p.get_bool("auto_config", fparams().m_auto_config) == fparams().m_auto_config);
|
||||
}
|
||||
|
||||
virtual void collect_param_descrs(param_descrs & r) {
|
||||
r.insert("candidate_models", CPK_BOOL, "(default: false) create candidate models even when quantifier or theory reasoning is incomplete.");
|
||||
r.insert("fail_if_inconclusive", CPK_BOOL, "(default: true) fail if found unsat (sat) for under (over) approximated goal.");
|
||||
solver_front_end_params_descrs(r);
|
||||
solver_smt_params_descrs(r);
|
||||
}
|
||||
|
||||
virtual void set_cancel(bool f) {
|
||||
|
|
|
@ -32,7 +32,7 @@ Revision History:
|
|||
#include"arith_decl_plugin.h"
|
||||
#include"smt_justification.h"
|
||||
#include"map.h"
|
||||
#include"front_end_params.h"
|
||||
#include"smt_params.h"
|
||||
#include"arith_eq_adapter.h"
|
||||
#include"smt_model_generator.h"
|
||||
#include"numeral_factory.h"
|
||||
|
@ -251,7 +251,7 @@ namespace smt {
|
|||
}
|
||||
};
|
||||
|
||||
front_end_params & m_params;
|
||||
smt_params & m_params;
|
||||
arith_util m_util;
|
||||
arith_eq_adapter m_arith_eq_adapter;
|
||||
theory_diff_logic_statistics m_stats;
|
||||
|
@ -305,7 +305,7 @@ namespace smt {
|
|||
void del_clause_eh(clause* cls);
|
||||
|
||||
public:
|
||||
theory_diff_logic(ast_manager& m, front_end_params & params):
|
||||
theory_diff_logic(ast_manager& m, smt_params & params):
|
||||
theory(m.get_family_id("arith")),
|
||||
m_params(params),
|
||||
m_util(m),
|
||||
|
|
|
@ -230,12 +230,12 @@ namespace smt {
|
|||
class clause_subsumption {
|
||||
ast_manager& m;
|
||||
grounder m_grounder;
|
||||
front_end_params m_params;
|
||||
smt_params m_params;
|
||||
context m_ctx;
|
||||
quantifier_ref_vector m_assumptions;
|
||||
unsigned_vector m_limit;
|
||||
public:
|
||||
clause_subsumption(ast_manager& m, front_end_params& p):
|
||||
clause_subsumption(ast_manager& m, smt_params& p):
|
||||
m(m), m_grounder(m), m_params(p), m_ctx(m,m_params), m_assumptions(m) {
|
||||
m_params.m_instgen = false;
|
||||
}
|
||||
|
@ -1131,7 +1131,7 @@ namespace smt {
|
|||
};
|
||||
|
||||
ast_manager& m_manager;
|
||||
front_end_params& m_params;
|
||||
smt_params& m_params;
|
||||
fo_clause_internalizer m_internalizer;
|
||||
instantiator m_instantiator;
|
||||
clause_subsumption m_subsumer;
|
||||
|
@ -1184,7 +1184,7 @@ namespace smt {
|
|||
|
||||
|
||||
public:
|
||||
theory_instgen_impl(ast_manager& m, front_end_params& p):
|
||||
theory_instgen_impl(ast_manager& m, smt_params& p):
|
||||
theory_instgen(m.get_family_id("inst_gen")),
|
||||
m_manager(m),
|
||||
m_params(p),
|
||||
|
@ -1277,7 +1277,7 @@ namespace smt {
|
|||
|
||||
};
|
||||
|
||||
theory_instgen* mk_theory_instgen(ast_manager& m, front_end_params& p) {
|
||||
theory_instgen* mk_theory_instgen(ast_manager& m, smt_params& p) {
|
||||
return alloc(theory_instgen_impl, m, p);
|
||||
}
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ Revision History:
|
|||
#define _THEORY_INST_GEN_H_
|
||||
|
||||
#include "smt_theory.h"
|
||||
#include "front_end_params.h"
|
||||
#include "smt_params.h"
|
||||
|
||||
namespace smt {
|
||||
|
||||
|
@ -37,7 +37,7 @@ namespace smt {
|
|||
virtual char const * get_name() const { return "instgen"; }
|
||||
};
|
||||
|
||||
theory_instgen* mk_theory_instgen(ast_manager& m, front_end_params& p);
|
||||
theory_instgen* mk_theory_instgen(ast_manager& m, smt_params& p);
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@ namespace smt {
|
|||
{}
|
||||
};
|
||||
|
||||
user_theory::user_theory(ast_manager & m, front_end_params const& p, void * ext_context, void * ext_data, char const * name, family_id fid, user_decl_plugin * dp, user_simplifier_plugin * sp):
|
||||
user_theory::user_theory(ast_manager & m, smt_params const& p, void * ext_context, void * ext_data, char const * name, family_id fid, user_decl_plugin * dp, user_simplifier_plugin * sp):
|
||||
theory(fid),
|
||||
m_params(p),
|
||||
m_ext_context(ext_context),
|
||||
|
|
|
@ -43,7 +43,7 @@ namespace smt {
|
|||
typedef union_find<user_theory> th_union_find;
|
||||
typedef std::pair<theory_var, theory_var> var_pair;
|
||||
|
||||
front_end_params const& m_params;
|
||||
smt_params const& m_params;
|
||||
void * m_ext_context;
|
||||
void * m_ext_data;
|
||||
std::string m_name;
|
||||
|
@ -134,7 +134,7 @@ namespace smt {
|
|||
void assert_axiom_core(app* axiom);
|
||||
|
||||
public:
|
||||
user_theory(ast_manager & m, front_end_params const& p, void * ext_context, void * ext_data, char const * name, family_id fid, user_decl_plugin * dp, user_simplifier_plugin * sp);
|
||||
user_theory(ast_manager & m, smt_params const& p, void * ext_context, void * ext_data, char const * name, family_id fid, user_decl_plugin * dp, user_simplifier_plugin * sp);
|
||||
virtual ~user_theory();
|
||||
|
||||
virtual theory * mk_fresh(context * new_ctx);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue