module Flags: sig
.. end
command line evaluation
Evaluates the command line arguments so that it can be used by Config.create
.
Prints a help message if requested.
Types
type
flag_id
a flag is identified by its id.
opt_xxx
The valid arguments for the flags which accept strings.
type
opt_equality =
the valid arguments for the equality flag,
i.e. how the predicate symbol = should be interpreted.
type
opt_backtracking =
| |
BT_Naive |
| |
BT_Backjumping |
the valid arguments for the backtracking flag.
type
opt_iterative_deepening =
| |
IT_TermDepth |
| |
IT_TermWeight |
the valid arguments for the iterative deepening flag.
type
opt_restart =
| |
RS_Eager |
| |
RS_Lazy |
| |
RS_Delayed |
the valid arguments for the restarting strategies flag.
Restarting is done when no refutation is possible within the current depth bound,
and no model has been found within the current bound
Bound
.
type
opt_neg_assert_candidates =
| |
NAC_Ignore |
| |
NAC_Lookahead |
| |
NAC_Use |
how to handle negative assert candidates.
type
opt_lemma =
| |
LM_None |
| |
LM_Grounded |
| |
LM_Lifted |
| |
LM_Propositional |
lemma computation.
type
opt_preprocess_split =
| |
PPS_None |
| |
PPS_Ground |
| |
PPS_NonGround |
preprocessing of input clauses by splitting into smaller clauses.
type
opt_input_format =
| |
FI_TME |
| |
FI_TPTP |
| |
FI_Darwin |
the supported input formats.
type
opt_print_fd_problem =
| |
PFD_Silent |
| |
PFD_Print |
| |
PFD_Exit |
printing of finite domain problems for each domain size.
Flags
class type [['a, 'b]]
flag_type = object
.. end
signature for all flags
the different flag types
type
flag_type_bool = (bool, bool) flag_type
type
flag_type_int = (int, int) flag_type
type
flag_type_float = (float, float) flag_type
type
flag_type_unit = (unit, unit) flag_type
type
flag_type_string = (string, string) flag_type
type
flag_type_equality = (opt_equality, string) flag_type
type
flag_type_backtracking = (opt_backtracking, string) flag_type
type
flag_type_iterative_deepening = (opt_iterative_deepening, string) flag_type
type
flag_type_restart = (opt_restart, string) flag_type
type
flag_type_neg_assert_candidates = (opt_neg_assert_candidates, string) flag_type
type
flag_type_lemma = (opt_lemma, string) flag_type
type
flag_type_preprocess_split = (opt_preprocess_split, string) flag_type
type
flag_type_input_format = (opt_input_format, string) flag_type
type
flag_type_print_fd_problem = (opt_print_fd_problem, string) flag_type
type
flag
unifies the different flag types.
type
flags = private {
|
flags : flag list ; |
|
mutable problem_file_name : string ; |
}
the result of the evaluation of the command line.
Functions
Creation
val eval_command_line : unit -> flags
creates a configuration based on the command line options.
val create : string -> flags
create file_name
creates a default configuration.
Access
These access functions map straightforward to the corresponding ones in Config
.
val resolve : flags -> flag_type_bool
val subsume : flags -> flag_type_bool
val compact : flags -> flag_type_bool
val productivity : flags -> flag_type_bool
val mixed_literals : flags -> flag_type_bool
val finite_domain : flags -> flag_type_bool
val finite_domain_functionality : flags -> flag_type_bool
val lemma : flags -> flag_type_lemma
val lemma_min : flags -> flag_type_int
val lemma_max : flags -> flag_type_int
val lemma_uip : flags -> flag_type_bool
val lemma_parametric_assert : flags -> flag_type_int
val equality : flags -> flag_type_equality
val plus_v : flags -> flag_type_bool
val backtracking : flags -> flag_type_backtracking
val iterative_deepening : flags -> flag_type_iterative_deepening
val deepening_bound : flags -> flag_type_int
val lookahead_exceeding : flags -> flag_type_bool
val restart : flags -> flag_type_restart
val jumping : flags -> flag_type_bool
val neg_assert_candidates : flags -> flag_type_neg_assert_candidates
val eprover : flags -> flag_type_string
val preprocess_split : flags -> flag_type_preprocess_split
val preprocess_unit : flags -> flag_type_bool
val preprocess_pure : flags -> flag_type_bool
val preprocess_resolution : flags -> flag_type_bool
val preprocess_equality : flags -> flag_type_bool
val input_format : flags -> flag_type_input_format
val time_out_CPU : flags -> flag_type_float
val time_out_WC : flags -> flag_type_float
val memory_limit : flags -> flag_type_int
val print_level : flags -> flag_type_int
val print_preprocess_split : flags -> flag_type_bool
val print_preprocess_unit : flags -> flag_type_bool
val print_preprocess_pure : flags -> flag_type_bool
val print_preprocess_resolution : flags -> flag_type_bool
val print_preprocess_equality : flags -> flag_type_bool
val print_configuration : flags -> flag_type_bool
val print_lemmas : flags -> flag_type_bool
val print_finite_domain_sorts : flags -> flag_type_bool
val print_finite_domain_transformation : flags -> flag_type_bool
val print_finite_domain_axioms : flags -> flag_type_bool
val print_finite_domain_problem : flags -> flag_type_print_fd_problem
val print_equality_axioms : flags -> flag_type_bool
val print_statistics : flags -> flag_type_bool
val print_model_context : flags -> flag_type_bool
val print_model_context_file : flags -> flag_type_string
val print_model_DIG : flags -> flag_type_bool
val print_model_DIG_file : flags -> flag_type_string
val print_model_ARM : flags -> flag_type_bool
val print_model_finite : flags -> flag_type_bool
val print_model_tptp : flags -> flag_type_bool
val print_model_tptp_file : flags -> flag_type_string
val print_derivation_online : flags -> flag_type_bool
val print_derivation_context_unifier : flags -> flag_type_bool
val print_assert_candidates : flags -> flag_type_bool
val print_split_candidates : flags -> flag_type_bool
val problem_file_name : flags -> string
val zipped_file_name : flags -> string
if zip support is enabled (
Zip_wrapper.enabled
),
and a zipped input file has been given,
its name is provided here.
Flag Processing
type 'a
apply_to_flag = {
}
for reasons of the type system it is not possible to pass
the function contained in this type directly to
Flags.process_flag
.
To prevent hat
'b 'c
are instantiated to the first tested flag subtypes stored in a flag
this polymorphic record has to be used (at least as in OCaml 3.08).
Example: The description of a flag is returned with
Flags.process_flag flag { Flags.apply = fun flag -> flag#description }
val process_flag : flag -> 'a apply_to_flag -> 'a