Index of values

A
abs [BigInt]
add [Coercion]

adds a new coercion from function ls: ty1 -> ty2 raises an error if this introduces a cycle, i.e. a coercion from ty2 to ty1 is already defined;, function ls cannot be used as a coercion, e.g. ty1 = ty2;, a coercion from ty1 to ty2 is already defined

add [BigInt]
add [Extset.S]

add x s returns a set containing the same elements as s, plus x.

add [Extmap.S]

add x y m returns a map containing the same bindings as m, plus a binding of x to y.

add_builtin [Env]

add_builtin lang builtin adds new builtin libraries to lang.

add_clone_internal [Theory]
add_data_decl [Task]
add_data_decl [Theory]
add_decl [Task]
add_decl [Theory]
add_decl_with_tuples [Theory]
add_decls [Trans]
add_file [Controller_itp]

add_fil cont ?fmt fname parses the source file fname and add the resulting theories to the session of cont.

add_file_section [Session_itp]

add_file_section s fn ths adds a new 'file' section in session s, named fn, containing fresh theory subsections corresponding to theories ths.

add_flush [Pp]
add_ind_decl [Task]
add_ind_decl [Theory]
add_int [BigInt]
add_left [Extset.S]

add_left s x is the same as add x s.

add_logic_decl [Task]
add_logic_decl [Theory]
add_meta [Pmodule]
add_meta [Task]
add_meta [Theory]
add_new [Extset.S]

add_new e x s adds x to s if s does not contain x, and raises e otherwise.

add_new [Extmap.S]

add_new e x v m binds x to v in m if x is not bound, and raises e otherwise.

add_param_decl [Task]
add_param_decl [Theory]
add_pdecl [Pmodule]

add_pdecl ~vc m d adds declaration d in module m.

add_plugin [Whyconf]
add_prop_decl [Task]
add_prop_decl [Theory]
add_rliteral_map [Printer]
add_strategy [Whyconf]
add_syntax_map [Printer]
add_tdecl [Task]
add_tdecls [Trans]

add_decls ld t1 adds decls ld at the end of the task t1 (before the goal)

add_ty_decl [Task]
add_ty_decl [Theory]
all [Util]
all2 [Util]
all2_fn [Util]

all2_fn pr z a b return true if pr a b is true, otherwise raise FoldSkip

all_fn [Util]

all_fn pr z a return true if pr a is true, otherwise raise FoldSkip

alld [Util]
alt [Pp]
alt2 [Pp]
annot_attr [Ity]
any [Util]
any2 [Util]
any2_fn [Util]

any2_fn pr z a b return false if pr a b is false, otherwise raise FoldSkip

any_fn [Util]

any_fn pr z a return false if pr a is false, otherwise raise FoldSkip

any_iter_proof_attempt [Session_itp]
any_proved [Session_itp]
anyd [Util]
append_to_model_element_name [Ident]

The returned set of attributes will contain the same set of attributes as argument attrs except that an attribute of the form "model_trace:*@*" will be "model_trace:*to_append@*".

append_to_model_trace_attr [Ident]

The returned set of attributes will contain the same set of attributes as argument attrs except that an attribute of the form "model_trace:*" will be "model_trace:*to_append".

apply [Trans]
apply [Lists]

apply f [a1;..;an] returns (f a1)@...@(f an)

apply [Opt]
apply2 [Opt]
apply_trans_to_goal [Session_itp]

apply_trans_to_goal s env tr args id applies the transformation tr with arguments args to the goal id, and returns the subtasks.

apply_transform [Trans]

apply a registered 1-to-1 or a 1-to-n, directly.

apply_transform_args [Trans]

apply a registered 1-to-1 or a 1-to-n or a trans with args, directly

aprinter [Pretty.Printer]
arrow [Pp]
asd [Pp]

add string delimiter " "

asym_split [Term]
attr_compare [Ident]
attr_equal [Ident]
attr_hash [Ident]
attr_w_non_conservative_extension_no [Theory]
axiom_of_invariant [Pdecl]

axiom_of_invariant itd returns a closed formula that postulates the type invariant of itd for all values of the type

B
base_language [Env]

base_language is the root of the tree of supported languages.

base_language_builtin [Env]

base_language_builtin path returns the builtin theories defined by the base language.

bind [Trans]
bind_comp [Trans]
bindings [Extmap.S]

Return the list of all bindings of the given map.

bisect_proof_attempt [Controller_itp.Make]

bisect_proof_attempt ~callback_tr ~callback_pa ~notification ~removed cont id runs a bisection process based on the proof attempt id of the session managed by cont.

blocking [Controller_itp.Scheduler]

Set to true when the scheduler should wait for results of why3server (script), false otherwise (ITP which needs reactive scheduling)

bool_module [Pmodule]
bool_theory [Theory]
bounded_split [Strings]

bounded_split c s n do the same as split c s but splits into n substring at most.

break_attr [Ity]
build_naming_tables [Args_wrapper]

builds a naming tabl from a task, suitable for both parsing/typing transformation arguments and for printing the task, with coherent identifiers names.

builtin_module [Pmodule]
builtin_theory [Theory]
C
c_any [Expr]
c_app [Expr]
c_fun [Expr]
c_ghost [Expr]
c_pur [Expr]
c_rs_subst [Expr]
call_editor [Call_provers]
call_on_buffer [Driver]
call_on_buffer [Call_provers]

Build a prover call on the task already printed in the Buffer.t given.

capitalize [Strings]
cardinal [Extset.S]

Return the number of elements in a set.

cardinal [Extmap.S]

Return the number of bindings of a map.

catch_unsupportedDecl [Printer]

same as Printer.catch_unsupportedType but use UnsupportedDecl instead of UnsupportedType

catch_unsupportedTerm [Printer]

same as Printer.catch_unsupportedType but use UnsupportedExpr instead of UnsupportedType

catch_unsupportedType [Printer]

catch_unsupportedType f return a function which applied on arg: return f arg if f arg does not raise Printer.Unsupported exception, raise UnsupportedType (arg,s) if f arg raises Unsupported s

change [Extset.S]

change f x s returns a set containing the same elements as s, except x which is added to s if f (mem x s) returns true and removed otherwise.

change [Extmap.S]

change f x m returns a map containing the same bindings as m, except the binding of x in m is changed from y to f (Some y) if m contains a binding of x, otherwise the binding of x becomes f None.

change_prover [Session_itp]

change_prover s id opr npr changes the prover of the proof attempt using prover opr by the new prover npr.

char_is_uppercase [Strings]
char_to_alnum [Ident]
char_to_alnumus [Ident]
char_to_alpha [Ident]
char_to_lalnum [Ident]
char_to_lalnumus [Ident]
char_to_lalpha [Ident]
char_to_ualpha [Ident]
check_exhaustive [Rc]

check_exhaustive section keys check that only the keys in keys appear inside the section section

check_float [Number]

check_float c fp is the same as compute_float c fp but does not return any value.

check_if_already_exists [Session_itp]
check_literal [Term]
check_range [Number]

check_range c ir checks that c is in the range described by ir, and raises OutOfRange c if not.

check_syntax_logic [Printer]
check_syntax_type [Printer]
choose [Extset.S]

Return one element of the given set, or raise Not_found if the set is empty.

choose [Extmap.S]

Return one binding of the given map, or raise Not_found if the map is empty.

chop [Lists]

removes the first n elements of a list; raises Invalid_argument if the list is not long enough

chop_last [Lists]

removes (and returns) the last element of a list

clean [Controller_itp.Make]

Remove each proof attempt or transformation that are below proved goals, that are either obsolete or not valid.

clear [Weakhtbl.S]
clone_export [Pmodule]
clone_export [Task]
clone_export [Theory]
clone_meta [Theory]

clone_meta td_meta th sm produces from td_meta a new Meta tdecl instantiated with respect to sm.

clone_post_result [Ity]
clone_theory [Theory]
close_file_and_formatter [Pp]
close_formatter [Pp]
close_module [Pmodule]
close_scope [Pmodule]
close_scope [Theory]
close_theory [Theory]
coercion_attr [Pretty]
colon [Pp]
comma [Pp]
compare [BigInt]
compare [Loc]
compare [Wstdlib.OrderedHashedType]
compare [Extset.S]

Total ordering between sets.

compare [Extmap.S]

Total ordering between maps.

compare [Lists]
compare [Opt]
compose [Trans]
compose_l [Trans]
compute_float [Number]

compute_float c fp checks that c is a float literal representable in the format fp.

compute_int_constant [Number]
compute_int_literal [Number]
computer_div [BigInt]
computer_div_mod [BigInt]

"computer" division, i.e division rounds towards zero, and thus mod x y has the same sign as x

computer_mod [BigInt]
cons [Lists]
const [Util]
const2 [Util]
const3 [Util]
const_of_big_int [Number]
const_of_int [Number]
constant_formatted [Pp]
constant_string [Pp]
contains [Extset.S]

contains s x is the same as mem x s.

contains [Extmap.S]

contains m x is the same as mem x m.

copy [Weakhtbl.S]
copy_paste [Controller_itp.Make]
create [Pretty]
create [Weakhtbl.S]
create_alias_decl [Pdecl]

