AltErgoLib.OptionsSome values are defined once and for all in the options module since it will be opened in each module. Even though it's not a good habit to do so this will stay like this until the next PR that's supposed to clean some parts of the program
type instantiation_heuristic = | INormalLeast costly heuristic for instantiation, instantiate on a reduced set of term
*)| IAutoDefault Heuristic that try to do the normal heuristic and then try a greedier instantiation if no new instance have been made
*)| IGreedyForce instantiation to be the greedier as possible, use all available ground terms
*)Type used to describe the type of heuristic for instantiation wanted by set_instantiation_heuristic
type interpretation = | INoneDefault, No interpretation computed
*)| IFirstCompute an interpretation after the first instantiation and output it at the end of the executionn
*)| IEveryCompute an interpretation before every instantiation and return the last one computed
*)| ILastCompute only the last interpretation just before returning SAT/Unknown
*)Type used to describe the type of interpretation wanted by set_interpretation
type input_format = | NativeNative Alt-Ergo format
*)| Smtlib2 of smtlib2_version| Why3Why3 file format
*)| Unknown of stringUnknown file format
*)Type used to describe the type of input wanted by set_input_format
type output_format = input_formatType used to describe the type of output wanted by set_output_format
Type used to register the status, if known, of the input problem
Set debug accessible with get_debug
Set debug_ac accessible with get_debug_ac
Set debug_adt accessible with get_debug_adt
Set debug_arith accessible with get_debug_arith
Set debug_arrays accessible with get_debug_arrays
Set debug_bitv accessible with get_debug_bitv
Set debug_cc accessible with get_debug_cc
Set debug_combine accessible with get_debug_combine
Set debug_constr accessible with get_debug_constr
Set debug_explanations accessible with get_debug_explanations
Set debug_fm accessible with get_debug_fm
Set debug_intervals accessible with get_debug_intervals
Set debug_gc accessible with get_debug_gc
Set debug_interpretation accessible with get_debug_interpretation
Set debug_ite accessible with get_debug_ite
Set debug_sat accessible with get_debug_sat
Set debug_split accessible with get_debug_split
Set debug_triggers accessible with get_debug_triggers
Set debug_types accessible with get_debug_types
Set debug_uf accessible with get_debug_uf
Set debug_unsat_core accessible with get_debug_unsat_core
Set debug_use accessible with get_debug_use
Set debug_warnings accessible with get_debug_warnings
Set debug_commands accessible with get_debug_commands
Set debug_optimize accessible with get_debug_optimize
Set profiling accessible with get_profiling
Set timers accessible with get_timers
Set type_only accessible with get_type_only
Set age_bound accessible with get_age_bound
Set bottom_classes accessible with get_bottom_classes
val set_fm_cross_limit : Numbers.Q.t -> unitSet fm_cross_limit accessible with get_fm_cross_limit
Set frontend accessible with get_frontend
val set_instantiation_heuristic : instantiation_heuristic -> unitSet instantiation_heuristic accessible with get_instantiation_heuristic
Set inline_lets accessible with get_inline_lets
val set_input_format : input_format option -> unitSet input_format accessible with get_input_format
val set_interpretation : interpretation -> unitSet interpretation accessible with get_interpretation
Possible values are :
Set strict_mode accessible with get_strict_mode.
dump_models accessible with get_dump_models.
Set interpretation_use_underscore accessible with get_interpretation_use_underscore
Set objectives_in_interpretation accessible with get_objectives_in_interpretation
val set_max_split : Numbers.Q.t -> unitSet max_split accessible with get_max_split
Set nb_triggers accessible with get_nb_triggers
Set no_ac accessible with get_no_ac
Set no_ematching accessible with get_no_ematching
Set no_nla accessible with get_no_nla
Set no_user_triggers accessible with get_no_user_triggers
Set normalize_instances accessible with get_normalize_instances
val set_output_format : output_format -> unitSet output_format accessible with get_output_format
val set_model_type : model_type -> unitSet model_type accessible with get_model_type
Set parse_only accessible with get_parse_only
Set restricted accessible with get_restricted
Set rewriting accessible with get_rewriting
Set rule accessible with get_rule
Set save_used_context accessible with get_save_used_context
Set steps_bound accessible with get_steps_bound
Set term_like_pp accessible with get_term_like_pp
Set timelimit accessible with get_timelimit
Set triggers_var accessible with get_triggers_var
Set type_smt2 accessible with get_type_smt2
Set unsat_core accessible with get_unsat_core
Set verbose accessible with get_verbose
Set status accessible with get_status
Set file accessible with get_file
Setters used by parse_command
val set_case_split_policy : Util.case_split_policy -> unitSet case_split_policy accessible with get_case_split_policy
Set enable_adts_cs accessible with get_enable_adts_cs
Set enable_sat_cs accessible with get_enable_sat_cs
Set replay accessible with get_replay
Set replay_all_used_context accessible with get_replay_all_used_context
Set replay_used_context accessible with get_replay_used_context
Set output_with_colors accessible with get_output_with_colors
Set output_with_headers accessible with get_output_with_headers
Set output_with_formatting accessible with get_output_with_formatting
Set output_with_forced_flush accessible with get_output_with_forced_flush
Set infer_output_format accessible with get_infer_output_format
Set preludes accessible with get_preludes
val set_theory_preludes : Theories.prelude list -> unitSet theory_preludes accessible with get_theory_preludes
Set disable_weaks accessible with get_disable_weaks
Set enable_assertions accessible with get_enable_assertions
Set warning_as_error accessible with get_warning_as_error
Set exit_on_error accessible with get_exit_on_error
Set timelimit_interpretation accessible with get_timelimit_interpretation
Set timelimit_per_goal accessible with get_timelimit_per_goal
Set cumulative_time_profiling accessible with get_cumulative_time_profiling
Set profiling_period accessible with get_profiling_period
Set profiling_plugin accessible with get_profiling_plugin
Set instantiate_after_backjump accessible with get_instantiate_after_backjump
Set max_multi_triggers_size accessible with get_max_multi_triggers_size
Set arith_matching accessible with get_arith_matching
Set cdcl_tableaux_inst accessible with get_cdcl_tableaux_inst
Set cdcl_tableaux_th accessible with get_cdcl_tableaux_th
Set disable_flat_formulas_simplification accessible with get_disable_flat_formulas_simplification
Set enable_restarts accessible with get_enable_restarts
Set minimal_bj accessible with get_minimal_bj
Set no_backjumping accessible with get_no_backjumping
Set no_backward accessible with get_no_backward
Set no_decisions accessible with get_no_decisions
Set no_decisions_on accessible with get_no_decisions_on
Set no_sat_learning accessible with get_no_sat_learning
Set sat_plugin accessible with get_sat_plugin
val set_sat_solver : Util.sat_solver -> unitSet sat_solver accessible with get_sat_solver
Set disable_ites accessible with get_disable_ites
Set disable_adts accessible with get_disable_adts
Set no_fm accessible with get_no_fm
Set no_tcp accessible with get_no_tcp
Set no_theory accessible with get_no_theory
Set tighten_vars accessible with get_tighten_vars
Set session_file accessible with get_session_file
Set used_context_file accessible with get_used_context_file
Default value for all the debug flags is false
Get the debugging flag of commands. If enabled, Alt-Ergo will display all the commands that are sent to the solver.
Get the debugging flag of optimize. If enabled, Alt-Ergo will output debugging messages about the optimization of values in models.
Replay unsat-cores produced by get_unsat_core. The option implies get_unsat_core returns true.
Get the debugging flag of E-matching
Possible values are
val get_case_split_policy : unit -> Util.case_split_policyValue specifying the case-split policy.
Possible values are :
Default to after-theory-assume
true if case-split for Algebraic Datatypes theory is enabled.
Default to false
true if case-split are performed in the SAT solver rather than the theory solver (only for CDCL solver and for select theories).
Default to false
val get_max_split : unit -> Numbers.Q.tValuget_e specifying the maximum size of case-split.
Default to 1_000_000
true if replay with all axioms and predicates saved in .used files of the current directory is enabled.
Default to false
true if replay with axioms and predicates saved in .used file is enabled.
Default to false
true if used axioms and predicates will be saved in a .used file. This option implies get_unsat_core returns true.
Default to false
true if the locations of goals is shown when printing solver's answers.
Default to true
true if the outputs are printed with headers
Default to true
true if the outputs are printed with formatting rules
Default to true
true if the outputs are flushed at the end of every print
Default to true
Valuget_e of the currently selected parsing and typing frontend.
Default to legacy
val get_input_format : unit -> input_format optionValue specifying the default input format. Useful when the extension does not allow to automatically select a parser (eg. JS mode, GUI mode, ...). possible values are
If None, Alt-Ergo will automatically infer the input format according to the file extension.
Default to None
val get_theory_preludes : unit -> Theories.prelude listList of theory preludes to load.
true if the GC is prevented from collecting hashconsed data structrures that are not reachable (useful for more determinism).
Default to false
true if verification of some heavy invariants is enabled.
Default to false
val get_fm_cross_limit : unit -> Numbers.Q.tValue specifying the limit above which Fourier-Motzkin variables elimination steps that may produce a number of inequalities that is greater than this limit are skipped. However, unit eliminations are always done.
Default to 10_000
Value specifying the time limit (not supported on Windows).
Default to 0.
Value specifying the time limit for model generation (not supported on Windows).
Default to 1. (not supported on Windows)
Value specifying the given timelimit for each goal in case of multiple goals per file. In this case, time spent in preprocessing is separated from resolution time.
$Not relevant for GUI-mode.
Default to false
Experimental support for counter-example generation.
Possible values are :
Which are used in the four getters below. This option answers true if the interpretation is set to First, Before_end, Before_dec or Before_inst.
Note that get_max_split limitation will be ignored in model generation phase.
Default to false
true if the interpretation for each goal or check-sat is printed.
Default to false.
true if the interpretation is set to first interpretation
Default to false
true if the interpretation is set to compute interpretation before every instantiation
Default to false
true if the interpretation is set to compute interpretation before the solver return unknown
Default to false
true if the interpretation_use_underscore is set to output _ instead of fresh values
Default to false
true if the objectives_in_interpretation is set to inline pretty-printing of optimized expressions in the model instead of a dedicated section '(objectives ...)'. Be aware that the model may be shrunk or not accurate if some expressions to optimize are unbounded.
Default to false
val get_output_format : unit -> output_formatValue specifying the default output format. possible values are
.
Default to Native
true if the output format is set to smtlib2 or why3
Default to false
val get_model_type : unit -> model_typeValue specifying the default model type. possible values are
.
Default to Value
true if the model kind is set to constraints .
Default to false
true if Alt-Ergo infers automatically the output format according to the the file extension or the input format if set.
Default to true
true if experimental support for unsat-cores is on.
Default to false
true if the profiling module is activated.
Use Ctrl-C to switch between different views and Ctrl + AltGr + \ to exit.
Default to false
Value specifying the profiling module frequency.
Default to 0.
true if the time spent in called functions is recorded in callers
Default to false
Value specifying which module is used as a profiling plugin.
Default to false
true if profiling is set to true (automatically enabled)
Default to false
val get_instantiation_heuristic : unit -> instantiation_heuristicValue specifying the instantiation heuristic. possible values are
.
Default to IAuto
true if a (normal) instantiation round is made after every backjump/backtrack.
Default to false
Value specifying the max number of terms allowed in multi-triggers.
Default to 4
true if matching modulo ground equalities is disabled.
Default to false
true if user triggers are ignored except for triggers of theories axioms
Default to false
true if generated substitutions are normalised by matching w.r.t. the state of the theory.
This means that only terms that are greater (w.r.t. depth) than the initial terms of the problem are normalized.
Default to false
true if (the weak form of) matching modulo linear arithmetic is disabled.
Default to true
true if backjumping mechanism in the functional SAT solver is disabled.
Default to false
true if equivalence classes at each bottom of the SAT are shown.
Default to false
val get_sat_solver : unit -> Util.sat_solverValue specifying which SAT solver is being used.
Possible values are:
CDCL-tableaux : CDCL SAT-solver with formulas filtering based on tableaux method
CDCL : CDCL SAT-solver
Tableaux : SAT-solver based on tableaux method
Tableaux-CDCL : Tableaux method assisted with a CDCL SAT-solver
Default to CDCL-tableaux
true if the use of a tableaux-like method for instantiations is enabled with the CDCL solver if satML is used.
Default to true
true if the use of a tableaux-like method for theories is enabled with the CDCL solver if satML is used.
Default to true
true if the use of a tableaux-like method for theories or instantiations is enabled with the CDCL solver if satML is used.
Default to true
true if the tableaux SAT-solver is used with CDCL assist.
Default to false
true if minimal backjumping in satML CDCL solver is enabled
Default to true
true if facts simplification is disabled in satML's flat formulas.
Default to false
true if learning/caching of unit facts in the Default SAT is disabled. These facts are used to improve bcp.
Default to true (sat_learning is active)
true if handling of ite(s) on terms in the backend is disabled.
Default to false
true if substitution of variables bounds by Let is enabled. The default behavior is to only substitute variables that are bound to a constant, or that appear at most once.
Default to false
true if rewriting is used instead of axiomatic approach.
Default to false
true if the AC (Associative and Commutative) theory is disabled for function symbols.
Default to false
true if non-linear arithmetic reasoning (i.e. non-linear multplication, division and modulo on integers and rationals) is disabled. Non-linear multiplication remains AC.
Default to false
true if backward reasoning step (starting from the goal) done in the default SAT solver before deciding is disabled.
Default to false
true if the set of decision procedures (equality, arithmetic and AC) is restricted.
Default to false
true if the best bounds for arithmetic variables is computed.
Default to false
Possible values are
output rule used on stderr.
Default to -1
val get_status : unit -> known_statusValue specifying the status of the file given to Alt-Ergo
Default to Status_Unknown
Value specifying the session file (base_name.agr) handled by Alt-Ergo
Default to false
Value specifying the base name of the file (with no extension)
Default to false
module Time : sig ... endwith_timelimit_if cond f is:
Time.with_timeout (get_timeout ()) f when cond is truef () otherwiseGlobal functions used throughout the whole program
val match_extension : string -> input_formatExtra
This functions are use to print or set the output used to print debug or error informations
module Output : sig ... endOutput channels manager.
module Sources : sig ... endPrint message as comment in the corresponding output format