Library
Module
Module type
Parameter
Class
Class type
type _ key =
| Log_level : int key
Log level.
Values:
0
).| Produce_models : bool key
Model generation.
Values:
true
: enablefalse
: disable [default]This option cannot be enabled in combination with option Pp_unconstrained_optimization
.
| Produce_unsat_assumptions : bool key
Unsat assumptions generation.
Values:
true
: enablefalse
: disable [default]| Produce_unsat_cores : bool key
Unsat core generation.
Values:
true
: enablefalse
: disable [default].| Seed : int key
Seed for random number generator.
Values:
42
].| Verbosity : int key
Verbosity level.
Values:
0
].| Time_limit_per : int key
Time limit in milliseconds per satisfiability check.
Values:
0
].| Memory_limit : int key
Memory limit in MB.
Values:
0
].| Bv_solver : bv_solver key
| Rewrite_level : int key
Rewrite level.
Values:
0
: no rewriting1
: term level rewriting2
: term level rewriting and full preprocessing [default]This is an expert option to configure rewriting.
*)| Sat_solver : sat_solver key
Configure the SAT solver engine.
Values:
Cadical
[default]: [CaDiCaL](https://github.com/arminbiere/cadical)Cms
: [CryptoMiniSat](https://github.com/msoos/cryptominisat)Kissat
: [Kissat](https://github.com/arminbiere/kissat)| Prop_const_bits : bool key
Propagation-based local search solver engine: Constant bits.
Configure constant bit propagation (requries bit-blasting to AIG).
Values:
true
: enable [default]false
: disableThis is an expert option to configure the prop solver engine.
*)| Prop_ineq_bounds : bool key
Propagation-based local search solver engine: Infer bounds for inequalities for value computation.
When enabled, infer bounds for value computation for inequalities based on satisfied top level inequalities.
Values:
true
: enablefalse
: disable [default]This is an expert option to configure the prop solver engine.
*)| Prop_nprops : int key
Propagation-based local search solver engine: Number of propagations.
Configure the number of propagations used as a limit for the propagation-based local search solver engine. No limit if 0.
Values:
0
].This is an expert option to configure the prop solver engine.
*)| Prop_nupdates : int key
Propagation-based local search solver engine: Number of updates.
Configure the number of model value updates used as a limit for the propagation-based local search solver engine. No limit if 0.
Values:
0
].This is an expert option to configure the prop solver engine.
*)| Prop_opt_lt_concat_sext : bool key
Propagation-based local search solver engine: Optimization for inverse value computation of inequalities over concat and sign extension operands.
When enabled, use optimized inverse value value computation for inequalities over concats.
Values:
true
: enablefalse
: disable [default]This is an expert option to configure the prop solver engine.
*)| Prop_path_sel : prop_path_sel key
Propagation-based local search solver engine: Path selection.
Configure mode for path selection.
Values:
Essential
[default]: Select path based on essential inputs.Random
: Select path randomly.This is an expert option to configure the prop solver engine.
*)| Prop_prob_pick_rand_input : int key
Propagation-based local search solver engine: Probability for selecting random input.
Configure the probability with which to select a random input instead of an essential input when selecting the path.
Values:
0
].This is an expert option to configure the prop solver engine.
*)| Prop_prob_pick_inv_value : int key
Propagation-based local search solver engine: Probability for inverse values.
Configure the probability with which to choose an inverse value over a consistent value when aninverse value exists.
Values:
990
].This is an expert option to configure the prop solver engine.
*)| Prop_sext : bool key
Propagation-based local search solver engine: Value computation for sign extension.
When enabled, detect sign extension operations (are rewritten on construction) and use value computation for sign extension.
Values:
true
: enablefalse
: disable [default]This is an expert option to configure the prop solver engine.
*)| Prop_normalize : bool key
Propagation-based local search solver engine: Local search specific normalization.
When enabled, perform normalizations for local search, on the local search layer (does not affect node layer).
Values:
true
: enablefalse
: disable [default]This is an expert option to configure the prop solver engine.
*)| Preprocess : bool key
Preprocessing
When enabled, applies all enabled preprocessing passes.
Values:
true
: enable [default]false
: disable| Pp_contr_ands : bool key
Preprocessing: Find contradicting bit-vector ands
When enabled, substitutes contradicting nodes of kind #BV_AND with zero.
Values:
true
: enable [default]false
: disable| Pp_elim_extracts : bool key
Preprocessing: Eliminate bit-vector extracts on bit-vector constants
When enabled, eliminates bit-vector extracts on constants.
Values:
true
: enable [default]false
: disable| Pp_embedded : bool key
Preprocessing: Embedded constraint substitution
When enabled, substitutes assertions that occur as sub-expression in the formula with their respective Boolean value.
Values:
true
: enable [default]false
: disable| Pp_flatten_and : bool key
Preprocessing: AND flattening
Values:
true
: enable [default]false
: disable| Pp_normalize : bool key
Preprocessing: Normalization
Values:
true
: enable [default]false
: disable| Pp_skeleton_preproc : bool key
Preprocessing: Boolean skeleton preprocessing
Values:
true
: enable [default]false
: disable| Pp_variable_subst : bool key
Preprocessing: Variable substitution
Values:
true
: enable [default]false
: disable| Pp_variable_subst_norm_eq : bool key
Preprocessing: Variable substitution: Equality Normalization
Values:
true
: enable [default]false
: disable| Pp_variable_subst_norm_diseq : bool key
Preprocessing: Variable substitution: Bit-Vector Inequality Normalization
Values:
true
: enable [default]false
: disable| Pp_variable_subst_norm_bv_ineq : bool key
Preprocessing: Variable substitution: Bit-Vector Inequality
Values:
true
: enable [default]false
: disable| Dbg_rw_node_thresh : int key
Debug: Threshold for number of new nodes introduced for recursive call of rewrite().
Prints a warning number of newly introduced nodes is above threshold.
This is an expert debug option.
*)| Dbg_pp_node_thresh : int key
Debug: Threshold for formula size increase after preprocessing in percent.
Prints a warning if formula size increase is above threshold.
This is an expert debug option.
*)| Check_model : bool key
Debug: Check models for each satisfiable query.
This is an expert debug option.
*)| Check_unsat_core : bool key
Debug: Check unsat core for each unsatisfiable query.
This is an expert debug option.
*)The options supported by Bitwuzla.
val to_string : 'a key -> string
to_string opt
Returns the long name of this option.
val description : 'a key -> string
description opt
Returns the description of this option.
val default_value : 'a key -> 'a
default_value opt
Returns the default value of this option.
val min : int key -> int
min opt
Returns the minimum numeric option value.
val max : int key -> int
max opt
Returns the maximum numeric option value.
val default : unit -> t
default ()
creates a set of options initialized with default values.