create_alias_decl id args def creates a new alias type declaration.

create_alias_itysymbol [Ity]

create_alias_itysymbol id args def creates a new type alias.

create_attribute [Ident]
create_call_set [Decl]
create_constructor [Expr]
create_controller [Controller_itp]

creates a controller for the given session.

create_cty [Ity]

create_cty ?mask ?defensive args pre post xpost oldies effect result creates a new cty.

create_cty_defensive [Ity]

same as create_cty, except that type variables in the result and exceptional results are spoiled and fresh regions in the result and exceptional results are reset.

create_data_decl [Decl]
create_debugging_trans [Trans]
create_decl [Theory]
create_env [Env]

creates an environment from a "loadpath", a list of directories containing loadable Why3/WhyML/etc files

create_exn_decl [Pdecl]
create_float_decl [Pdecl]

create_float_decl id fp creates a new float type declaration.

create_float_itysymbol [Ity]

create_float_itysymbol id f creates a new float type.

create_fsymbol [Term]

~constr is the number of constructors of the type in which the symbol is a constructor otherwise it must be the default 0.

create_ident_printer [Ident]

start a new printer with a sanitizing function and a blacklist

create_ind_decl [Decl]
create_let_decl [Pdecl]
create_logic_decl [Decl]
create_lsymbol [Term]
create_meta [Theory]
create_model_trace_attr [Ident]
create_module [Pmodule]
create_param_decl [Decl]
create_plain_record_decl [Pdecl]

create_plain_record_decl ~priv ~mut id args fields invl witn creates a declaration for a non-recursive record type, possibly private and/or mutable.

create_plain_record_itysymbol [Ity]

create_plain_record_itysymbol ~priv ~mut id args fields invl creates a new type symbol for a non-recursive record type, possibly private or mutable.

create_plain_variant_decl [Pdecl]

create_plain_variant_decl id args constructors creates a declaration for a non-recursive algebraic type.

create_plain_variant_itysymbol [Ity]

create_plain_variant_itysymbol id args fields creates a new type symbol for a non-recursive algebraic type.

create_post [Ity]
create_prog_pattern [Expr]
create_projection [Expr]
create_prop_decl [Decl]
create_prsymbol [Decl]
create_psymbol [Term]
create_pure_decl [Pdecl]
create_pvsymbol [Ity]
create_range [Number]
create_range_decl [Pdecl]

create_range_decl id ir creates a new range type declaration.

create_range_itysymbol [Ity]

create_range_itysymbol id r creates a new range type.

create_rec_itysymbol [Ity]

create_rec_itysymbol id args creates a new type symbol for a recursively defined type.

create_rec_record_decl [Pdecl]

create_rec_record_decl its fields creates a declaration for a recursive record type.

create_rec_variant_decl [Pdecl]

create_rec_variant_decl id args constructors creates a declaration for a recursive algebraic type.

create_region [Ity]

create_region id s tl rl creates a fresh region.

create_rsymbol [Expr]

If ?kind is supplied and is not RKnone, then cty must have no effects except for resets which are ignored.

create_tag [Weakhtbl]
create_theory [Theory]
create_tvsymbol [Ty]
create_ty_decl [Decl]
create_type_decl [Pdecl]
create_tysymbol [Ty]
create_use [Theory]
create_vs_graph [Decl]
create_vsymbol [Term]
create_xsymbol [Ity]
cty_add_post [Ity]

cty_add_post cty fl appends post-conditions in fl to cty.cty_post.

cty_add_pre [Ity]

cty_add_pre fl cty appends pre-conditions in fl to cty.cty_pre.

cty_apply [Ity]

cty_apply cty pvl rest res instantiates cty up to the types in pvl, rest, and res, then applies it to the arguments in pvl, and returns the computation type of the result, rest -> res, with every type variable and region in pvl being frozen.

cty_exec [Ity]

cty_exec cty converts a cty of a partial application into a cty of a fully applied application, returning a mapping.

cty_exec_post [Ity]

cty_exec_post cty returns a post-condition appropriate for use with local let-functions in VC generation.

cty_ghost [Ity]

cty_ghost cty returns cty.cty_effect.eff_ghost

cty_ghostify [Ity]

cty_ghostify ghost cty ghostifies the effect of cty.

cty_pure [Ity]

cty_pure cty verifies that cty has no side effects except allocations.

cty_read_post [Ity]

cty_read_post cty pvs adds pvs to cty.cty_effect.eff_reads.

cty_read_pre [Ity]

cty_read_pre pvs cty adds pvs to cty.cty_effect.eff_reads.

cty_reads [Ity]

cty_reads cty returns the set of external dependencies of cty.

cty_tuple [Ity]

cty_tuple pvl returns a nullary tuple-valued cty with an appropriate cty_mask.

current_offset [Loc]
D
d_equal [Decl]
d_hash [Decl]
datadir [Whyconf]
debug [Call_provers]

debug flag for the calling procedure (option "--debug call_prover") If set call_on_buffer prints on stderr the commandline called and the output of the prover.

decl [Trans]

decl f t1 t2 adds to task t1 the declarations f d for each declaration d of task t2.

decl_fold [Decl.DeclTF]
decl_fold [Decl]
decl_l [Trans]

decl_l f t1 t2: on each declaration d of task t2 (with f d = ld_1; ld_2; ... ld_n), create n duplicates (newt_i) of t1 with the declaration d_i replaced by ld_i.

decl_map [Decl.DeclTF]
decl_map [Decl]
decl_map_fold [Decl.DeclTF]
decl_map_fold [Decl]
decr [Debug.Stats]
default_config [Whyconf]

default_config filename create a default configuration which is going to be saved in filename

default_delay_ms [Controller_itp]

Default delay for the scheduler timeout

default_editor [Whyconf]

editor name used when no specific editor known for a prover

default_loadpath [Whyconf]
desc_debug [Debug.Args]

Option for specifying a debug flag to set

desc_debug_all [Debug.Args]

Option for setting all info flags

desc_debug_list [Debug.Args]

Option for printing the list of debug flags

desc_shortcut [Debug.Args]

Option for setting a specific flag

diff [Extset.S]

diff f s1 s2 computes the difference of two sets

diff [Extmap.S]

diff f m1 m2 computes a map whose keys is a subset of keys of m1.

disjoint [Extset.S]

disjoint s1 s2 tests whether the sets s1 and s2 are disjoint.

disjoint [Extmap.S]

disjoint pr m1 m2 verifies that for every common key in m1 and m2, pr is verified.

diverges [Ity]
domain [Extmap.S]

domain m returns the set of keys of bindings in m

dot [Pp]
dprintf [Debug]

Print only if the flag is set

dummy_position [Loc]
dummy_tag [Weakhtbl]
E
e_absurd [Expr]
e_and [Expr]
e_app [Expr]
e_assert [Expr]
e_assign [Expr]
e_attr_add [Expr]
e_attr_copy [Expr]
e_attr_push [Expr]
e_attr_set [Expr]
e_const [Expr]
e_exec [Expr]
e_exn [Expr]
e_false [Expr]
e_fold [Expr]

e_fold does not descend into Cfun

e_for [Expr]
e_func_app [Expr]
e_func_app_l [Expr]
e_ghost [Expr]
e_ghostify [Expr]
e_if [Expr]
e_let [Expr]
e_locate_effect [Expr]

e_locate_effect pr e looks for a minimal sub-expression of e whose effect satisfies pr and returns its location

e_match [Expr]
e_nat_const [Expr]
e_not [Expr]
e_or [Expr]
e_pur [Expr]
e_pure [Expr]
e_raise [Expr]
e_rs_subst [Expr]
e_true [Expr]
e_tuple [Expr]
e_var [Expr]
e_void [Expr]
e_while [Expr]
editor_by_id [Whyconf]

return the configuration of the editor if found, otherwise return Not_found

eff_assign [Ity]
eff_bind [Ity]
eff_bind_single [Ity]
eff_catch [Ity]
eff_diverge [Ity]
eff_empty [Ity]
eff_equal [Ity]
eff_escape [Ity]
eff_ghostify [Ity]
eff_ghostify_weak [Ity]
eff_partial [Ity]
eff_pure [Ity]
eff_raise [Ity]
eff_read [Ity]
eff_read_post [Ity]
eff_read_pre [Ity]
eff_read_single [Ity]
eff_read_single_post [Ity]
eff_read_single_pre [Ity]
eff_reset [Ity]
eff_reset_overwritten [Ity]
eff_spoil [Ity]
eff_union_par [Ity]
eff_union_seq [Ity]
eff_write [Ity]
elements [Extset.S]

Return the list of all elements of the given set.

empty [Coercion]
empty [Rc]

An empty Rc

empty [Extset.S]

The empty set.

empty [Extmap.S]

The empty map.

empty_formatted [Pp]
empty_inst [Theory]
empty_limit [Call_provers]
empty_mod_inst [Pmodule]
empty_ns [Theory]
empty_section [Rc]

An empty section

empty_session [Session_itp]

create an empty_session in the directory specified by the argument

ends_with [Strings]

test if a string ends with another

env_tag [Env]
eq [BigInt]

comparisons

