mirror of
https://github.com/Z3Prover/z3
synced 2025-04-24 09:35:32 +00:00
finished script for auto-gen of install_tactic procedure
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
This commit is contained in:
parent
fab47f5f7d
commit
ec43b3bf7a
11 changed files with 88 additions and 211 deletions
|
@ -32,7 +32,8 @@ probe * mk_is_unbounded_probe();
|
|||
tactic * mk_add_bounds_tactic(ast_manager & m, params_ref const & p = params_ref());
|
||||
|
||||
/*
|
||||
ADD_TACTIC("add-bounds", "add bounds to unbounded variables (under approximation).", "mk_add_bounds_tactic(m, p)")
|
||||
ADD_TACTIC("add-bounds", "add bounds to unbounded variables (under approximation).", "mk_add_bounds_tactic(m, p)")
|
||||
ADD_PROBE("is-unbounded", "true if the goal contains integer/real constants that do not have lower/upper bounds.", "mk_is_unbounded_probe()")
|
||||
*/
|
||||
|
||||
#endif
|
||||
|
|
|
@ -30,4 +30,8 @@ tactic * mk_pb2bv_tactic(ast_manager & m, params_ref const & p = params_ref());
|
|||
|
||||
probe * mk_is_pb_probe();
|
||||
|
||||
/*
|
||||
ADD_PROBE("is-pb", "true if the goal is a pseudo-boolean problem.", "mk_is_pb_probe()")
|
||||
*/
|
||||
|
||||
#endif
|
||||
|
|
|
@ -25,15 +25,35 @@ probe * mk_arith_max_bw_probe();
|
|||
probe * mk_arith_avg_degree_probe();
|
||||
probe * mk_arith_max_degree_probe();
|
||||
|
||||
/*
|
||||
ADD_PROBE("arith-max-deg", "max polynomial total degree of an arithmetic atom.", "mk_arith_max_degree_probe()")
|
||||
ADD_PROBE("arith-avg-deg", "avg polynomial total degree of an arithmetic atom.", "mk_arith_avg_degree_probe()")
|
||||
ADD_PROBE("arith-max-bw", "max coefficient bit width.", "mk_arith_max_bw_probe()")
|
||||
ADD_PROBE("arith-avg-bw", "avg coefficient bit width.", "mk_arith_avg_bw_probe()")
|
||||
*/
|
||||
|
||||
probe * mk_is_qflia_probe();
|
||||
probe * mk_is_qflra_probe();
|
||||
probe * mk_is_qflira_probe();
|
||||
probe * mk_is_ilp_probe();
|
||||
probe * mk_is_mip_probe();
|
||||
|
||||
/*
|
||||
ADD_PROBE("is-qflia", "true if the goal is in QF_LIA.", "mk_is_qflia_probe()")
|
||||
ADD_PROBE("is-qflra", "true if the goal is in QF_LRA.", "mk_is_qflra_probe()")
|
||||
ADD_PROBE("is-qflira", "true if the goal is in QF_LIRA.", "mk_is_qflira_probe()")
|
||||
ADD_PROBE("is-ilp", "true if the goal is ILP.", "mk_is_ilp_probe()")
|
||||
*/
|
||||
|
||||
probe * mk_is_qfnia_probe();
|
||||
probe * mk_is_qfnra_probe();
|
||||
probe * mk_is_nia_probe();
|
||||
probe * mk_is_nra_probe();
|
||||
|
||||
/*
|
||||
ADD_PROBE("is-qfnia", "true if the goal is in QF_NIA (quantifier-free nonlinear integer arithmetic).", "mk_is_qfnia_probe()")
|
||||
ADD_PROBE("is-qfnra", "true if the goal is in QF_NRA (quantifier-free nonlinear real arithmetic).", "mk_is_qfnra_probe()")
|
||||
ADD_PROBE("is-nia", "true if the goal is in NIA (nonlinear integer arithmetic, formula may have quantifiers).", "mk_is_nia_probe()")
|
||||
ADD_PROBE("is-nra", "true if the goal is in NRA (nonlinear real arithmetic, formula may have quantifiers).", "mk_is_nra_probe()")
|
||||
*/
|
||||
#endif
|
||||
|
|
|
@ -33,5 +33,6 @@ tactic * mk_bv1_blaster_tactic(ast_manager & m, params_ref const & p = params_re
|
|||
probe * mk_is_qfbv_eq_probe();
|
||||
/*
|
||||
ADD_TACTIC("bv1-blast", "reduce bit-vector expressions into bit-vectors of size 1 (notes: only equality, extract and concat are supported).", "mk_bv1_blaster_tactic(m, p)")
|
||||
ADD_PROBE("is-qfbv-eq", "true if the goal is in a fragment of QF_BV which uses only =, extract, concat.", "mk_is_qfbv_eq_probe()")
|
||||
*/
|
||||
#endif
|
||||
|
|
|
@ -55,20 +55,44 @@ public:
|
|||
|
||||
typedef ref<probe> probe_ref;
|
||||
|
||||
probe * mk_const_probe(double val);
|
||||
|
||||
probe * mk_memory_probe();
|
||||
probe * mk_depth_probe();
|
||||
probe * mk_size_probe();
|
||||
|
||||
/*
|
||||
ADD_PROBE("memory", "ammount of used memory in megabytes.", "mk_memory_probe()")
|
||||
ADD_PROBE("depth", "depth of the input goal.", "mk_depth_probe()")
|
||||
ADD_PROBE("size", "number of assertions in the given goal.", "mk_size_probe()")
|
||||
*/
|
||||
|
||||
probe * mk_num_exprs_probe();
|
||||
probe * mk_const_probe(double val);
|
||||
probe * mk_num_consts_probe();
|
||||
probe * mk_num_bool_consts_probe();
|
||||
probe * mk_num_arith_consts_probe();
|
||||
probe * mk_num_bv_consts_probe();
|
||||
|
||||
/*
|
||||
ADD_PROBE("num-exprs", "number of expressions/terms in the given goal.", "mk_num_exprs_probe()")
|
||||
ADD_PROBE("num-consts", "number of non Boolean constants in the given goal.", "mk_num_consts_probe()")
|
||||
ADD_PROBE("num-bool-consts", "number of Boolean constants in the given goal.", "mk_num_bool_consts_probe()")
|
||||
ADD_PROBE("num-arith-consts", "number of arithmetic constants in the given goal.", "mk_num_arith_consts_probe()")
|
||||
ADD_PROBE("num-bv-consts", "number of bit-vector constants in the given goal.", "mk_num_bv_consts_probe()")
|
||||
*/
|
||||
|
||||
probe * mk_produce_proofs_probe();
|
||||
probe * mk_produce_models_probe();
|
||||
probe * mk_produce_unsat_cores_probe();
|
||||
probe * mk_has_pattern_probe();
|
||||
|
||||
/*
|
||||
ADD_PROBE("produce-proofs", "true if proof generation is enabled for the given goal.", "mk_produce_proofs_probe()")
|
||||
ADD_PROBE("produce-model", "true if model generation is enabled for the given goal.", "mk_produce_models_probe()")
|
||||
ADD_PROBE("produce-unsat-cores", "true if unsat-core generation is enabled for the given goal.", "mk_produce_unsat_cores_probe()")
|
||||
ADD_PROBE("has-patterns", "true if the goal contains quantifiers with patterns.", "mk_has_pattern_probe()")
|
||||
*/
|
||||
|
||||
// Some basic combinators for probes
|
||||
probe * mk_not(probe * p1);
|
||||
probe * mk_and(probe * p1, probe * p2);
|
||||
|
@ -88,4 +112,9 @@ probe * mk_div(probe * p1, probe * p2);
|
|||
probe * mk_is_propositional_probe();
|
||||
probe * mk_is_qfbv_probe();
|
||||
|
||||
/*
|
||||
ADD_PROBE("is-propositional", "true if the goal is in propositional logic.", "mk_is_propositional_probe()")
|
||||
ADD_PROBE("is-qfbv", "true if the goal is in QF_BV.", "mk_is_qfbv_probe()")
|
||||
*/
|
||||
|
||||
#endif
|
||||
|
|
|
@ -22,5 +22,8 @@ Notes:
|
|||
#include"tactical.h"
|
||||
|
||||
tactic * mk_ctx_solver_simplify_tactic(ast_manager & m, params_ref const & p = params_ref());
|
||||
/*
|
||||
ADD_TACTIC("ctx-solver-simplify", "apply solver-based contextual simplification rules.", "mk_ctx_solver_simplify_tactic(m, p)")
|
||||
*/
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue