mirror of
https://github.com/Z3Prover/z3
synced 2025-04-07 09:55:19 +00:00
moved old params files
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
This commit is contained in:
parent
ffb7e26c75
commit
6107e8d9ce
|
@ -35,17 +35,15 @@ def init_project_def():
|
||||||
add_lib('cmd_context', ['solver', 'rewriter'])
|
add_lib('cmd_context', ['solver', 'rewriter'])
|
||||||
add_lib('extra_cmds', ['cmd_context', 'subpaving_tactic', 'arith_tactics'], 'cmd_context/extra_cmds')
|
add_lib('extra_cmds', ['cmd_context', 'subpaving_tactic', 'arith_tactics'], 'cmd_context/extra_cmds')
|
||||||
add_lib('smt2parser', ['cmd_context', 'parser_util'], 'parsers/smt2')
|
add_lib('smt2parser', ['cmd_context', 'parser_util'], 'parsers/smt2')
|
||||||
# Front-end-params module still contain a lot of parameters for smt solver component.
|
add_lib('proof_checker', ['rewriter'], 'ast/proof_checker')
|
||||||
# This should be fixed
|
|
||||||
add_lib('front_end_params', ['ast'])
|
|
||||||
# Simplifier module will be deleted in the future.
|
# Simplifier module will be deleted in the future.
|
||||||
# It has been replaced with rewriter module.
|
# It has been replaced with rewriter module.
|
||||||
add_lib('simplifier', ['rewriter', 'front_end_params'], 'ast/simplifier')
|
add_lib('simplifier', ['rewriter'], 'ast/simplifier')
|
||||||
|
add_lib('macros', ['simplifier'], 'ast/macros')
|
||||||
add_lib('pattern', ['normal_forms', 'smt2parser', 'simplifier'], 'ast/pattern')
|
add_lib('pattern', ['normal_forms', 'smt2parser', 'simplifier'], 'ast/pattern')
|
||||||
add_lib('macros', ['simplifier', 'front_end_params'], 'ast/macros')
|
add_lib('bit_blaster', ['rewriter', 'simplifier'], 'ast/rewriter/bit_blaster')
|
||||||
add_lib('proof_checker', ['rewriter', 'front_end_params'], 'ast/proof_checker')
|
add_lib('smt_params', ['ast', 'simplifier', 'pattern', 'bit_blaster'], 'smt/params')
|
||||||
add_lib('bit_blaster', ['rewriter', 'simplifier', 'front_end_params'], 'ast/rewriter/bit_blaster')
|
add_lib('proto_model', ['model', 'simplifier', 'smt_params'], 'smt/proto_model')
|
||||||
add_lib('proto_model', ['model', 'simplifier', 'front_end_params'], 'smt/proto_model')
|
|
||||||
add_lib('smt', ['bit_blaster', 'macros', 'normal_forms', 'cmd_context', 'proto_model',
|
add_lib('smt', ['bit_blaster', 'macros', 'normal_forms', 'cmd_context', 'proto_model',
|
||||||
'substitution', 'grobner', 'euclid', 'proof_checker', 'pattern', 'parser_util'])
|
'substitution', 'grobner', 'euclid', 'proof_checker', 'pattern', 'parser_util'])
|
||||||
add_lib('user_plugin', ['smt'], 'smt/user_plugin')
|
add_lib('user_plugin', ['smt'], 'smt/user_plugin')
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
// include "spc_decl_plugin.h"
|
// include "spc_decl_plugin.h"
|
||||||
#include "ast_smt_pp.h"
|
#include "ast_smt_pp.h"
|
||||||
#include "arith_decl_plugin.h"
|
#include "arith_decl_plugin.h"
|
||||||
#include "smt_params.h"
|
|
||||||
#include "th_rewriter.h"
|
#include "th_rewriter.h"
|
||||||
#include "var_subst.h"
|
#include "var_subst.h"
|
||||||
|
|
||||||
|
|
33
src/ast/simplifier/array_simplifier_params.h
Normal file
33
src/ast/simplifier/array_simplifier_params.h
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
/*++
|
||||||
|
Copyright (c) 2006 Microsoft Corporation
|
||||||
|
|
||||||
|
Module Name:
|
||||||
|
|
||||||
|
array_simplifier_params.h
|
||||||
|
|
||||||
|
Abstract:
|
||||||
|
|
||||||
|
This file was created during code reorg.
|
||||||
|
|
||||||
|
Author:
|
||||||
|
|
||||||
|
Leonardo de Moura (leonardo) 2012-12-02.
|
||||||
|
|
||||||
|
Revision History:
|
||||||
|
|
||||||
|
--*/
|
||||||
|
#ifndef _ARRAY_SIMPLIFIER_PARAMS_H_
|
||||||
|
#define _ARRAY_SIMPLIFIER_PARAMS_H_
|
||||||
|
|
||||||
|
struct array_simplifier_params {
|
||||||
|
bool m_array_canonize_simplify;
|
||||||
|
bool m_array_simplify; // temporary hack for disabling array simplifier plugin.
|
||||||
|
|
||||||
|
array_simplifier_params():
|
||||||
|
m_array_canonize_simplify(false),
|
||||||
|
m_array_simplify(true) {
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* _ARITH_SIMPLIFIER_PARAMS_H_ */
|
||||||
|
|
|
@ -33,7 +33,7 @@ array_simplifier_plugin::array_simplifier_plugin(
|
||||||
ast_manager & m,
|
ast_manager & m,
|
||||||
basic_simplifier_plugin& s,
|
basic_simplifier_plugin& s,
|
||||||
simplifier& simp,
|
simplifier& simp,
|
||||||
theory_array_params const& p) :
|
array_simplifier_params const& p) :
|
||||||
simplifier_plugin(symbol("array"),m),
|
simplifier_plugin(symbol("array"),m),
|
||||||
m_util(m),
|
m_util(m),
|
||||||
m_simp(s),
|
m_simp(s),
|
||||||
|
|
|
@ -24,7 +24,7 @@ Revision History:
|
||||||
#include"array_decl_plugin.h"
|
#include"array_decl_plugin.h"
|
||||||
#include"simplifier_plugin.h"
|
#include"simplifier_plugin.h"
|
||||||
#include"basic_simplifier_plugin.h"
|
#include"basic_simplifier_plugin.h"
|
||||||
#include"theory_array_params.h"
|
#include"array_simplifier_params.h"
|
||||||
#include"simplifier.h"
|
#include"simplifier.h"
|
||||||
#include"obj_hashtable.h"
|
#include"obj_hashtable.h"
|
||||||
#include"lbool.h"
|
#include"lbool.h"
|
||||||
|
@ -71,7 +71,7 @@ class array_simplifier_plugin : public simplifier_plugin {
|
||||||
array_util m_util;
|
array_util m_util;
|
||||||
basic_simplifier_plugin& m_simp;
|
basic_simplifier_plugin& m_simp;
|
||||||
simplifier& m_simplifier;
|
simplifier& m_simplifier;
|
||||||
theory_array_params const& m_params;
|
array_simplifier_params const& m_params;
|
||||||
select_cache m_select_cache;
|
select_cache m_select_cache;
|
||||||
ptr_vector<expr> m_tmp;
|
ptr_vector<expr> m_tmp;
|
||||||
ptr_vector<expr> m_tmp2;
|
ptr_vector<expr> m_tmp2;
|
||||||
|
@ -100,7 +100,7 @@ class array_simplifier_plugin : public simplifier_plugin {
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
array_simplifier_plugin(ast_manager & m, basic_simplifier_plugin& s, simplifier& simp, theory_array_params const& p);
|
array_simplifier_plugin(ast_manager & m, basic_simplifier_plugin& s, simplifier& simp, array_simplifier_params const& p);
|
||||||
virtual ~array_simplifier_plugin();
|
virtual ~array_simplifier_plugin();
|
||||||
|
|
||||||
virtual bool reduce(func_decl * f, unsigned num_args, expr * const * args, expr_ref & result);
|
virtual bool reduce(func_decl * f, unsigned num_args, expr * const * args, expr_ref & result);
|
||||||
|
|
|
@ -27,12 +27,6 @@ struct bv_simplifier_params {
|
||||||
m_hi_div0(true),
|
m_hi_div0(true),
|
||||||
m_bv2int_distribute(true) {
|
m_bv2int_distribute(true) {
|
||||||
}
|
}
|
||||||
#if 0
|
|
||||||
void register_params(ini_params & p) {
|
|
||||||
p.register_bool_param("hi_div0", m_hi_div0, "if true, then Z3 uses the usual hardware interpretation for division (rem, mod) by zero. Otherwise, these operations are considered uninterpreted.");
|
|
||||||
p.register_bool_param("bv2int_distribute", m_bv2int_distribute, "if true, then int2bv is distributed over arithmetical operators.");
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* _BV_SIMPLIFIER_PARAMS_H_ */
|
#endif /* _BV_SIMPLIFIER_PARAMS_H_ */
|
|
@ -1,27 +0,0 @@
|
||||||
/*++
|
|
||||||
Copyright (c) 2006 Microsoft Corporation
|
|
||||||
|
|
||||||
Module Name:
|
|
||||||
|
|
||||||
arith_simplifier_params.cpp
|
|
||||||
|
|
||||||
Abstract:
|
|
||||||
|
|
||||||
<abstract>
|
|
||||||
|
|
||||||
Author:
|
|
||||||
|
|
||||||
Leonardo de Moura (leonardo) 2008-05-09.
|
|
||||||
|
|
||||||
Revision History:
|
|
||||||
|
|
||||||
--*/
|
|
||||||
|
|
||||||
#include"arith_simplifier_params.h"
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
void arith_simplifier_params::register_params(ini_params & p) {
|
|
||||||
p.register_bool_param("arith_expand_eqs", m_arith_expand_eqs);
|
|
||||||
p.register_bool_param("arith_process_all_eqs", m_arith_process_all_eqs);
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,38 +0,0 @@
|
||||||
/*++
|
|
||||||
Copyright (c) 2006 Microsoft Corporation
|
|
||||||
|
|
||||||
Module Name:
|
|
||||||
|
|
||||||
pattern_inference_params.cpp
|
|
||||||
|
|
||||||
Abstract:
|
|
||||||
|
|
||||||
<abstract>
|
|
||||||
|
|
||||||
Author:
|
|
||||||
|
|
||||||
Leonardo de Moura (leonardo) 2008-03-24.
|
|
||||||
|
|
||||||
Revision History:
|
|
||||||
|
|
||||||
--*/
|
|
||||||
#include"pattern_inference_params.h"
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
void pattern_inference_params::register_params(ini_params & p) {
|
|
||||||
p.register_unsigned_param("pi_max_multi_patterns", m_pi_max_multi_patterns,
|
|
||||||
"when patterns are not provided, the prover uses a heuristic to infer them. This option sets the threshold on the number of extra multi-patterns that can be created. By default, the prover creates at most one multi-pattern when there is no unary pattern");
|
|
||||||
p.register_bool_param("pi_block_loop_patterns", m_pi_block_loop_patterns,
|
|
||||||
"block looping patterns during pattern inference");
|
|
||||||
p.register_int_param("pi_arith", 0, 2, reinterpret_cast<int&>(m_pi_arith),
|
|
||||||
"0 - do not infer patterns with arithmetic terms, 1 - use patterns with arithmetic terms if there is no other pattern, 2 - always use patterns with arithmetic terms.");
|
|
||||||
p.register_bool_param("pi_use_database", m_pi_use_database);
|
|
||||||
p.register_unsigned_param("pi_arith_weight", m_pi_arith_weight, "default weight for quantifiers where the only available pattern has nested arithmetic terms.");
|
|
||||||
p.register_unsigned_param("pi_non_nested_arith_weight", m_pi_non_nested_arith_weight, "default weight for quantifiers where the only available pattern has non nested arithmetic terms.");
|
|
||||||
p.register_bool_param("pi_pull_quantifiers", m_pi_pull_quantifiers, "pull nested quantifiers, if no pattern was found.");
|
|
||||||
p.register_int_param("pi_nopat_weight", m_pi_nopat_weight, "set weight of quantifiers without patterns, if negative the weight is not changed.");
|
|
||||||
p.register_bool_param("pi_avoid_skolems", m_pi_avoid_skolems);
|
|
||||||
p.register_bool_param("pi_warnings", m_pi_warnings, "enable/disable warning messages in the pattern inference module.");
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -19,6 +19,8 @@ Revision History:
|
||||||
#ifndef _THEORY_ARRAY_PARAMS_H_
|
#ifndef _THEORY_ARRAY_PARAMS_H_
|
||||||
#define _THEORY_ARRAY_PARAMS_H_
|
#define _THEORY_ARRAY_PARAMS_H_
|
||||||
|
|
||||||
|
#include"array_simplifier_params.h"
|
||||||
|
|
||||||
enum array_solver_id {
|
enum array_solver_id {
|
||||||
AR_NO_ARRAY,
|
AR_NO_ARRAY,
|
||||||
AR_SIMPLE,
|
AR_SIMPLE,
|
||||||
|
@ -26,7 +28,7 @@ enum array_solver_id {
|
||||||
AR_FULL
|
AR_FULL
|
||||||
};
|
};
|
||||||
|
|
||||||
struct theory_array_params {
|
struct theory_array_params : public array_simplifier_params {
|
||||||
array_solver_id m_array_mode;
|
array_solver_id m_array_mode;
|
||||||
bool m_array_weak;
|
bool m_array_weak;
|
||||||
bool m_array_extensional;
|
bool m_array_extensional;
|
||||||
|
@ -36,8 +38,6 @@ struct theory_array_params {
|
||||||
bool m_array_always_prop_upward;
|
bool m_array_always_prop_upward;
|
||||||
bool m_array_lazy_ieq;
|
bool m_array_lazy_ieq;
|
||||||
unsigned m_array_lazy_ieq_delay;
|
unsigned m_array_lazy_ieq_delay;
|
||||||
bool m_array_canonize_simplify;
|
|
||||||
bool m_array_simplify; // temporary hack for disabling array simplifier plugin.
|
|
||||||
|
|
||||||
theory_array_params():
|
theory_array_params():
|
||||||
m_array_mode(AR_FULL),
|
m_array_mode(AR_FULL),
|
||||||
|
@ -48,9 +48,7 @@ struct theory_array_params {
|
||||||
m_array_cg(false),
|
m_array_cg(false),
|
||||||
m_array_always_prop_upward(true), // UPWARDs filter is broken... TODO: fix it
|
m_array_always_prop_upward(true), // UPWARDs filter is broken... TODO: fix it
|
||||||
m_array_lazy_ieq(false),
|
m_array_lazy_ieq(false),
|
||||||
m_array_lazy_ieq_delay(10),
|
m_array_lazy_ieq_delay(10) {
|
||||||
m_array_canonize_simplify(false),
|
|
||||||
m_array_simplify(true) {
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
#if 0
|
Loading…
Reference in a new issue