equal [Pp]
equal [Loc]
equal [Wstdlib.OrderedHashedType]
equal [Extset.S]

equal s1 s2 tests whether the sets s1 and s2 are equal.

equal [Extmap.S]

equal cmp m1 m2 tests whether the maps m1 and m2 are equal, that is, contain equal keys and associate them with equal data.

equal [Lists]
equal [Opt]
error [Loc]
errorm [Loc]
euclidean_div [BigInt]
euclidean_div_mod [BigInt]

Division and modulo operators with the convention that modulo is always non-negative.

euclidean_mod [BigInt]
exists [Extset.S]

exists p s checks if at least one element of s satisfies the predicate p.

exists [Extmap.S]

exists p m checks if at least one binding of the map satisfy the predicate p.

exit_with_usage [Whyconf.Args]
extract [Loc]
F
fd_of_rs [Expr]

raises Invalid_argument is rs_field is None

ffalse [Util]

ffalse constant function false

file_format [Session_itp]
file_iter_proof_attempt [Session_itp]
file_name [Session_itp]

File

file_of_task [Driver]

file_of_task d f th t produces a filename for the prover of driver d, for a task t generated from a goal in theory named th of filename f

file_of_theory [Driver]

file_of_theory d f th produces a filename for the prover of driver d, for a theory th from filename f

file_proved [Session_itp]
file_theories [Session_itp]
filter [Extset.S]

filter p s returns the set with all the elements of s that satisfy predicate p.

filter [Extmap.S]

filter p m returns the map with all the bindings in m that satisfy predicate p.

filter_one_prover [Whyconf]

find the uniq prover that verify the filter.

filter_prover [Whyconf]

test if the prover match the filter prover

filter_prover_with_shortcut [Whyconf]

resolve prover shortcut in filter

filter_provers [Whyconf]

Get all the provers that match this filter

find [Coercion]

returns the coercion, or raises Not_found

find [Weakhtbl.S]
find [Exthtbl.Private]

Same as Hashtbl.find

find [Extmap.S]

find x m returns the current binding of x in m, or raises Not_found if no such binding exists.

find_clone_tds [Task]
find_constructors [Decl]
find_def [Exthtbl.Private]

return the first binding or the given value if none found

find_def [Exthtbl.S]

return the first binding or the given value if none found

find_def [Extmap.S]

find_def x d m returns the current binding of x in m, or return d if no such binding exists.

find_exn [Exthtbl.Private]

return the first binding or raise the given exception if none found

find_exn [Exthtbl.S]

return the first binding or raise the given exception if none found

find_exn [Extmap.S]

find_exn exn x d m returns the current binding of x in m, or raise exn if no such binding exists.

find_inductive_cases [Decl]
find_its_defn [Pdecl]
find_logic_definition [Decl]
find_meta_tds [Task]
find_nth [Lists]

find_nth p l returns the index of the first element that satifies the predicate p.

find_opt [Exthtbl.Private]

return the first binding or None if none found

find_opt [Exthtbl.S]

return the first binding or None if none found

find_opt [Extmap.S]

find_opt x m returns the Some of the current binding of x in m, or return None if no such binding exists.

find_prop [Decl]
find_prop_decl [Decl]
find_symbol [Args_wrapper]
find_variant [Decl]
first [Lists]

first f l returns the first result of the application of f to an element of l which doesn't return None.

first_nth [Lists]

The combinaison of list_first and list_find_nth.

flag_desc [Debug]

get the description of the flag

flatten_rev [Lists]
flip [Util]
float [Pp]
focus_on_loading [Itp_server.Make]
fold [Trans]

Iterating transformations

fold [Weakhtbl.S]
fold [Exthtbl.Private]

Same as Hashtbl.fold

fold [Extset.S]

fold f s a computes (f eN ... (f e1 a)...), where e1 ... eN are the element of s in increasing order.

fold [Extmap.S]

fold f m a computes (f kN dN ... (f k1 d1 a)...), where k1 ... kN are the keys of all bindings in m (in increasing order), and d1 ... dN are the associated data.

fold [Opt]

fold f d o returns d if o is None, and f d x if o is Some x

fold2_inter [Extset.S]

fold2_inter f s1 s2 a computes (f eN ... (f e1 a) ...), where e1 ... eN are the elements of inter s1 s2 in increasing order.

fold2_inter [Extmap.S]

fold the common keys of two map at the same time

fold2_union [Extset.S]

fold2_union f s1 s2 a computes (f eN ... (f e1 a) ...), where e1 ... eN are the elements of union s1 s2 in increasing order.

fold2_union [Extmap.S]

fold the keys which appear in one of the two maps

fold_all_any [Session_itp]

fold_all_any s f acc any folds on all the subnodes of any

fold_all_session [Session_itp]

fold_all_session s f acc folds on the whole session

fold_decl [Trans]
fold_l [Trans]
fold_left [Extset.S]

same as Extset.S.fold but in the order of List.fold_left

fold_left [Extmap.S]

same as Extmap.S.fold but in the order of List.fold_left

fold_lefti [Lists]

similar to List.map, List.iter and List.fold_left, but with element index passed as extra argument (in 0..len-1)

fold_map [Trans]
fold_map_l [Trans]
fold_product [Lists]

fold_product f acc l1 l2 apply the function f with the accumulator acc on all the pair of elements of l1 and l2 tail-recursive

fold_product_l [Lists]

generalisation of Lists.fold_product; not tail-recursive

fold_right [Opt]
foldi [Util]
foldk [Weakhtbl.S]
for_all [Extset.S]

for_all p s checks if all the elements of s satisfy the predicate p.

for_all [Extmap.S]

for_all p m checks if all the bindings of the map satisfy the predicate p.

forget_all [Pretty.Printer]
forget_all [Ident]

forget all idents

forget_cty [Ity]
forget_id [Ident]

forget an ident

forget_pv [Ity]
forget_reg [Ity]
forget_rs [Expr]
forget_tvs [Pretty.Printer]
forget_var [Pretty.Printer]
forget_xs [Ity]
formatted [Pp]
fprintf_any [Session_itp]
from_channel [Rc]

from_channel cin returns the Rc of the input channel cin

from_file [Rc]

from_file filename returns the Rc of the file filename

fs_app [Term]
fs_bool_false [Term]
fs_bool_true [Term]
fs_func_app [Term]
fs_tuple [Term]
fs_void [Expr]
G
ge [BigInt]
gen_report_position [Loc]
gen_syntax_arguments_typed [Printer]
get [Loc]
get [Opt]
get_any_parent [Session_itp]
get_bool [Rc]

Same as Rc.get_int but on bool

get_booll [Rc]

Same as Rc.get_intl but on bool

get_boolo [Rc]
get_complete_command [Whyconf]

add the extra_options to the command

get_conf_file [Whyconf]

get_conf_file config get the rc file corresponding to this configuration

get_converter_map [Printer]
get_debug_formatter [Debug]

Get the formatter used when printing debug material

get_def [Opt]
get_default_printer_mapping [Printer]
get_dir [Session_itp]
get_editors [Whyconf]

returns the set of editors

get_encapsulating_file [Session_itp]
get_encapsulating_theory [Session_itp]
get_exn [Opt]
get_family [Whyconf]

get_family config name Same as Rc.get_family except name must not be prover

get_family [Rc]

get_family rc name return all the sections of the family name in rc

get_file [Session_itp]
get_files [Session_itp]
get_home_dir [Rc]

get_home_dir () returns the home dir of the user

get_int [Rc]

get_int ~default section key one key to one value

get_intl [Rc]

get_intl ~default section key one key to many value

get_into [Rc]
get_loadpath [Env]

returns the loadpath of a given environment

get_main [Whyconf]

get_main config get the main section stored in the Rc file

get_model_element_name [Ident]

If attributes contain an attribute of the form "model_trace:name@*", return "name".

get_model_trace_attr [Ident]

Return an attribute of the form "model_trace:*".

get_model_trace_string [Ident]

If attrs contain an attribute of the form "model_trace:mt_string", return "mt_string".

get_namespace [Theory]
get_new_results [Call_provers]

returns new results from why3server, in an unordered fashion.

get_policies [Whyconf]
get_proof_attempt_ids [Session_itp]
get_proof_attempt_node [Session_itp]
get_proof_attempt_parent [Session_itp]
get_proof_attempts [Session_itp]
get_proof_expl [Session_itp]
get_proof_name [Session_itp]
get_proof_parent [Session_itp]
get_prover_config [Whyconf]

get_prover_config config prover get the prover config as stored in the config.

get_prover_shortcuts [Whyconf]

return the prover shortcuts

get_prover_upgrade_policy [Whyconf]

get_prover_upgrade config returns a map providing the policy to follow for each absent prover (if it has already been decided by the user and thus stored in the config)

get_provers [Whyconf]

get_provers config get the prover family stored in the Rc file.

get_requests [Itp_server.Protocol]
get_rliteral_map [Printer]
get_section [Whyconf]

get_section config name Same as Rc.get_section except name must not be "main"

get_section [Rc]

get_section rc name

get_simple_family [Rc]

get_simple_family rc name return all the sections of the simple family name in rc

get_strategies [Whyconf]
get_string [Rc]

Same as Rc.get_int but on string

get_stringl [Rc]

Same as Rc.get_intl but on string

get_stringo [Rc]
get_sub_tasks [Session_itp]
get_syntax_map [Printer]
get_task [Session_itp]
get_task_name_table [Session_itp]
get_trans_parent [Session_itp]
get_transf_args [Session_itp]
get_transf_name [Session_itp]
get_transformations [Session_itp]
get_undetached_children_no_pa [Controller_itp]
goal [Trans]
goal_iter_proof_attempt [Session_itp]
goal_l [Trans]
graft_proof_attempt [Session_itp]

graft_proof_attempt s id pr file l adds a proof attempt with prover pr and limits l in the session s as a child of the task id.

graft_transf [Session_itp]

graft_transf s id name l tl adds the transformation name as a child of the task id of the session s.

gt [BigInt]
H
has_a_model_attr [Ident]

true when ident has one of the attributes above

has_prefix [Strings]

has_prefix pref s returns true if s s starts with prefix pref

has_suffix [Strings]

has_suffix suff s returns true if s s ends with suffix suff

hash [Loc]
hash [Wstdlib.OrderedHashedType]
hash [Exthtbl]

the same as Hashtbl.hash

highord_module [Pmodule]
highord_theory [Theory]
hov [Pp]
html_char [Pp]
html_string [Pp]

formats the string by escaping special HTML characters quote, double quote, <, > and &

I
id_attr [Ident]

create a duplicate pre-ident with given attributes

id_clone [Ident]

create a duplicate pre-ident

id_compare [Ident]
id_derive [Ident]

create a derived pre-ident (inherit attributes and location)

id_equal [Ident]
id_fresh [Ident]

create a fresh pre-ident

id_hash [Ident]
id_register [Ident]

register a pre-ident (you should never use this function)

id_unique [Ident]

use ident_printer to generate a unique name for ident an optional sanitizer is applied over the printer's sanitizer

id_unique_attr [Ident]

Do the same as id_unique except that it tries first to use the "name:" attribute to generate the name instead of id.id_string

id_user [Ident]

create a localized pre-ident

identity [Trans]
identity_l [Trans]
idle [Controller_itp.Scheduler]

idle prio f registers the function f as a function to be called whenever there is nothing else to do.

import_namespace [Theory]
import_scope [Pmodule]
import_scope [Theory]
incr [Debug.Stats]
indent [Pp]

add the indentation at the first line

inhabited [Opt]
init_server [Itp_server.Make]
initialize [Whyconf.Args]
int [Pp]
int_const_of_big_int [Number]
int_const_of_int [Number]
int_literal_bin [Number]

these four functions construct integer constant terms from some string s of digits in the corresponding base.

int_literal_dec [Number]
int_literal_hex [Number]
int_literal_oct [Number]
int_literal_raw [Number]
inter [Extset.S]

inter f s1 s2 computes the intersection of two sets

inter [Extmap.S]

inter f m1 m2 computes a map whose keys is a subset of the intersection of keys of m1 and of m2.

interrupt [Controller_itp.Make]

discards all scheduled proof attempts or transformations, including the ones already running

interrupt_call [Call_provers]

non-blocking function that asks for prover interruption

is_alias_type_def [Ty]
is_below [Session_itp]
is_detached [Session_itp]
is_e_false [Expr]
is_e_true [Expr]
is_e_void [Expr]
is_empty [Exthtbl.Private]

test if the hashtbl is empty

is_empty [Exthtbl.S]

test if the hashtbl is empty

is_empty [Extset.S]

Test whether a set is empty or not.

is_empty [Extmap.S]

Test whether a map is empty or not.

is_float_type_def [Ty]
is_fs_tuple [Term]
is_fs_tuple_id [Term]
is_info_flag [Debug]

test if the flag is an info flag

is_model_trace_attr [Ident]
is_negative [Number]
is_num_elt [Extset.S]

check if the map has the given number of elements

is_num_elt [Extmap.S]

check if the map has the given number of elements

is_prover_known [Whyconf]

test if a prover is detected

is_range_type_def [Ty]
is_root [Itp_communication]
is_rs_tuple [Expr]
is_ts_tuple [Ty]
is_ts_tuple_id [Ty]
isb_empty [Ity]
iter [Weakhtbl.S]
iter [Exthtbl.Private]

Same as Hashtbl.iter

iter [Extset.S]

iter f s applies f to all elements of s.

iter [Extmap.S]

iter f m applies f to all bindings in map m.

iter [Opt]
iterf [Util]

iterf f min max step

iteri [Lists]
iterk [Weakhtbl.S]
its_bool [Ity]
its_compare [Ity]
its_equal [Ity]
its_func [Ity]
its_hash [Ity]
its_int [Ity]
its_match_args [Ity]
its_match_regs [Ity]
its_pure [Ity]

a pure type symbol is immutable and has no mutable components

its_real [Ity]
its_tuple [Ity]
its_unit [Ity]
ity_app [Ity]

ity_app s tl rl creates an Ityapp type, if s is immutable, or, an Ityreg type on top of a fresh region, otherwise. If rl is empty, fresh subregions are created when needed.

ity_app_pure [Ity]

ity_app s tl rl creates an Ityapp type.

ity_bool [Ity]
ity_closed [Ity]

a closed type contains no type variables

ity_compare [Ity]
ity_equal [Ity]
ity_equal_check [Ity]
ity_exp_fold [Ity]
ity_fold [Ity]
ity_fragile [Ity]

a fragile type may contain a component with a broken invariant

ity_freeregs [Ity]
ity_freevars [Ity]
ity_freeze [Ity]
ity_full_inst [Ity]
ity_func [Ity]
ity_hash [Ity]
ity_int [Ity]
ity_match [Ity]
ity_of_ty [Ity]

fresh regions are created when needed.

ity_of_ty_pure [Ity]

pure snapshots are substituted when needed.

ity_pred [Ity]
ity_purify [Ity]

replaces regions with pure snapshots

ity_r_fold [Ity]
ity_r_occurs [Ity]
ity_r_reachable [Ity]
ity_r_stale [Ity]
ity_rch_fold [Ity]
ity_real [Ity]
ity_reg [Ity]
ity_s_fold [Ity]
ity_tuple [Ity]
ity_unit [Ity]
ity_v_fold [Ity]
ity_v_occurs [Ity]
ity_var [Ity]
J
join [Loc]
join [Strings]

join sep l joins all the strings in l together, in the same order, separating them by sep

K
keys [Extmap.S]

Return the list of all keys of the given map.

known_add_decl [Pdecl]
known_add_decl [Decl]
known_id [Pdecl]
known_id [Decl]
known_id [Ident]

Returns true if the printer already knows the id.

kp_attr [Vc]
L
lbrace [Pp]
lchevron [Pp]
ld_func_app [Expr]
le [BigInt]
length [Weakhtbl.S]
length [Exthtbl.Private]

Same as Hashtbl.length

let_rec [Expr]
let_sym [Expr]
let_var [Expr]
libdir [Whyconf]
limit_max [Call_provers]
list_attributes [Ident]
list_flags [Debug]

list the known flags

list_formats [Env]

list_formats lang returns the list of registered formats that can be translated to lang.

list_map_cont [Term]
list_metas [Theory]
list_printers [Printer]
list_trans [Trans]
list_transforms [Trans]
list_transforms_l [Trans]
list_transforms_with_args [Trans]
list_transforms_with_args_l [Trans]
load_driver [Whyconf]

wrapper for loading a driver from a file that may be relative to the datadir.

load_driver_absolute [Driver]

loads a driver from a file

load_plugins [Whyconf]
load_session [Session_itp]

load_session dir load a session in directory dir; all the tasks are initialised to None

loadpath [Whyconf]
local_decls [Task]

takes the result of used_symbols and returns the list of declarations that are not imported with those theories or derived thereof

locate_library [Env]

locate_library env path returns the location of the library file specified by path.

lookup_flag [Debug]

get the flag

lookup_meta [Theory]
lookup_printer [Printer]
lookup_trans [Trans]
lookup_trans_desc [Trans]
lookup_transform [Trans]
lookup_transform_l [Trans]
lowercase [Strings]
lparen [Pp]
ls_app_inst [Term]
ls_arg_inst [Term]
ls_compare [Term]
ls_decr_of_rec_defn [Expr]
ls_defn_axiom [Decl]
ls_defn_decrease [Decl]

ls_defn_decrease ld returns a list of argument positions (numbered from 0) that ensures a lexicographical structural descent for every recursive call.

ls_defn_of_axiom [Decl]

tries to reconstruct a definition from a defining axiom.

ls_equal [Term]
ls_hash [Term]
ls_of_rs [Expr]

raises Invalid_argument is rs_logic is not an RLls

ls_ty_freevars [Term]
lsquare [Pp]
lt [BigInt]
M
make_ls_defn [Decl]
make_record [Decl]
make_record_pattern [Decl]
make_record_update [Decl]
map [Exthtbl.Private]

a shortcut less efficient than possible

map [Exthtbl.S]

a shortcut less efficient than possible

map [Extmap.S]

map f m returns a map with same domain as m, where the associated value a of all bindings of m has been replaced by the result of the application of f to a.

map [Opt]
map2 [Opt]
map_filter [Extmap.S]

Same as Extmap.S.map, but may remove bindings.

map_filter [Lists]
map_fold [Opt]
map_fold_left [Lists]
map_fold_right [Lists]
map_join_left [Lists]
mapi [Extmap.S]

Same as Extmap.S.map, but the function receives as arguments both the key and the associated value for each binding of the map.

mapi [Lists]
mapi [Util]
mapi_filter [Extmap.S]

Same as Extmap.S.mapi, but may remove bindings.

mapi_filter_fold [Extmap.S]

Same as Extmap.S.mapi_fold, but may remove bindings.

mapi_fold [Extmap.S]

fold and map at the same time

mark_as_obsolete [Controller_itp.Make]
mark_obsolete [Session_itp]

mark_obsolete s id marks id as obsolete in s

mask_adjust [Ity]
mask_equal [Ity]
mask_ghost [Ity]
mask_of_pv [Ity]
mask_spill [Ity]
mask_union [Ity]
max [BigInt]
max_binding [Extmap.S]

Same as Extmap.S.min_binding, but returns the largest binding of the given map.

max_elt [Extset.S]

Return the largest element of the given set or raise Not_found if the set is empty.

mem [Weakhtbl.S]
mem [Exthtbl.Private]

Same as Hashtbl.mem

mem [Extset.S]

mem x s returns true if s contains x, and false otherwise.

mem [Extmap.S]

mem x m returns true if m contains a binding for x, and false otherwise.

memlimit [Whyconf]
memo [Exthtbl.S]

convenience function, memoize a function

memoize [Weakhtbl.S]
memoize_option [Weakhtbl.S]
memoize_rec [Weakhtbl.S]
merge [Extset.S]

merge f s1 s2 computes a set whose elts is a subset of elts of s1 and of s2.

merge [Extmap.S]

merge f m1 m2 computes a map whose keys is a subset of keys of m1 and of m2.

merge_config [Whyconf]

merge_config config filename merge the content of filename into config

merge_files [Session_itp]

merge_files ~use_shape_version env ses old_ses merges the file sections of session s with file sections of the same name in old session old_ses.

merge_known [Pdecl]
merge_known [Decl]
meta_coercion [Theory]
meta_equal [Theory]
meta_float [Theory]
meta_hash [Theory]
meta_projection [Theory]
meta_range [Theory]
meta_realized_theory [Printer]
meta_remove_logic [Printer]
meta_remove_prop [Printer]
meta_remove_type [Printer]
meta_syntax_converter [Printer]
meta_syntax_literal [Printer]
meta_syntax_logic [Printer]
meta_syntax_type [Printer]
min [BigInt]

min, max, abs

min_binding [Extmap.S]

Return the smallest binding of the given map (with respect to the Ord.compare ordering), or raise Not_found if the map is empty.

min_elt [Extset.S]

Return the smallest element of the given set or raise Not_found if the set is empty.

minus [BigInt]
mk_filter_prover [Whyconf]
mk_tds [Task]
mlw_language [Pmodule]
mlw_language_builtin [Pmodule]
mod0 [Debug.Stats]
mod1 [Debug.Stats]
mod2 [Debug.Stats]
model_projected_attr [Ident]
model_vc_attr [Ident]
model_vc_havoc_attr [Ident]
model_vc_post_attr [Ident]
mul [BigInt]
mul_int [BigInt]
multiplier [Controller_itp.Scheduler]

Number of allowed task given to why3server is this number times the number of allowed proc on the machine.

N
named [Trans]

give transformation a name without registering

newline [Pp]
newline2 [Pp]
next_enum [Extmap.S]

get the next step of the enumeration

next_ge_enum [Extmap.S]

get the next (or same) step of the enumeration which key is greater or equal to the given key

notImplemented [Printer]
nothing [Pp]
notify [Itp_server.Protocol]
ns_find_its [Pmodule]
ns_find_ls [Theory]
ns_find_ns [Pmodule]
ns_find_ns [Theory]
ns_find_pr [Theory]
ns_find_prog_symbol [Pmodule]
ns_find_pv [Pmodule]
ns_find_rs [Pmodule]
ns_find_ts [Theory]
ns_find_xs [Pmodule]
nt_attr [Vc]
num_digits [BigInt]

number of digits

O
of_int [BigInt]
of_list [Extset.S]

construct a set from a list of elements

of_list [Extmap.S]

construct a map from a list of bindings.

of_string [BigInt]

conversions

on_cloned_theory [Trans]
on_cloned_theory [Task]
on_converter_map [Printer]
on_flag [Trans]

on_flag m ft def arg takes an exclusive meta m of type [MTstring], a hash table ft, a default flag value def, and an argument arg.

on_flag_t [Trans]
on_meta [Trans]
on_meta [Task]
on_meta_excl [Trans]
on_meta_excl [Task]
on_syntax_map [Printer]
on_tagged_ls [Trans]
on_tagged_ls [Task]
on_tagged_pr [Trans]
on_tagged_pr [Task]
on_tagged_ts [Trans]
on_tagged_ts [Task]
on_tagged_ty [Trans]

on_tagged_* m f allow to do a transformation having all the tagged declarations in a set as argument of f.

on_tagged_ty [Task]
on_used_theory [Trans]
on_used_theory [Task]
one [BigInt]
op_cut [Ident]
op_equ [Ident]
op_get [Ident]
op_infix [Ident]
op_lcut [Ident]
op_neq [Ident]
op_prefix [Ident]
op_rcut [Ident]
op_set [Ident]
op_tight [Ident]
op_update [Ident]
open_file_and_formatter [Pp]
open_formatter [Pp]
open_ls_defn [Decl]
open_ls_defn_cb [Decl]
open_post [Ity]
open_post_with [Ity]
open_scope [Pmodule]
open_scope [Theory]
option_list [Debug.Args]

Print the list of flags if requested (in this case return true).

oty_compare [Ty]
oty_cons [Ty]
oty_equal [Ty]
oty_freevars [Ty]
oty_hash [Ty]
oty_inst [Ty]
oty_match [Ty]
oty_type [Ty]
overload_of_rs [Pmodule]
P
pa_proved [Session_itp]
pad_right [Strings]

chop or pad the given string on the right up to the given length

par [Trans]

parallelize transformations: par l will duplicate the current task in n new tasks, with n the length of l, and apply to each of this new task the corresponding transformation in l

parse_filter_prover [Whyconf]

parse the string representing a filter_prover: "name,version,altern", "name,version" -> "name,version,^.*", "name,,altern" -> "name,^.*,altern", "name" -> "name,^.*,^.*" regexp must start with ^.

parse_record [Decl]

parse_record kn field_list takes a list of record field assignments, checks it for well-formedness and returns the corresponding constructor, the full list of projection symbols, and the map from projection symbols to assigned values.

part [Lists]

part cmp l returns the list of the congruence classes with respect to cmp.

partial [Ity]
partition [Extset.S]

partition p s returns a pair of sets (s1, s2), where s1 contains all the elements of s that satisfy the predicate p, and s2 is the map with all the elements of s that do not satisfy p.

partition [Extmap.S]

partition p m returns a pair of maps (m1, m2), where m1 contains all the bindings of s that satisfy the predicate p, and m2 is the map with all the bindings of s that do not satisfy p.

pat_all [Term]
pat_any [Term]
pat_app [Term]
pat_as [Term]
pat_fold [Term]
pat_map [Term]
pat_or [Term]
pat_var [Term]
pat_wild [Term]
pd_bool [Pdecl]
pd_equ [Pdecl]
pd_func [Pdecl]
pd_func_app [Pdecl]
pd_int [Pdecl]
pd_real [Pdecl]
pd_tuple [Pdecl]
plugins [Whyconf]
pluginsdir [Whyconf]
pn_proved [Session_itp]
post_of_expr [Expr]
pow_int_pos [BigInt]

power of small integers.

pow_int_pos_bigint [BigInt]
pprinter [Pretty.Printer]
pr_equal [Decl]
pr_hash [Decl]
pred [BigInt]
prefix [Lists]

the first n elements of a list

preid_name [Ident]
prepare_edition [Controller_itp.Make]

prepare_edition c ?file id pr prepare for editing the proof of node id with prover pr.

prepare_task [Driver]
print [Number]
print [Debug.Stats]
print [Extset.S]
print0 [Pp]
print_attr [Pretty.Printer]
print_binop [Pretty.Printer]
print_constant [Number]
print_cs [Pretty.Printer]
print_cs_qualified [Pretty.Printer]
print_cty [Ity]
print_data_decl [Pretty.Printer]
print_decl [Pretty.Printer]
print_decoded [Ident]
print_expr [Expr]
print_filter_prover [Whyconf]
print_id_attrs [Pretty.Printer]
print_in_base [Number]

print_in_base radix digits fmt i prints the value of i in base radix.

print_in_file [Pp]
print_in_file_no_close [Pp]
print_ind_decl [Pretty.Printer]
print_interface [Printer]
print_iter1 [Pp]
print_iter2 [Pp]

print_iter2 iter sep1 sep2 print1 print2 fmt t iter iterator on t : 'c print1 k sep2 () print2 v sep1 () print1 sep2 () ...

print_iter22 [Pp]

print_iter22 iter sep print fmt t iter iterator on t : 'c print k v sep () print k v sep () ...

print_its [Ity]
print_ity [Ity]
print_ity_full [Ity]
print_let_defn [Expr]
print_list [Pp]
print_list_delim [Pp]
print_list_next [Pp]
print_list_opt [Pp]
print_list_or_default [Pp]
print_list_par [Pp]
print_list_pre [Pp]
print_list_suf [Pp]
print_loc [Pretty.Printer]
print_logic_decl [Pretty.Printer]
print_ls [Pretty.Printer]
print_ls_qualified [Pretty.Printer]
print_meta [Trans]

print_meta f m is an identity transformation that prints every meta m in the task if flag d is set

print_meta_arg [Pretty.Printer]
print_meta_arg_type [Pretty.Printer]
print_meta_desc [Theory]
print_module [Pmodule]
print_msg [Itp_communication]
print_namespace [Pretty.Printer]
print_next_data_decl [Pretty.Printer]
print_next_ind_decl [Pretty.Printer]
print_next_logic_decl [Pretty.Printer]
print_notify [Itp_communication]
print_option [Pp]
print_option_or_default [Pp]
print_pair [Pp]
print_pair_delim [Pp]

print_pair_delim left_delim middle_delim right_delim

print_param_decl [Pretty.Printer]
print_pat [Pretty.Printer]
print_pdecl [Pdecl]
print_pkind [Pretty.Printer]
print_pr [Pretty.Printer]
print_pr_qualified [Pretty.Printer]
print_prelude [Printer]
print_proofAttemptID [Session_itp]
print_proofNodeID [Session_itp]
print_prop_decl [Pretty.Printer]
print_prover [Whyconf]
print_prover_answer [Call_provers]
print_prover_parseable_format [Whyconf]
print_prover_result [Call_provers]

Pretty-print a prover_result.

print_prover_upgrade_policy [Whyconf]
print_pv [Ity]
print_pvty [Ity]
print_quant [Pretty.Printer]
print_reg [Ity]
print_request [Itp_communication]
print_rs [Expr]
print_sequent [Pretty.Printer]
print_session [Controller_itp]
print_spec [Ity]
print_status [Controller_itp]
print_strategy_status [Controller_itp]
print_task [Driver]
print_task [Pretty.Printer]
print_task_prepared [Driver]
print_tdecl [Pretty.Printer]
print_term [Pretty.Printer]
print_th [Pretty.Printer]
print_th_prelude [Printer]
print_th_qualified [Pretty.Printer]
print_theory [Driver]

produce a realization of the given theory using the given driver

print_theory [Pretty.Printer]
print_trans_status [Controller_itp]
print_ts [Pretty.Printer]
print_ts_qualified [Pretty.Printer]
print_tv [Pretty.Printer]
print_ty [Pretty.Printer]
print_ty_decl [Pretty.Printer]
print_ty_qualified [Pretty.Printer]
print_unit [Pmodule]
print_vs [Pretty.Printer]
print_vsty [Pretty.Printer]
print_xs [Ity]
prove_task [Driver]
prove_task_prepared [Driver]
prover_parseable_format [Whyconf]
proxy_attr [Expr]
ps_app [Term]
ps_equ [Term]

equality predicate

pv_compare [Ity]
pv_equal [Ity]
pv_hash [Ity]
pvs_of_vss [Ity]
Q
query_call [Call_provers]

non-blocking function that reports any new updates from the server related to a given prover call.

query_converter [Printer]
query_syntax [Printer]
R
rbrace [Pp]
rchevron [Pp]
read_channel [Env]

read_channel ?format lang env file ch returns the contents of ch in language lang.

read_config [Whyconf]

read_config conf_file : If conf_file is given, then, if it is an empty string, an empty config is loaded,, if the file doesn't exist, Rc.CannotOpen is raised,, otherwise the content of the file is parsed and returned., If conf_file is None and the WHY3CONFIG environment variable exists, then the above steps are executed with the content of the variable (possibly empty)., If neither conf_file nor WHY3CONFIG are present, the file "$HOME/.why3.conf" (or "$USERPROFILE/.why3.conf" under Windows) is checked for existence:, if present, the content is parsed and returned,, otherwise, we return the built-in default_config with a default configuration filename.

read_file [Session_itp]
read_file [Env]

an open-close wrapper around read_channel

read_library [Env]

read_library lang env path returns the contents of the library file specified by path.

read_module [Pmodule]
read_theory [Env]

read_theory env path th returns the theory path.th from the library.

real_const_dec [Number]

real_const_dec integer_part decimal_part exp return the real that corresponds to "integer_part.decimal_part * 10^exp".

real_const_hex [Number]
reg_compare [Ity]
reg_equal [Ity]
reg_equal_check [Ity]
reg_exp_fold [Ity]
reg_fold [Ity]
reg_freeregs [Ity]
reg_freevars [Ity]
reg_freeze [Ity]
reg_full_inst [Ity]
reg_hash [Ity]
reg_match [Ity]
reg_r_fold [Ity]
reg_r_occurs [Ity]
reg_r_reachable [Ity]
reg_r_stale [Ity]
reg_rch_fold [Ity]
reg_s_fold [Ity]
reg_v_fold [Ity]
reg_v_occurs [Ity]
register [Debug.Stats]
register_call [Decl]
register_env_transform [Trans]
register_env_transform_l [Trans]
register_flag [Debug]

register a new flag.

register_format [Env]

register_format ~desc lang fname exts parser registers a new format fname for files with extensions from the string list exts (without the separating dot).

register_info_flag [Debug]

register a new info flag.

register_int [Debug.Stats]
register_language [Env]

register_language parent convert adds a leaf to the language tree.

register_meta [Theory]
register_meta_excl [Theory]

With exclusive metas, each new meta cancels the previous one.

register_observer [Controller_itp.Make]

records a hook that will be called with the number of waiting tasks, scheduled tasks, and running tasks, each time these numbers change

register_printer [Printer]
register_transform [Trans]
register_transform_l [Trans]
register_transform_with_args [Trans]
register_transform_with_args_l [Trans]
reload_files [Controller_itp]

reload_files returns a pair (o,d): o true means there are obsolete goals, d means there are missed objects (goals, transformations, theories or files) that are now detached in the session returned.

reloc [Loc]
remove [Weakhtbl.S]
remove [Extset.S]

remove x s returns a set containing the same elements as s, except for x.

remove [Extmap.S]

remove x m returns a map containing the same bindings as m, except for x which is unbound in the returned map.

remove_left [Extset.S]

remove_left s x is the same as remove x s.

remove_model_attrs [Ident]

Remove the counter-example attributes from an attribute set

remove_prefix [Strings]

remove_prefix pref s removes the prefix pref from s.

remove_proof_attempt [Session_itp]

remove_proof_attempt s id pr removes the proof attempt from the prover pr from the proof node id of the session s

remove_prop [Printer]
remove_subtree [Controller_itp]

remove a subtree of the session, taking care of not removing any proof attempt in progress.

remove_subtree [Session_itp]

remove_subtree s a ~removed ~notification remove the subtree originating from node a in session s.

remove_suffix [Strings]

remove_suffix suff s removes the suffix suff from s.

remove_transformation [Session_itp]

remove_transformation s id removes the transformation id from the session s

replace [Extmap.S]

replace e x v m binds x to v in m if x is already bound, and raises e otherwise.

replay [Controller_itp.Make]

This function reruns all the proofs of the session under the given any (None means the whole session), and produces a report comparing the results with the former ones.

replay_print [Controller_itp.Make]
report_position [Loc]
restore_its [Ity]

raises Not_found if the argument is not a its_ts

restore_module [Pmodule]

retrieves a module from its underlying theory raises Not_found if no such module exists

restore_path [Pmodule]

restore_path id returns the triple (library path, module, qualified symbol name) if the ident was ever introduced in a module declaration.

restore_path [Theory]

restore_path id returns the triple (library path, theory, qualified symbol name) if the ident was ever introduced in a theory declaration.

restore_pv [Ity]

raises Not_found if the argument is not a pv_vs

restore_rs [Expr]

raises Not_found if the argument is not a rs_logic

return [Trans]
rev_map_fold_left [Lists]
rev_split [Strings]
rewrite [Trans]
rewriteTF [Trans]
root_node [Itp_communication]
rparen [Pp]
rs_compare [Expr]
rs_equal [Expr]
rs_false [Expr]
rs_func_app [Expr]
rs_ghost [Expr]
rs_hash [Expr]
rs_kind [Expr]
rs_true [Expr]
rs_tuple [Expr]
rs_void [Expr]
rsquare [Pp]
run_strategy_on_goal [Controller_itp.Make]

run_strategy_on_goal c id strat executes asynchronously the strategy strat on the goal id.

running_provers_max [Whyconf]
S
sanitizer [Ident]

generic sanitizer taking a separate encoder for the first letter

sanitizer' [Ident]

generic sanitizer taking a separate encoder for the first and last letter

save_config [Whyconf]

save_config config save the configuration

save_session [Session_itp]

save_session s Save the session s

schedule_edition [Controller_itp.Make]

schedule_edition c id pr ~callback ~notification runs the editor for prover pr on proofnode id on a file whose name is automatically generated.

schedule_proof_attempt [Controller_itp.Make]

schedule_proof_attempt c id p ~timelimit ~callback ~notification schedules a proof attempt for a goal specified by id with the prover p with time limit timelimit; the function callback will be called each time the proof attempt status changes.

schedule_transformation [Controller_itp.Make]

schedule_transformation c id cb schedules a transformation for a goal specified by id; the function cb will be called each time the transformation status changes.

semi [Pp]
seq [Trans]
seq_l [Trans]
session_iter_proof_attempt [Session_itp]
set [Weakhtbl.S]
set_bool [Rc]

Same as Rc.set_int but on bool

set_booll [Rc]

Same as Rc.set_intl but on bool

set_column [Pp.Ansi]
set_compare [Extmap.S]

set_compare = compare (fun _ _ -> 0)

set_debug_formatter [Debug]

Set the formatter used when printing debug material

set_default_editor [Whyconf]
set_diff [Extmap.S]

set_diff = diff (fun _ _ _ -> None)

set_disjoint [Extmap.S]

set_disjoint = disjoint (fun _ _ _ -> false)

set_editors [Whyconf]

replace the set of editors

set_equal [Extmap.S]

set_equal = equal (fun _ _ -> true)

set_family [Whyconf]

set_family config name Same as Rc.set_family except name must not be prover

set_family [Rc]

set_family rc name family add all the section in family using the associated string as argument of the family name in rc.

set_file [Loc]
set_flag [Debug]

Modify the state of a flag

set_flags_selected [Debug.Args]

Set the flags selected by debug_all, debug or a shortcut.

set_int [Rc]

set_int ?default section key value add the association key to value in the section if value is not default.

set_inter [Extmap.S]

set_inter = inter (fun _ x _ -> Some x)

set_intl [Rc]

set_int ?default section key lvalue add the associations key to all the lvalue in the section if value is not default.

set_limits [Whyconf]
set_loadpath [Whyconf]
set_main [Whyconf]

set_main config main replace the main section by the given one

set_plugins [Whyconf]
set_policies [Whyconf]
set_proof_script [Session_itp]
set_prover_shortcuts [Whyconf]

set the prover shortcuts

set_prover_upgrade_policy [Whyconf]

set_prover_upgrade c p cpu sets or updates the policy to follow if the prover p is absent from the system

set_provers [Whyconf]

set_provers config provers replace all the family prover by the one given

set_section [Whyconf]

set_section config name Same as Rc.set_section except name must not be "main"

set_section [Rc]

set_section rc name section add a section section with name name in rc.

set_session_max_tasks [Controller_itp]

sets the maximum number of proof tasks that can be running at the same time.

set_session_prover_upgrade_policy [Controller_itp]
set_simple_family [Rc]

set_simple_family rc name family add all the section in family using the associated string as argument of the family name in rc.

set_string [Rc]

Same as Rc.set_int but on string

set_stringl [Rc]

Same as Rc.set_intl but on string

set_submap [Extmap.S]

set_submap = submap (fun _ _ _ -> true)

set_union [Extmap.S]

set_union = union (fun _ x _ -> Some x)

sign [BigInt]
simple_comma [Pp]
singleton [Trans]
singleton [Extset.S]

singleton x returns the one-element set that contains x.

singleton [Extmap.S]

singleton x y returns the one-element map that contains a binding y for x.

slash [Pp]
sn_decode [Ident]
sp_attr [Vc]
space [Pp]
split [Extset.S]

split x s returns a triple (l, mem, r), where l is the set with all the elements of s that are strictly less than x; r is the set with all the elements of s that are strictly greater than x; mem is true if x belongs to s and false otherwise.

split [Extmap.S]

split x m returns a triple (l, data, r), where l is the map with all the bindings of m whose key is strictly less than x; r is the map with all the bindings of m whose key is strictly greater than x; data is None if m contains no binding for x, or Some v if m binds v to x.

split [Strings]

split c s splits s into substrings, taking as delimiter the character c, and returns the list of substrings.

split_theory [Task]

split_theory th s t returns the list of proof tasks that correspond to goals in th, in the order of appearance.

sprint_decl [Printer]
sprint_tdecl [Printer]
sprinter [Pretty.Printer]
sprintf [Pp]
sprintf_wnl [Pp]
stack_trace [Debug]

stack_trace flag

star [Pp]
start_enum [Extmap.S]

start the enumeration of the given map

start_ge_enum [Extmap.S]

start the enumeration of the given map at the first key which is greater or equal than the given one

stats [Debug]
stepregexp [Call_provers]

stepregexp s n creates a regular expression to match the number of steps.

stop_split [Term]
store [Trans]
string [Pp]
string_of [Pp]
string_of_wnl [Pp]

same as Pp.string_of but without newline

string_unique [Ident]

Uniquify string

sub [BigInt]
subdomain [Extmap.S]

subdomain pr m returns the set of keys of bindings in m that satisfy predicate pr

submap [Extmap.S]

submap pr m1 m2 verifies that all the keys in m1 are in m2 and that for each such binding pr is verified.

subset [Extset.S]

subset s1 s2 tests whether the set s1 is a subset of s2.

succ [BigInt]

basic operations

syntax_arguments [Printer]

(syntax_arguments templ print_arg fmt l) prints in the formatter fmt the list l using the template templ and the printer print_arg

syntax_arguments_typed [Printer]

(syntax_arguments templ print_arg fmt l) prints in the formatter fmt the list l using the template templ and the printer print_arg

syntax_converter [Printer]
syntax_float_literal [Printer]
syntax_literal [Printer]
syntax_logic [Printer]
syntax_map [Driver]
syntax_range_literal [Printer]
syntax_type [Printer]
T
t_all [Term.TermTF]
t_all [Term]
t_and [Term]
t_and_asym [Term]
t_and_asym_l [Term]
t_and_asym_simp [Term]
t_and_asym_simp_l [Term]
t_and_l [Term]
t_and_simp [Term]
t_and_simp_l [Term]
t_any [Term.TermTF]
t_any [Term]
t_app [Term]
t_app_fold [Term]
t_app_infer [Term]
t_app_map [Term]
t_app_partial [Term]

t_app_partial ls tl tyl oty produces a closure of ls and applies it to tl using t_func_app.

t_attr_add [Term]
t_attr_copy [Term]
t_attr_remove [Term]
t_attr_set [Term]
t_bigint_const [Term]
t_binary [Term]
t_binary_simp [Term]
t_bool_false [Term]
t_bool_true [Term]
t_case [Term]
t_case_close [Term]
t_case_close_simp [Term]
t_case_simp [Term]
t_clone_bound_id [Term]
t_close_bound [Term]
t_close_branch [Term]
t_close_quant [Term]
t_closed [Term]
t_closure [Term]

t_closure ls tyl oty returns a type-instantiated lambda-term \xx:tyl.(ls xx : oty), or ls : oty if ls is a constant.

t_compare [Term]
t_const [Term]
t_eps [Term]
t_eps_close [Term]
t_equ [Term]
t_equ_simp [Term]
t_equal [Term]
t_equal_nt_na [Term]
t_exists [Term]
t_exists_close [Term]
t_exists_close_merge [Term]

t_forall_close_merge vs f puts a universal quantifier over f; merges variable lists if f is already universally quantified; reuses triggers of f, if any, otherwise puts no triggers.

t_exists_close_simp [Term]
t_exists_simp [Term]
t_false [Term]
t_fold [Term.TermTF]

t_fold fnT fnF = t_fold (t_selecti fnT fnF)

t_fold [Term]
t_forall [Term]
t_forall_close [Term]
t_forall_close_merge [Term]
t_forall_close_simp [Term]
t_forall_simp [Term]
t_freepvs [Ity]

raises Not_found if the term contains a free variable which is not a pv_vs

t_freevars [Term]
t_func_app [Term]
t_func_app_beta [Term]

t_func_app_beta f a applies f to a performing beta-reduction when f is a lambda-term.

t_func_app_beta_l [Term]
t_func_app_l [Term]
t_gen_map [Term]
t_hash [Term]
t_if [Term]
t_if_simp [Term]
t_iff [Term]
t_iff_simp [Term]
t_implies [Term]
t_implies_simp [Term]
t_is_lambda [Term]

t_is_lambda t returns true if t is a lambda-term.

t_iter [Term]
t_lambda [Term]

t_lambda vl tr e produces a term eps f. (forall vl [tr]. f@vl = e) or eps f. (forall vl [tr]. f@vl = True <-> e if e is prop-typed.

t_let [Term]
t_let_close [Term]
t_let_close_simp [Term]
t_let_simp [Term]
t_map [Term.TermTF]

t_map fnT fnF = t_map (t_select fnT fnF)

t_map [Term]
t_map_cont [Term.TermTF]
t_map_cont [Term]

t_map_cont is t_map in continuation-passing style

t_map_fold [Term.TermTF]
t_map_fold [Term]
t_map_sign [Term.TermTF]
t_map_sign [Term]

t_map_sign passes a polarity parameter, unfolds if-then-else and iff

t_map_simp [Term.TermTF]
t_map_simp [Term]

t_map_simp reconstructs the term using simplification constructors

t_nat_const [Term]

t_nat_const n builds the constant integer term n, n must be non-negative

t_neq [Term]
t_neq_simp [Term]
t_not [Term]
t_not_simp [Term]
t_occurs [Term]
t_open_bound [Term]
t_open_bound_cb [Term]
t_open_bound_with [Term]
t_open_branch [Term]
t_open_branch_cb [Term]
t_open_lambda [Term]

t_open_lambda t returns a triple (vl,tr,e), such that t is equal to t_lambda vl tr e.

t_open_lambda_cb [Term]

the same as t_open_lambda but returns additionally an instance of t_lambda that restores the original term if applied to the physically same arguments.

t_open_quant [Term]
t_open_quant_cb [Term]
t_or [Term]
t_or_asym [Term]
t_or_asym_l [Term]
t_or_asym_simp [Term]
t_or_asym_simp_l [Term]
t_or_l [Term]
t_or_simp [Term]
t_or_simp_l [Term]
t_pred_app [Term]
t_pred_app_beta [Term]

t_pred_app_beta f a applies f to a performing beta-reduction when f is a lambda-term.

t_pred_app_beta_l [Term]
t_pred_app_l [Term]
t_prop [Term]

t_prop t checks that t is prop-typed and returns t

t_quant [Term]
t_quant_close [Term]
t_quant_close_simp [Term]
t_quant_simp [Term]
t_replace [Term]
t_s_all [Term]
t_s_any [Term]
t_s_fold [Term]
t_s_map [Term]
t_select [Term.TermTF]

t_select fnT fnF t is fnT t if t is a value, fnF t otherwise

t_selecti [Term.TermTF]

t_selecti fnT fnF acc t is t_select (fnT acc) (fnF acc) t

t_subst [Term]

t_subst m t substitutes variables in t by the variable mapping m

t_subst_single [Term]

t_subst_single v t1 t2 substitutes variable v in t2 by t1

t_subst_types [Term]

t_subst_types mt mv t substitutes type variables of term t by mapping mt.

t_true [Term]
t_tuple [Term]
t_ty_check [Term]

t_ty_check t ty checks that the type of t is ty

t_ty_fold [Term]
t_ty_freevars [Term]
t_ty_map [Term]
t_ty_subst [Term]

t_ty_subst mt mv t substitutes simultaneously type variables by mapping mt and term variables by mapping mv in term t

t_type [Term]

t_type t checks that t is value-typed and returns its type

t_v_all [Term]
t_v_any [Term]
t_v_count [Term]
t_v_fold [Term]
t_v_map [Term]
t_v_occurs [Term]
t_var [Term]
t_vars [Term]
t_void [Expr]
tag [Wstdlib.TaggedType]
tag [Weakhtbl.Weakey]
tag_equal [Weakhtbl]
tag_hash [Weakhtbl]
task_clone [Task]
task_decls [Task]
task_equal [Task]
task_fold [Task]
task_goal [Task]
task_goal_fmla [Task]
task_hash [Task]
task_hd_equal [Task]
task_hd_hash [Task]
task_iter [Task]
task_known [Task]
task_meta [Task]
task_separate_goal [Task]

task_separate_goal t returns a pair (g,t') where g is the goal of the task t and t' is the rest.

task_tdecls [Task]
td_equal [Theory]
td_hash [Theory]
tdecl [Trans]
tdecl_l [Trans]
tds_compare [Task]
tds_empty [Task]
tds_equal [Task]
tds_hash [Task]
term_of_expr [Expr]
term_of_post [Expr]
test_flag [Debug]

Return the state of the flag

test_noflag [Debug]
tgoal [Trans]
tgoal_l [Trans]
th_proved [Session_itp]
theory_goals [Session_itp]
theory_iter_proof_attempt [Session_itp]
theory_name [Session_itp]

Theory

theory_parent [Session_itp]
timelimit [Whyconf]
timeout [Controller_itp.Scheduler]

timeout ~ms f registers the function f as a function to be called every ms milliseconds.

timeregexp [Call_provers]

Converts a regular expression with special markers '%h','%m', '%s','%i' (for milliseconds) into a value of type timeregexp

tn_proved [Session_itp]
to_channel [Rc]

to_channel cout rc writes the Rc rc to the output channel out

to_file [Rc]

to_file filename rc writes the Rc rc to the file filename

to_formatter [Rc]

to_formatter fmt rc writes the Rc rc to the formatter fmt

to_int [BigInt]
to_small_integer [Number]
to_string [BigInt]
toggle_flag [Debug]
total [Ity]
tprinter [Pretty.Printer]
tr_equal [Term]
tr_fold [Term.TermTF]
tr_fold [Term]
tr_map [Term.TermTF]
tr_map [Term]
tr_map_fold [Term.TermTF]
tr_map_fold [Term]
trace_goal [Trans]
transfer_loc [Loc]
translate [Extset.S]

translate f s translates the elements in the set s by the function f.

translate [Extmap.S]

translate f m translates the keys in the map m by the function f.

try1 [Loc]
try2 [Loc]
try3 [Loc]
try4 [Loc]
try5 [Loc]
try6 [Loc]
try7 [Loc]
ts_bool [Ty]
ts_compare [Ty]
ts_equal [Ty]
ts_func [Ty]
ts_hash [Ty]
ts_int [Ty]
ts_match_args [Ty]
ts_real [Ty]
ts_tuple [Ty]
ts_unit [Ity]

the same as Ty.ts_tuple 0

ttrue [Util]

ttrue constant function true

tuple_module [Pmodule]
tuple_theory [Theory]
tuple_theory_name [Theory]
tv_compare [Ty]
tv_equal [Ty]
tv_hash [Ty]
tv_of_string [Ty]
ty_all [Ty]
ty_any [Ty]
ty_app [Ty]
ty_bool [Ty]
ty_closed [Ty]

ty_closed ty returns true when ty is not polymorphic

ty_compare [Ty]
ty_equal [Ty]
ty_equal_check [Ty]
ty_fold [Ty]
ty_freevars [Ty]
ty_func [Ty]
ty_hash [Ty]
ty_inst [Ty]
ty_int [Ty]
ty_map [Ty]

traverse only one level of constructor, if you want full traversal you need to call those function inside your function

ty_match [Ty]

ty_match sigma0 pat sub returns a type substitution sigma such that sigma pat = sub.

ty_match_args [Ty]
ty_of_ity [Ity]
ty_pred [Ty]
ty_real [Ty]
ty_s_all [Ty]
ty_s_any [Ty]
ty_s_fold [Ty]
ty_s_map [Ty]

visits every symbol of the type

ty_tuple [Ty]
ty_unit [Ity]
ty_v_all [Ty]
ty_v_any [Ty]
ty_v_fold [Ty]
ty_v_map [Ty]

visits every variable of the type

ty_var [Ty]
type_def_fold [Ty]
type_def_map [Ty]
U
uncapitalize [Strings]
underscore [Pp]
union [Coercion]

union s1 s2 merges the coercions from s2 into s1 (as a new set of coercions) this is asymetric: a coercion from s2 may hide a coercion from s1

union [Extset.S]

union f s1 s2 computes the union of two sets

union [Extmap.S]

union f m1 m2 computes a map whose keys is a subset of keys of m1 and of m2.

unit_module [Pmodule]
unknown_to_known_provers [Whyconf]

return others, same name, same version

unset_flag [Debug]
unsupported [Printer]
unsupportedDecl [Printer]
unsupportedPattern [Printer]
unsupportedTerm [Printer]
unsupportedType [Printer]
update_goal_node [Session_itp]

updates the proved status of the given goal node.

update_proof_attempt [Session_itp]

update_proof_attempt ?obsolete s id pr st update the status of the corresponding proof attempt with st.

update_trans_node [Session_itp]

updates the proved status of the given transformation node.

use_export [Pmodule]
use_export [Task]
use_export [Theory]
used_symbols [Task]

takes the result of used_theories and returns a map from symbol names to their theories of origin

used_theories [Task]

returns a map from theory names to theories themselves

user_position [Loc]
V
val_enum [Extmap.S]

get the current key value pair of the enumeration, return None if the enumeration reach the end

values [Extmap.S]

Return the list of all values of the given map.

vc [Vc]
vs_compare [Term]
vs_equal [Term]
vs_graph_drop [Decl]
vs_graph_let [Decl]
vs_graph_pat [Decl]
vs_hash [Term]
W
wait_on_call [Call_provers]

blocking function that waits until the prover finishes.

warn_clone_not_abstract [Theory]
wb_attr [Vc]
why3_keywords [Pretty]
why3_regexp_of_string [Whyconf]
with_location [Loc]
wnl [Pp]
wp_attr [Vc]
wrap [Args_wrapper]
wrap_and_register [Args_wrapper]
wrap_l [Args_wrapper]
X
xs_compare [Ity]
xs_equal [Ity]
xs_hash [Ity]
Z
zero [BigInt]

constants