Index of values


(++) [Pcombinators]
(+?+) [Pcombinators]
(>>=) [Pcombinators]
(^) [Output]
o1 ^ o2 appends to outputs to each other

A
absolute_dir [Util]
absolute_dir dir tries to get the absolute path name of directory dir.
add_constraint [Types.Constraint]
add_d_to_ctxt [Typecheck_ctxt]
The distinction between cur_env, new_defs and export_env is interesting.
add_def_aux_entities [Typed_ast_syntax]
add_def_aux_entities targ only_new ue def adds all the modules, types, constants ...
add_def_entities [Typed_ast_syntax]
add_def_entities is called add_def_aux_entities after extracting the appropriate def_aux.
add_exp_entities [Typed_ast_syntax]
add_f_to_ctxt [Typecheck_ctxt]
add_instance_to_ctxt [Typecheck_ctxt]
add_lemma_to_ctxt [Typecheck_ctxt]
add_length_constraint [Types.Constraint]
add_list [Util.ExtraSet]
Add a list of values to an existing set.
add_lskip [Name]
add_lskip converts a name into a name with skips by adding empty whitespace
add_m_alias_to_ctxt [Typecheck_ctxt]
add_m_to_ctxt [Typecheck_ctxt]
add_nexp_param_in_const [Trans.Macros]
add_nvar [Types.Constraint]
add_p_to_ctxt [Typecheck_ctxt]
add_pre_lskip [Name]
add_pre_lskip sk n adds additional whitespace in front of n
add_tyvar [Types.Constraint]
add_used_entities_to_avoid_names [Target_trans]
add_used_entities_to_avoid_names env targ ue ns adds the used entities in ue to the name-set ns.
add_v_to_ctxt [Typecheck_ctxt]
all_targets [Target]
The set of all the targets.
all_targets_list [Target]
A list of all the targets.
all_targets_non_explicit [Target]
The set of targets used when negating or no mentioning explicit targets.
alter_init_lskips [Typed_ast]
alter_init_lskips finds all of the whitespace/newline/comments preceding an expression and passes it to the supplied function in a single invocation.
always_replace_files [Process_file]
always_replace_files determines whether Lem only updates modified files.
annot_to_typ [Types]
append [Seplist]
append d sl1 sl2 appends the seplists sl1 and sl2.
append_lskips [Typed_ast]
append_lskips adds new whitespace/newline/comments to the front of an expression (before any existing whitespace/newline/comments in front of the expression)
apply [Finite_map.Dmap]
apply [Finite_map.Fmap]
apply [Finite_map.Dmap_map]
apply [Finite_map.Fmap_map]
apply_opt [Finite_map.Dmap]
apply_opt [Finite_map.Dmap_map]
apply_target [Target.Targetmap]
apply_target m targ looks up the targ in map m.
assert_equal [Types]
assert_equal l m d t1 t2 performs the same check as check_equal d t1 t2.
ast_target_compare [Target]
ast_target_compare is a comparison function for ast-targets.
ast_target_to_target [Target]
ast_target_to_target t converts an ast-target to a target.
avoid [Typed_ast.Exp_context]
Avoiding certain names for local variables.

B
big_union [Finite_map.Fmap]
big_union [Finite_map.Fmap_map]
bitpath [Path]
block [Output]
block_h [Output]
block_hov [Output]
block_hv [Output]
block_v [Output]
bool_exact [Pcombinators]
bool_ty [Typed_ast_syntax]
The boolean type
boolpath [Path]
break_hint [Output]
break_hint add_space ind is a general hint for a line-break.
break_hint_cut [Output]
break_hint_cut is short for break_hint false 0.
break_hint_space [Output]
break_hint_space ind is short for break_hint true ind.

C
c_env_all_consts [Typed_ast]
c_env_all_consts c_env returns the constants defined in c_env
c_env_lookup [Typed_ast]
c_env_lookup l c_env c_ref looks up the constant reference c_ref in environment c_env and returns the corresponding description.
c_env_save [Typed_ast_syntax]
c_env_save c_env c_ref_opt c_d is a combination of c_env_update and c_env_store.
c_env_store [Typed_ast_syntax]
c_env_store c_env c_d stores the description c_d environment c_env.
c_env_store_raw [Typed_ast]
c_env_store_raw c_env c_d stores the description c_d environment c_env.
c_env_update [Typed_ast]
c_env_update c_env c_ref c_d updates the description of constant c_ref with c_d in environment c_env.
capitalize [Name]
capitalize n tries to capitalize the first letter of n.
cdmap_domain [Types]
cdmap_domain m returns the list of all const description references in the map
cdmap_empty [Types]
Constructs an empty cdmap
cdmap_insert [Types]
cdmap_insert m v inserts value v into m.
cdmap_lookup [Types]
cdmap_lookup m r looks up the reference r in map m
cdmap_update [Types]
cdmap_update m r v updates map m at reference r with value v.
changed2 [Util]
changed2 f g x h y applies g to x and h to y.
char_exact [Pcombinators]
charpath [Path]
check_constr_family [Typed_ast_syntax]
check_constr_family is similar to constr_family_to_id.
check_decidable_equality_def [Syntactic_tests]
check_defs [Typecheck]
check_defs backend_targets mod_name filename mod_in_output env ast typescheck the parsed module ast from file filename in environment env.
check_equal [Types]
check_equal d t1 t2 checks whether t1 and t2 are equal in type environment d.
check_for_inline_cycles [Typed_ast_syntax]
check_for_inline_cycles targ env checks whether any constant in env would be inlined (possible over several steps) onto itself.
check_id_restrict_e [Syntactic_tests]
check_id_restrict_p [Syntactic_tests]
check_match_def [Patterns]
check_match_def env d checks a definition using pattern matching d in environment env.
check_match_def_warn [Patterns]
check_match_def_warn env d checks a definition and prints appropriate warning messages.
check_match_exp [Patterns]
check_match_exp env e checks the pattern match expression e in environment env.
check_match_exp_warn [Patterns]
check_match_exp_warn env e internally calls check_match_exp env e.
check_number_patterns [Patterns]
checked_number_patterns env p checks that all number patterns which are part of p are of type nat or natural.
check_numeric_constraint_implication [Types.Constraint]
check_pat_list [Patterns]
check_pat_list env pl checks the pattern list pL in environment env.
check_positivity_condition_def [Syntactic_tests]
check_prefix [Path]
class_all_methods_inlined_for_target [Typed_ast_syntax]
Some targets may choose to not use type-classes to implement certain functions.
class_constraint_to_parameter [Def_trans]
class_descr_get_dict_type [Typed_ast_syntax]
Given a class-description cd and an argument type arg, the function class_descr_get_dict_type cd arg generates the type of the dictionary for the class and argument type.
class_path_to_dict_name [Typed_ast]
class_path_to_dict_name cp tv creates a name for the class cp with type argument tv.
class_to_record [Def_trans]
Type classes are not supported by all backends.
cleanup_match_exp [Patterns]
cleanup_match_exp env add_missing e tries to cleanup the match-expression e by removing redunanant rows.
cleanup_set_quant [Trans.Macros]
cleanup_set_quant moves restricted and unrestricted quantification in set comprehensions to the condition part, if the bound variables are only used by the condition.
collapse_nested_matches [Patterns]
collapse_nested_matches tries to eliminate nested matches by collapsing them.
comment [Output]
A comment
comment_block [Output]
comment_block min_width_opt content comment a whole list of lines in a block.
comment_out_inline_instances_and_classes [Def_trans]
Removes inline instances for backends that employ typeclasses.
compare [Tyvar]
compare [Types.TNvar]
compare [Types]
Structural comparison of types, without expanding type abbreviations.
compare [Path]
compare [Nvar]
compare [Name]
basic functions on plain names
compare_expand [Types]
compare_expand d t1 t2 is similar check_equal d t1 t2.
compare_list [Util]
compile_def [Patterns]
compile_exp [Patterns]
compile_match_exp [Patterns]
compile_match_exp target_opt pat_OK env e compiles match-expressions.
component_to_output [Backend_common]
component_to_output c formats component c as an output
concat [Output]
concat sep [o0; ...; on] appends all the outputs in the list using the separator sep, i.e.
cons_entry [Seplist]
cons_sep [Seplist]
cons_sep_alt [Seplist]
cons_sep_alt doesn't add the separator if the list is empty
const_descr_has_target_rep [Typed_ast_syntax]
const_descr_has_target_rep targ d checks whether the description d contains a target-representation for target targ.
const_descr_ref_to_ascii_name [Typed_ast_syntax]
const_descr_ref_to_ascii_name env c tries to find a simple identifier for constant c.
const_descr_to_kind [Typed_ast_syntax]
const_descr_to_kind r d assumes that d is the description associated with reference r.
const_exists [Typed_ast_syntax]
const_exists env label checks, whether the constant with label label is available in the environment env.
const_id_to_ident [Backend_common.Make]
const_id_to_ident c_id use_ascii tries to format a constant, constructor or field c_id as an identifier for target A.target using the rules stored in environment A.env.
const_ref_to_name [Backend_common.Make]
const_ref_to_name n use_ascii c tries to format a constant c for target A.target using the rules stored in environment A.env.
const_target_rep_allow_override [Typed_ast_syntax]
const_target_rep_allow_override rep returns whether this representation can be redefined.
const_target_rep_to_loc [Typed_ast_syntax]
const_target_rep_to_loc rep returns the location, at which rep is defined.
constant_descr_rename [Typed_ast_syntax]
const_descr_rename targ n' l' cd looks up the representation for target targ in the constant description cd.
constant_descr_to_name [Typed_ast_syntax]
constant_descr_to_name targ cd looks up the representation for target targ in the constant description cd.
constr_family_to_id [Typed_ast_syntax]
constr_family_to_id l env ty cf tries to instantiate the constructor family cf to be used on a match statement where the matched type is ty.
copy_file [Util]
copy_file src dst copies file src to file dst.
coq_defs [Backend.Make]
coq_type_annot_pat_vars [Trans.Macros]
Add type annotations to pattern variables whose type contains a type variable (only add for arguments to top-level functions)
core [Output]
core out is a marker for marking the most important part of some output.
cr_special_fun_uses_name [Typed_ast]
cr_special_fun_uses_name f checks, whether f uses it's first argument, i.e.
ctxt_all_tdefs_set_target_rep [Typecheck_ctxt]
ctxt_all_tdefs_set_target_rep l ctxt ty targ new_rep updates the target-representation of type ty for target targ in context ctxt to new_rep.
ctxt_begin_submodule [Typecheck_ctxt]
ctxt_start_submodule ctxt is used when a new submodule is processed.
ctxt_c_env_set_target_rep [Typecheck_ctxt]
ctxt_c_env_set_target_rep l ctxt c targ new_rep updates the target-representation of constant c for target targ in context ctxt to new_rep.
ctxt_end_submodule [Typecheck_ctxt]
ctxt_end_submodule l ctxt_before mod_path mod_name ctxt_submodule is used when a new submodule is no longer processed.

D
d [Types.Global_defs]
debug_flag [Reporting_basic]
Should debug be printed
def_add_location_comment [Backend_common]
If def_add_location_comment_flag is set, def_add_location_comment d adds a comment with location information before definition d.
def_add_location_comment_flag [Backend_common]
def_add_location_comment_flag controls whether def_add_location_comment.
def_alter_init_lskips [Typed_ast]
def_aux_alter_init_lskips [Typed_ast]
defn_ctxt_to_env [Typecheck_ctxt]
A definition context contains amoung other things an environment split up over several fields.
defs_with_target_rep_to_lemma [Def_trans]
If a target representation for a constant is given, the original definition is not needed.
dest_app_exp [Typed_ast_syntax]
dest_app_exp e tries to destruct an function application expression e.
dest_cons_pat [Pattern_syntax]
dest_cons_pat p destructs list-cons patterns.
dest_const_exp [Typed_ast_syntax]
Destructor for constants expressions
dest_const_pat [Pattern_syntax]
dest_contr_pat p destructs constructor patterns.
dest_ext_var_pat [Pattern_syntax]
dest_ext_var_pat p is an extended version of det_var_pat p.
dest_field_types [Typed_ast_syntax]
dest_field_types l env f looks up the types of the field f in environment env.
dest_fn_type [Types]
dest_fn_type d_opt t tries to destruct a function type t.
dest_human_target [Target]
dest_human_target targ destructs targ to get the non-identity target.
dest_infix_exp [Typed_ast_syntax]
dest_infix_exp e tries to destruct an infix expression e.
dest_list_pat [Pattern_syntax]
dest_list_pat p destructs list patterns.
dest_num_add_pat [Pattern_syntax]
dest_num_add_pat p destructs number addition literal patterns
dest_num_exp [Typed_ast_syntax]
dest_num_exp e destructs a number literal expression.
dest_num_pat [Pattern_syntax]
dest_num_pat p destructs number literal patterns
dest_record_pat [Pattern_syntax]
dest_record_pat p destructs record patterns.
dest_string_pat [Pattern_syntax]
dest_string_pat p destructs number literal patterns
dest_tf_exp [Typed_ast_syntax]
dest_tf_exp destructs true and false expressions.
dest_tf_pat [Pattern_syntax]
dest_tf_pat p destructs boolean literal patterns, i.e.
dest_tup_exp [Typed_ast_syntax]
Destructor for tuple expressions.
dest_tup_pat [Pattern_syntax]
dest_tup_pat lo p destructs a tuple pattern.
dest_var_exp [Typed_ast_syntax]
Destructor for variable expressions
dest_var_pat [Pattern_syntax]
dest_var_pat p destructs variable patterns and returs their name.
digit [Pcombinators]
digits [Pcombinators]
dir_eq [Util]
dir_eq d1 d2 uses absolute_dir to check whether the two directories are equal.
direct_subpats [Pattern_syntax]
direct_subpats p returns a list of all the direct subpatterns of p.
domain [Finite_map.Fmap]
domain [Finite_map.Fmap_map]
domains_disjoint [Finite_map.Fmap]
domains_disjoint [Finite_map.Fmap_map]
domains_overlap [Finite_map.Fmap]
domains_overlap [Finite_map.Fmap_map]
drop_first_sep [Seplist]
If sl starts with a seperator, it is dropped and returned, otherwise nothing happens.
drop_init_ws [Typed_ast_syntax]
drop_init_ws should be used with function like Typed_ast.alter_init_lskips.
drop_path [Ident]
drop_path i drops the path of an identier.
duplicates [Util.Duplicate]

E
e_env_lookup [Typed_ast]
e_env_lookup l e_env p looks up the module with path p in environment e_env and returns the corresponding description.
emp [Output]
Empty output
empty [Seplist]
empty [Finite_map.Dmap]
empty [Finite_map.Fmap]
empty [Finite_map.Dmap_map]
empty [Finite_map.Fmap_map]
empty_env [Typed_ast]
empty_i_env [Types]
an empty instance environment
empty_local_env [Typed_ast]
empty_used_entities [Typed_ast_syntax]
An empty collection of entities
ensure_newline [Output]
Make sure there is a newline starting here.
env_apply [Typed_ast_syntax]
env_apply env comp_opt n looks up the name n in the environment env.
env_c_env_update [Typed_ast]
env_c_env_update env c_ref c_d updates the description of constant c_ref with c_d in environment env.
env_opt [Typed_ast.Exp_context]
The environment the expressions are considered in
env_tag_to_string [Typed_ast_syntax]
env_tag_to_string tag formats tag as a string.
eof [Pcombinators]
equate_types [Types.Constraint]
err [Output]
err message is an error output.
err_general [Reporting_basic]
err_general b l m is an abreviatiation for Fatal_error (Err_general (b, l, m))
err_todo [Reporting_basic]
err_todo b l m is an abreviatiation for Fatal_error (Err_todo (b, l, m))
err_type [Reporting_basic]
err_type l msg is an abreviatiation for Fatal_error (Err_type (l, m), i.e.
err_type_pp [Reporting_basic]
err_type l msg pp n is similar to err_type.
err_unreachable [Reporting_basic]
err_unreachable l m is an abreviatiation for Fatal_error (Err_unreachable (l, m))
exists [Seplist]
exists_subpat [Pattern_syntax]
exists_pat cf p checks whether p has a subpattern p' such that cf p' holds.
exp_subst [Typed_ast.Exps_in_context]
exp_to_free [Typed_ast.Exps_in_context]
exp_to_locn [Typed_ast]
exp_to_term [Typed_ast.Exps_in_context]
exp_to_typ [Typed_ast]
expand_defs [Macro_expander.Expander]
expand_exp [Macro_expander.Expander]
expand_pat [Macro_expander.Expander]
extract_core [Output]
extract_core o extracts all top-level cores from output o.

F
fail [Pcombinators]
filter [Finite_map.Fmap]
filter [Finite_map.Fmap_map]
find [Seplist]
fix_infix_and_parens [Target_syntax]
flat [Output]
flat [o0; ...; on] appends all the outputs in the list, i.e.
flatten [Seplist]
flatten d sll flattens a list of seplists by applying append repeatedly
flatten_modules [Rename_top_level]
fold [Finite_map.Fmap]
fold [Finite_map.Fmap_map]
fold_left [Seplist]
fold left implemented via map_acc_left
fold_right [Seplist]
fold right implemented via map_acc_right
for_all [Seplist]
for_all_subpat [Pattern_syntax]
for_all_subpat cf p checks whether all subpatterns p' of p satisfy cf p'.
free_vars [Types]
fresh [Name]
fresh n OK generates a name m, such that OK m holds.
fresh_list [Name]
fresh_list OK ns builds variants of the names in list ns such that all elements of the resulting list ns' satisfy OK and are distinct to each other.
fresh_num_list [Name]
fresh_num_list i n OK generates a list of i fresh names.
fresh_string [Util]
fresh_string forbidden generates a stateful function gen_fresh that generates fresh strings.
from_id [Path]
from_id [Ident]
from_ix [Name]
creates a name from Ast.ix_l, used during typechecking
from_list [Util.ExtraSet]
Construct a set from a list.
from_list [Seplist]
The from list functions ignore the last separator in the input list
from_list [Finite_map.Fmap]
from_list [Finite_map.Fmap_map]
from_list2 [Finite_map.Fmap]
from_list2 [Finite_map.Fmap_map]
from_list_default [Seplist]
from_list_default d l constructs a seplist form a list of entries l using the separator d as default separator between all entries.
from_list_prefix [Seplist]
from_list_suffix [Seplist]
from_name [Ident]
from_pair_list [Seplist]
constructs a seplist from a list of pairs.
from_pair_list_sym [Seplist]
from_pair_list_sym first_val_opt sep_val_list last_sep_opt constructs a seplist from a list of pairs sep_val_list.
from_rope [Tyvar]
from_rope [Nvar]
from_rope [Name]
from_string [Name]
from_x [Name]
creates a name from Ast.x_l, used during typechecking
funcl_aux_seplist_group [Typed_ast]
Mutually recursive function definitions may contain multiple clauses for the same function.
function_application_to_output [Backend_common.Make]
function_application_to_output l exp inf full_exp c_id args tries to format a function application as output.

G
gen_extra_level [Backend]
The level of extra information to generate
generate_coq_decidable_equality [Coq_decidable_equality]
get_avoid_f [Target_trans]
get_avoid_f targ returns the target specific variable avoid function.
get_checked_modules_entities [Typed_ast_syntax]
get_checked_module_entities targ only_new ml gets all the modules, types, constants ...
get_const [Typed_ast_syntax]
get_const env label is a wrapper around string_get_const that maps a label to an actual constant description.
get_const_id [Typed_ast_syntax]
get_const_id env l label inst uses strings_get_const_id with an indirection to look up a constant for a given label.
get_duplicates [Util]
get_duplicates l returns the elements that appear multiple times in the list l.
get_duplicates_gen [Util]
get_duplicates_gen p l returns the elements that appear multiple times in the list l.
get_field_all_fields [Typed_ast_syntax]
get_field_all_fields l env f uses get_field_type_descr l env f to look up the type description of the record type of the field f.
get_field_type_descr [Typed_ast_syntax]
get_field_type_descr l env f uses dest_field_types l env f to get the base type of the field f.
get_imported_modules [Ast_util]
get_imported_modules ast returns a list of the modules imported by the given definitions.
get_imported_target_modules [Backend_common]
get_imported_target_modules env targ defs extracts a list of module that should be imported.
get_lskip [Name]
get_lskip n gets the preceeding whitespace of n
get_lskip [Ident]
get_matching_instance [Types]
get_matching_instance type_env (class, ty) i_env searches for an instantiation of type class class instantianted with type ty in the type invironment i_env.
get_module_name [Backend_common]
get_module_name env targ mod_path mod_name looks up the name of module mod_path.mod_name in environment env for target targ.
get_module_open_string [Backend_common]
get_module_open_string l env targ dir mod_path looks up how to represent this module in import / open statements.
get_module_path [Path]
get_module_path p returns the module path of path p.
get_name [Path]
get_name [Ident]
Return the last name in the ident, e.g., M.Y.x gives x
get_prec [Precedence]
get_prec target env c looks up the precedence of constant c in environment env for the target target.
get_prec_exp [Precedence]
get_prec target env e looks up the precedence of expression e in environment env for the target target.
get_toplevel_name [Path]
get_toplevel_name p gets the outmost name of a path.
get_transformation [Target_trans]
get_transformation targ returns the (pre-backend) transformation function for target targ

H
has_empty_path_prefix [Ident]
has_empty_path_prefix i check whether the identifier i consists of just a single name without any prefix describing its module path
hd [Seplist]
gets the first entry, if there is one
hd_sep [Seplist]
gets the first seperator, if there is one
head_norm [Types]
hol_defs [Backend.Make]
html_defs [Backend.Make]

I
i [Types.Global_defs]
i_env_add [Types]
i_env_add i_env i adds an additional instance i to the instance environment.
i_env_lookup [Types]
i_env_lookup l i_env ref looks up the reference in environment i_env.
id [Output]
An identifier
id_alter_init_lskips [Types]
ident_def [Backend.Make]
ident_defs [Backend.Make]
ident_exp [Backend.Make]
ident_force_dictionary_passing [Target_trans]
This flag enables dictionary passing transfromations for the identity backend.
ident_force_pattern_compile [Target_trans]
This flag enables pattern compilation for the identity backend.
ident_get_lskip [Typed_ast]
ident_pat [Backend.Make]
ident_replace_lskip [Typed_ast]
ident_src_t [Backend.Make]
ident_typ [Backend.Make]
ignore_pat_compile_warnings [Reporting]
Turn off pattern compilation warnings, used by main
imported_modules_to_strings [Backend_common]
imported_modules_to_strings env targ dir imported_mods is used together with get_imported_target_modules.
in_dom [Finite_map.Dmap]
in_dom [Finite_map.Fmap]
in_dom [Finite_map.Dmap_map]
in_dom [Finite_map.Fmap_map]
in_range [Types.Constraint]
in_target_set [Typed_ast]
in_target_set targ targetset checks whether the target `targ` is in the set of targets targetset.
in_targets_opt [Typed_ast]
in_targets_opt targ targets_opt checks whether the target `targ` is in the set of targets represented by `targets_opt`.
initial_env [Initial_env]
inline_exp_macro [Backend_common]
inline_exp_macro target env does the inlining of target specific constant definitions
inline_pat_macro [Backend_common]
inline_pat_macro target env does the inlining of target specific constant definitions
insert [Finite_map.Dmap]
insert [Finite_map.Fmap]
insert [Finite_map.Dmap_map]
insert [Finite_map.Fmap_map]
insert_opt [Finite_map.Dmap]
insert_opt [Finite_map.Dmap_map]
insert_target [Target.Targetmap]
insert_target m (targ, v) inserts value v for targ in map m.
inst_leftover_uvars [Types.Constraint]
instance_to_dict [Def_trans]
instance_to_dict do_inline targ turns instance declarations into a definition of a dictionary record.
int_exact [Pcombinators]
intercalate [Util]
intercalate sep as inserts sep between the elements of as, i.e.
interleave [Util]
interleave l1 l2 interleaves lists l1 and l2, by alternatingly taking an element of l1 and l2 till one of the lists is empty.
is_buildin_constructor [Pattern_syntax]
is_buildin_constructor l env targ c checks whether c is a build-in constructor for target targ in environment env.
is_cons_pat [Pattern_syntax]
is_const_exp [Typed_ast_syntax]
is_const_exp e checks whether e is a constant expression
is_const_pat [Pattern_syntax]
is_constructor [Pattern_syntax]
is_constructor l env targ c checks whether c is a constructor for target targ in environment env.
is_coq_pattern_match [Patterns]
is_empty [Seplist]
is_empty [Finite_map.Fmap]
is_empty [Finite_map.Fmap_map]
is_empty_backend_exp [Typed_ast_syntax]
is_empty_backend_exp checks whether the expression is ``
is_ext_var_pat [Pattern_syntax]
is_ext_var_pat p checks whether the pattern p is a variable pattern in the broadest sense.
is_f_pat [Pattern_syntax]
if_f_pat p checks whether p is the false pattern.
is_hol_pattern_match [Patterns]
is_human_target [Target]
is_human_target targ checks whether targ is a target intended to be read by humans and therefore needs preserving the original structure very closely.
is_infix [Precedence]
is_infix_exp [Typed_ast_syntax]
is_infix_exp e checks whether e is an infix operation
is_instance_type [Types]
is the type ok to be used in an non-default type-class instantiation?
is_isabelle_pattern_match [Patterns]
is_list_pat [Pattern_syntax]
is_nil_const_descr_ref [Types]
is_nil_const_descr_ref r checks whether r is the nil reference.
is_not_buildin_constructor [Pattern_syntax]
is_not_buildin_constructor l env targ c checks whether c is a constructor for target targ in environment env, but not a build-in one.
is_num_add_pat [Pattern_syntax]
is_num_add_pat p checks whether p is a number addition pattern.
is_num_exp [Typed_ast_syntax]
is_num_exp checks whether e is a number literal expression.
is_num_pat [Pattern_syntax]
is_num_pat p checks whether p is a number pattern.
is_ocaml_pattern_match [Patterns]
is_pattern_match_const [Patterns]
is_pp_def [Typed_ast_syntax]
is_pp_exp [Typed_ast_syntax]
is_pp_loc [Typed_ast_syntax]
is_pp_loc l checks whether l is of the form Ast.Trans (true, _, _).
is_record_pat [Pattern_syntax]
is_recursive_def [Typed_ast_syntax]
is_recursive_def d checks whether d is recursive.
is_simple_ident_string [Util]
is_simple_ident_string s checks whether s is a "simple" identifier.
is_string_pat [Pattern_syntax]
is_string_pat p checks whether p is a number pattern.
is_t_pat [Pattern_syntax]
if_t_pat p checks whether p is the true pattern.
is_tf_exp [Typed_ast_syntax]
is_tf_exp v e checks whether e is a true or false expression.
is_tf_pat [Pattern_syntax]
if_tf_pat p checks whether p is the true or false pattern.
is_tup_exp [Typed_ast_syntax]
is_tup_exp s_opt e checks whether e is a tuple of size s_opt.
is_tup_pat [Pattern_syntax]
is_tup_pat lo p checks whether p is a tuple pattern of the given length.
is_type_def_abbrev [Typed_ast_syntax]
is_type_def_abbrev d checks whether the definition d is a type-abbreviation definition.
is_type_def_record [Typed_ast_syntax]
is_type_def_abbrev d checks whether the definition d is a definition of a record_type.
is_var_exp [Typed_ast_syntax]
is_var_exp e checks whether e is a variable expression
is_var_pat [Pattern_syntax]
is_var_pat p checks whether the pattern p is a variable pattern.
is_var_tup_exp [Typed_ast_syntax]
is_var_tup_exp e checks, whether e is an expression consisting only of variables and tuples.
is_var_tup_pat [Pattern_syntax]
is_var_tup_pat p checks whether the pattern p consists only of variable and tuple patterns.
is_var_type [Types]
is_var_wild_pat [Pattern_syntax]
is_var_wild_pat p checks whether the pattern p is a wildcard or a variable pattern.
is_var_wild_tup_pat [Pattern_syntax]
is_var_wild_tup_pat p checks whether the pattern p consists only of variable, wildcard and tuple patterns.
is_wild_pat [Pattern_syntax]
is_wild_pat p checks whether the pattern p is a wildcard pattern.
isa_defs [Backend.Make]
isa_header_defs [Backend.Make]
iter [Seplist]
iter [Finite_map.Fmap]
iter [Finite_map.Fmap_map]

K
kwd [Output]
kwd s constructs the output for keyword s

L
lem_defs [Backend.Make]
length [Seplist]
list_dest_snoc [Util]
list_dest_snoc l splits the last entry off a list.
list_diff [Util]
list_diff l1 l2 removes all elements from l1 that occur in l2.
list_dropn [Util]
list_dropn n l drops the first n elemenst from list l, i.e.
list_firstn [Util]
list_fristn n l gets the first n elemenst from list l, i.e.
list_index [Util]
list_index p l returns the first index i such that the predicate p (l!i) holds.
list_inter [Util.ExtraSet]
Builds the intersection of a list of sets.
list_iter_sep [Util]
list_iter_sep sf f [a1; ...; an] applies function f in turn to a1; ...; an and calls sf () in between.
list_longer [Util]
list_longer n l checks whether the list l has more than n elements.
list_mapi [Util]
list_mapi f l maps f over l.
list_null [Util]
list_null l checks whether the list l is empty, i.e.
list_pick [Util]
list_pick p l tries to pick the first element from l that satisfies predicate p.
list_quant_to_set_quant [Trans.Macros]
list_quant_to_set_quant turns forall (x MEM L). P x into forall (x IN Set.from_list L). P x
list_subset [Util]
list_subset l1 l2 tests whether all elements of l1 also occur in l2.
list_to_bool_mac [Macro_expander]
list_to_front [Util]
list_to_front i l resorts the list l by bringing the element at index i to the front.
list_to_mac [Macro_expander]
list_to_mac [Def_trans]
list_to_mac macro_list collapses a list of def_macros into a single one.
list_union [Util.ExtraSet]
Builds the union of a list of sets
listpath [Path]
loc_to_string [Reporting_basic]
loc_to_string short l formats l as a string.
local_env_union [Typed_ast]
lookup_class_descr [Typed_ast_syntax]
lookup_class_descr l env c_path looks up the description of type-class c_path in environment env.
lookup_env [Typed_ast_syntax]
lookup_env is similar to lookup_env_opt, but reports an internal error instead of returning None, if no environment can be found.
lookup_env_opt [Typed_ast_syntax]
lookup_env_opt env path is used to navigate inside a environment env.
lookup_field_for_class_method [Typed_ast_syntax]
lookup_field_for_class_method l cd method_ref looks up the field reference corresponding to the method identified by method_ref in the description cd of a type class.
lookup_inst_method_for_class_method [Typed_ast_syntax]
lookup_inst_method_for_class_method l i method_ref looks up the instance method reference corresponding to the method identified by method_ref in the instance i.
lookup_mod_descr [Typed_ast_syntax]
lookup_mod_descr env path mod_name is used to navigate inside an environment env.
lookup_mod_descr_opt [Typed_ast_syntax]
lookup_mod_descr_opt env path mod_name is used to navigate inside an environment env.
lskip_pp [Name]
lskip_rename [Name]
lskip_rename r_fun n is a version of rename that can handle lskips.
lskips_only_comments [Typed_ast]
Get only the comments (and a trailing space)
lskips_only_comments_first [Typed_ast]
Get the first lskip of the list and only comments from the rest
lst [Pp]

M
many [Pcombinators]
many1 [Pcombinators]
map [Seplist]
map [Finite_map.Fmap]
map [Finite_map.Fmap_map]
map_acc_left [Seplist]
map_acc_right [Seplist]
Maps with an accumulating parameter.
map_all [Util]
map_all f l maps f over l.
map_changed [Util]
map_changed f l maps f over l.
map_changed [Seplist]
Returns None if the function returns None on all of the elements, otherwise returns a list that uses the original element where the function returns None
map_changed_default [Util]
map_changed_default d f l maps f over l.
map_filter [Util]
map_filter f l maps f over l and removes all entries x of l with f x = None.
match_types [Types]
match_types t_pat t tries to match type t_pat against type t.
may_need_paren [Typed_ast_syntax]
may_need_paren e checks, whether e might need parenthesis.
merge [Finite_map.Fmap]
merge [Finite_map.Fmap_map]
message_singular_plural [Util]
message_singular_plural (sing_message, multiple_message) l is used to determine whether the singular or plural form should be used in messages.
meta [Output]
meta s creates a string directly as output such that the formatting can't interfere with string s any more
mk_and_exp [Typed_ast_syntax]
mk_and_exp env e1 e2 constructs the expression e1 && e2.
mk_and_exps [Typed_ast_syntax]
mk_and_exps env es constructs the conjunction of all expressions in es.
mk_app [Typed_ast.Exps_in_context]
mk_app_exp [Typed_ast_syntax]
mk_app_exp d e1 e2 constructs the expression e1 e2.
mk_backend [Typed_ast.Exps_in_context]
mk_begin [Typed_ast.Exps_in_context]
mk_case [Typed_ast.Exps_in_context]
mk_case_exp [Typed_ast_syntax]
mk_case_exp final l e rows ty constructs a case (match) expression.
mk_comp_binding [Typed_ast.Exps_in_context]
mk_const [Typed_ast.Exps_in_context]
mk_const_exp [Typed_ast_syntax]
mk_const_exp uses strings_mk_const_exp with an indirection through a label.
mk_cross_exp [Typed_ast_syntax]
mk_cross_exp env e1 e2 constructs the expression cross e1 e2.
mk_do [Typed_ast.Exps_in_context]
mk_dummy_exp [Typed_ast_syntax]
mk_dummy_exp ty constructs a dummy expression of type ty.
mk_eq_exp [Typed_ast_syntax]
mk_eq_exp env e1 e2 constructs the expression e1 = e2.
mk_eq_to [Types]
mk_eta_expansion_exp [Typed_ast_syntax]
mk_eta_expansion_exp d vars e for variables vars = [x1, ..., xn] tries to build the expression fun x1 ... xn -> (e x1 ... xn).
mk_field [Typed_ast.Exps_in_context]
mk_from_list_exp [Typed_ast_syntax]
mk_from_list_exp env e constructs the expression Set.from_list e.
mk_fun [Typed_ast.Exps_in_context]
mk_fun_exp [Typed_ast_syntax]
mk_fun_exp [p1, ..., pn] e constructs the expression fun p1 ... pn -> e.
mk_function [Typed_ast.Exps_in_context]
mk_gt_than [Types]
mk_ident [Ident]
mk_ident sk ms n creates an identifier n with module prefix ms and leading whitespace sk.
mk_ident_ast [Ident]
mk_ident_ast nsl ns l generates a new identifiers during type-checking.
mk_ident_strings [Ident]
mk_ident_strings is a version of mk_ident that uses strings as input and uses empty whitespace.
mk_if [Typed_ast.Exps_in_context]
mk_if_exp [Typed_ast_syntax]
mk_if_exp l c e_t e_f constructs the expression if c then e_t else e_f using default spacing.
mk_infix [Typed_ast.Exps_in_context]
mk_lbit [Typed_ast.Exps_in_context]
mk_lbool [Typed_ast.Exps_in_context]
mk_le_exp [Typed_ast_syntax]
mk_le_exp env e1 e2 constructs the expression e1 <= e2.
mk_let [Typed_ast.Exps_in_context]
mk_let_exp [Typed_ast_syntax]
mk_let_exp l (n, e1) e2 constructs the expression let n = e1 in e2 using default spacing.
mk_let_fun [Typed_ast.Exps_in_context]
mk_let_val [Typed_ast.Exps_in_context]
mk_list [Typed_ast.Exps_in_context]
mk_list_app_exp [Typed_ast_syntax]
mk_list_app_exp d f [a1 ... an] constructs the expression f a1 ... an by repeatedly calling mk_app_exp.
mk_lit [Typed_ast.Exps_in_context]
mk_lnum [Typed_ast.Exps_in_context]
mk_lnumeral [Typed_ast.Exps_in_context]
mk_lstring [Typed_ast.Exps_in_context]
mk_lundef [Typed_ast.Exps_in_context]
mk_name_lskips_annot [Typed_ast_syntax]
mk_name_lskips_annot creates an annoted name
mk_num_add_pat [Pattern_syntax]
mk_num_add_pat num_ty i makes a number addition pattern.
mk_num_exp [Typed_ast_syntax]
mk_num_exp creates a number literal expression.
mk_num_pat [Pattern_syntax]
mk_num_pat num_ty i makes a number pattern.
mk_nvar_e [Typed_ast.Exps_in_context]
mk_opt_fun_exp [Typed_ast_syntax]
mk_opt_fun_exp pL e returns mk_fun_exp pL e if pL is not empty and e otherwise.
mk_opt_paren_exp [Typed_ast_syntax]
mk_opt_paren_exp e adds parenthesis around expression e if it seems sensible.
mk_opt_paren_pat [Pattern_syntax]
adds parenthesis around a pattern, when needed
mk_paren [Typed_ast.Exps_in_context]
mk_paren_exp [Typed_ast_syntax]
mk_paren_exp e adds parenthesis around expression e.
mk_paren_pat [Pattern_syntax]
adds parenthesis around a pattern
mk_pas [Typed_ast.Exps_in_context]
mk_path [Path]
mk_path_list [Path]
mk_path_list names splits names into ns @ [n] and calls mk_path ns n.
mk_pbackend [Typed_ast.Exps_in_context]
mk_pcons [Typed_ast.Exps_in_context]
mk_pconst [Typed_ast.Exps_in_context]
mk_plist [Typed_ast.Exps_in_context]
mk_plit [Typed_ast.Exps_in_context]
mk_pnum_add [Typed_ast.Exps_in_context]
mk_pparen [Typed_ast.Exps_in_context]
mk_precord [Typed_ast.Exps_in_context]
mk_ptup [Typed_ast.Exps_in_context]
mk_ptyp [Typed_ast.Exps_in_context]
mk_pvar [Typed_ast.Exps_in_context]
mk_pvar_annot [Typed_ast.Exps_in_context]
mk_pvector [Typed_ast.Exps_in_context]
mk_pvectorc [Typed_ast.Exps_in_context]
mk_pwild [Typed_ast.Exps_in_context]
mk_quant [Typed_ast.Exps_in_context]
mk_record [Typed_ast.Exps_in_context]
mk_recup [Typed_ast.Exps_in_context]
mk_set [Typed_ast.Exps_in_context]
mk_set_filter_exp [Typed_ast_syntax]
mk_set_filter_exp env e_P e_s constructs the expression Set.filter e_P e_s.
mk_set_image_exp [Typed_ast_syntax]
mk_set_image_exp env e_f e_s constructs the expression Set.image e_f e_s.
mk_set_sigma_exp [Typed_ast_syntax]
mk_set_sigma_exp env e1 e2 constructs the expression set_sigma e1 e2.
mk_setcomp [Typed_ast.Exps_in_context]
mk_sub_exp [Typed_ast_syntax]
mk_sub_exp env e1 e2 constructs the expression e1 - e2.
mk_tapp [Typed_ast.Exps_in_context]
mk_tc_type [Types]
mk_tc_type vars reg_exp_opt generates a simple description of a type, which uses the type arguments vars and the reg_exp_opt for restricting the names of variables of this type.
mk_tc_type_abbrev [Types]
Generates a type abbreviation
mk_tf_exp [Typed_ast_syntax]
mk_tf_exp creates true and false expressions.
mk_tf_pat [Pattern_syntax]
mk_tf_pat b creates true or false pattern.
mk_tfn [Typed_ast.Exps_in_context]
mk_tparen [Typed_ast.Exps_in_context]
mk_ttup [Typed_ast.Exps_in_context]
mk_tup [Typed_ast.Exps_in_context]
mk_tup_pat [Pattern_syntax]
mk_tup_pat [p1, ..., pn] creates the pattern (p1, ..., pn).
mk_tvar [Typed_ast.Exps_in_context]
mk_twild [Typed_ast.Exps_in_context]
mk_typed [Typed_ast.Exps_in_context]
mk_undefined_exp [Typed_ast_syntax]
mk_undefined_exp l m ty constructs an undefined expression of type ty with message m.
mk_vaccess [Typed_ast.Exps_in_context]
mk_vaccessr [Typed_ast.Exps_in_context]
mk_var [Typed_ast.Exps_in_context]
mk_vector [Typed_ast.Exps_in_context]
ml_comment_to_rope [Output]
ml_comment_to_rope com formats an ML-comment as a text by putting (* and *) around it.
mod_target_rep_rename [Typed_ast_syntax]
mod_descr_rename targ mod_name n' l' md updates the representation for target targ in the module description md by renaming to the new name n' and new location l'.
module_id_to_ident [Backend_common.Make]
module_id_to_ident m_id tries to format a module m_id as an identifier for target A.target using the rules stored in environment A.env.
move_file [Util]
move_file src dst moves file src to file dst.
multi_fun [Types]

N
names_get_const [Typed_ast_syntax]
names_get_const env path n looks up the constant with name n reachable via path path in the environment env
nat_ty [Typed_ast_syntax]
The natural number type
natpath [Path]
needs_parens [Precedence]
new_line [Output]
a new line
new_nexp [Types.Constraint]
new_type [Types.Constraint]
nexp_alter_init_lskips [Types]
nexp_from_list [Types]
nexp_subst [Types]
nfmap_domain [Typed_ast]
nil_const_descr_ref [Types]
nil_const_descr_ref is a nil reference, i.e.
no_lskips [Typed_ast]
The empty lskip
non_ident_target_to_mname [Target]
non_ident_target_to_mname t returns a name for a target.
non_ident_target_to_string [Target]
non_ident_target_to_string t returns a string description of a target t.
nth [Tyvar]
nth [Nvar]
num [Output]
num i constructs the output for number i
num_ty_pat_cases [Pattern_syntax]
num_ty_pat_cases f_v f_i f_a f_w f_else p performs case analysis for patterns of type num.
numeralpath [Path]
nvar_to_parameter [Def_trans]

O
ocaml_defs [Backend.Make]
oi_alter_init_lskips [Typed_ast]
oi_get_lskip [Typed_ast]
one_of [Pcombinators]
only_auxiliary [Process_file]
only_auxiliary determines whether Lem generates only auxiliary files
open_to_open_target [Backend_common.Make]
opt [Pp]
option_bind [Util]
option_bind f None returns None, whereas option_bind f (Some x) returns f x.
option_cases [Util]
option_cases None f_s f_n returns f_n, whereas option_cases (Some x) f_s f_n returns f_s x.
option_default [Util]
option_default d None returns the default value d, whereas option_default d (Some x) returns x.
option_default_map [Util]
option_default_map v d f is short for option_default d (option_map f v).
option_first [Util]
option_first f l searches for the first element x of l such that the f x is not None.
option_get_exn [Util]
option_get_exn exn None throws the exception exn, whereas option_get_exn exn (Some x) returns x.
option_map [Util]
option_map f None returns None, whereas option_map f (Some x) returns Some (f x).
output [Process_file]
output_alltexdoc [Process_file]
output_alltexdoc produces the latex output for all modules in a single file
output_sig [Process_file]

P
parse [Pcombinators]
parse_and_print [Pcombinators]
parse_file [Process_file]
pat_alter_init_lskips [Typed_ast]
pat_append_lskips [Typed_ast]
pat_extract_lskips [Pattern_syntax]
pat_extract_lskips p extracts all whitespace from a pattern
pat_needs_parens [Precedence]
pat_subst [Typed_ast.Exps_in_context]
pat_to_exp [Pattern_syntax]
pat_to_exp env p tries to convert p into a corresponding expression.
pat_to_ext_name [Pattern_syntax]
pat_to_ext_name p is very similar to dest_ext_var_pat p.
pat_vars_src [Pattern_syntax]
pat_vars_src p returns a list of all the variable names occuring in the pattern.
pattern_application_to_output [Backend_common.Make]
pattern_application_to_output l pat c_id args tries to format a function application in a pattern as output.
pp [Tyvar]
pp [Types.TNset]
pp [Types.TNvar]
pp [Seplist]
pp [Path]
pp [Nvar]
pp [Name]
pp [Ident]
Pretty print
pp_c_env [Typed_ast]
pp_class_constraint [Types]
pp_const_descr [Typed_ast]
pp_env [Typed_ast]
pp_instance [Types]
pp_instances [Typed_ast]
pp_local_env [Typed_ast]
pp_map [Finite_map.Fmap]
pp_map [Finite_map.Fmap_map]
pp_nexp [Types]
pp_range [Types]
pp_str [Pp]
pp_tnvar [Types]
pp_to_string [Pp]
pp_type [Types]
pp_typschm [Types]
predicate [Pcombinators]
prefix_if_not_emp [Output]
prefix_if_not_emp o1 o2 returns o1 ^ o2 if o2 is not empty and emp otherwise
print_debug [Reporting_basic]
print_debug s prints the string s with some debug prefix to the standard error output.
print_debug_def [Reporting]
print_debug_exp [Reporting]
print_debug_pat [Reporting]
print_debug_src_t [Reporting]
print_debug_typ [Reporting]
print_debug_typ_raw [Types]
print_debug_typ_raw s [ty0, ..., tn] prints a debug message s t0, ..., tn using Reporting_basic.print_debug.
print_err [Reporting_basic]
print_err fatal print_loc_source print_only_first_loc l head mes prints an error / warning message to std-err.
process_defs [Def_trans]
process_defs rev_path def_mac mod_name env ds is intended to run the macro def_mac over all definitions in module mod_name.
process_files [Module_dependencies]
process_files allow_reorder lib_dirs files parses the files in list files.
prune_target_bindings [Def_trans]
push_subst [Typed_ast.Exps_in_context]

R
range_of_n [Types]
range_with [Types]
read_target_constants [Initial_env]
read_target_constants lib_path target reads the list of contants that should be avoided for target target.
remove [Finite_map.Dmap]
remove [Finite_map.Fmap]
remove [Finite_map.Dmap_map]
remove [Finite_map.Fmap_map]
remove_class_const [Trans.Macros]
remove_class_const remove constants that have class constraints by adding explicit dictionary parameters.
remove_classes [Def_trans]
remove_core [Output]
remove_core o removes all occurences of core form t by replacing core o' with just o'.
remove_do [Trans.Macros]
remove_duplicates [Util]
remove_duplicates l removes duplicate elements from the list l.
remove_duplicates_gen [Util]
remove_duplicates_gen p l removes duplicate elements from the list l.
remove_fun [Patterns]
remove_fun env case_f e replaces the fun-expression e.
remove_fun_pats [Trans.Macros]
remove_fun_pats keep_tup removes patterns from expressions of the from fun p1 ... pn -> e by introducing function expressions.
remove_function [Trans.Macros]
remove_function turns function | pat1 -> exp1 ... | patn -> expn end into fun x -> match x with | pat1 -> exp1 ... | patn -> expn end.
remove_function [Patterns]
remove_function env case_f e replaces the function expression e with with fun x -> match x with ....
remove_import [Def_trans]
remove_import removes all import statements.
remove_import_include [Def_trans]
remove_import_include removes all import and include statements.
remove_indrelns [Def_trans]
remove_indrelns_true_lhs [Def_trans]
remove_init_ws [Typed_ast_syntax]
remove_init_ws should be used with function like Typed_ast.alter_init_lskips.
remove_initial_ws [Output]
removes intial whitespace (including comments) from output
remove_list [Util.ExtraSet]
Removes a list of values to an existing set.
remove_list_comprehension [Trans.Macros]
remove_list_comprehension removes list comprehensions by turning them into fold and insert operations.
remove_method [Trans.Macros]
remove_method target add_dict is used to remove occurrences of class methods.
remove_method_pat [Trans.Macros]
remove_method_pat is used to remove occurrences of class methods.
remove_module_renames [Def_trans]
remove_module_renames removes all module rename statements.
remove_multiple_record_updates [Trans.Macros]
remove_multiple_record_updates replaces record updates simultaneously updating multiple fields with a nested record update, each affecting only one field, that achieves the same effect.
remove_num_lit [Trans.Macros]
remove_num_lit replaces L_num (sk, i) with fromNumeral (L_numeral (sk, i)).
remove_opens [Def_trans]
remove_opens removes all open / include and import statements
remove_quant [Trans.Macros]
remove_quant turns quantifiers into iteration.
remove_quant_coq [Trans.Macros]
remove_quant_coq the same as above but does not apply in the body of lemma or theorem statements.
remove_restr_quant [Trans.Macros]
remove_restr_quant pat_OK turns restricted quantification into unrestricted quantification, if then pattern does not satisfy pat_OK.
remove_set_comp_binding [Trans.Macros]
remove_set_comp_binding tries to turn Comb_binding expressions into Set_comb ones.
remove_set_comprehension [Trans.Macros]
remove_set_comprehension removes set comprehensions by turning them into fold and insert operations.
remove_set_comprehension_image_filter [Trans.Macros]
remove_set_comprehension allow_sigma removes set comprehensions by turning them into set-image, set-filter and set-product operations.
remove_set_restr_quant [Trans.Macros]
remove_set_restr_quant turns restricted quantification in set comprehensions into unrestricted quantification.
remove_setcomp [Trans.Macros]
remove_setcomp removes set comprehensions with implicit bound variable to ones with explicitly bound onces.
remove_sets [Trans.Macros]
Warning: OCaml specific! remove_sets transforms set expressions like {e1, ..., en} into Ocaml.Pset.from_list (type_specific compare) [e1, ..., en]
remove_singleton_record_updates [Trans.Macros]
remove_singleton_record_updates replaces updates of records that have only one field with the construction of a completely new record.
remove_toplevel_match [Patterns]
remove_toplevel_match tries to introduce matching directly in the function definition by eliminating match-expressions in the body.
remove_types_with_target_rep [Def_trans]
If a target representation for a type is given, the original type definition is commented out.
remove_underscore [Name]
remove_underscore n tries to remove a leading underscore from name n.
remove_unit_pats [Trans.Macros]
remove_unit_pats replaces unit-patterns () with wildcard ones _.
remove_vals [Def_trans]
remove_vector_access [Trans.Macros]
remove_vector_sub [Trans.Macros]
rename [Name]
rename r_fun n renames n using the function r_fun.
rename [Ident]
rename i n' renames the last name component of identifier i to n'.
rename_def_params [Target_trans]
Rename the arguments to definitions, if they clash with constants in a given set of constants.
rename_defs_target [Rename_top_level]
rename_target topt ue consts e processes the entities (constants, constructors, types, modules ...) stored in ue and renames them for target topt.
repeat [Pcombinators]
replace_all_seps [Seplist]
replace_lskip [Name]
replace_lskip sk n replaces the whitespace in front of n with sk.
replace_lskip [Ident]
replicate [Util]
replicate n e creates a list that contains n times the element e.
report_error [Reporting_basic]
Report error should only be used by main to print the error in the end.
report_warning [Reporting]
report_warning env w reports a warning.
report_warning_no_env [Reporting]
report_warning_no_env w reports a warning, when no-environment is available.
resolve_const_ref [Target_binding]
resolve_const_ref l env target io c_ref tries to find the constant c_ref in environment env.
resolve_module_path [Target_binding]
resolve_module_path l env sk m tries to find the module-path m in environment env.
resolve_type_path [Target_binding]
resolve_type_path l env sk p tries to find the type of (absolute) path p in environment env.
return [Pcombinators]

S
same_content_files [Util]
same_content_files file1 file2 checks, whether the files file1 and file2 have the same content.
sep_by [Pcombinators]
sep_by1 [Pcombinators]
set_default [Finite_map.Dmap]
set_default [Finite_map.Dmap_map]
setcomp_bindings [Ast_util]
Infer the comprehension variables for a set comprehension without explicitly listed comprehension variables.
setpath [Path]
sing [Seplist]
sing a constructs a seplist with entry a.
single_pat_exhaustive [Pattern_syntax]
single_pat_exhaustive p checks whether the pattern p is exhaustive.
sort_record_fields [Trans.Macros]
sort_record_fields sorts the fields of a record expression into the same order as in the definition of the record type.
space [Typed_ast]
A space lskip
space [Output]
a single space
space_com_init_ws [Typed_ast_syntax]
space_com_init_ws should be used with function like Typed_ast.alter_init_lskips.
space_init_ws [Typed_ast_syntax]
space_init_ws should be used with function like Typed_ast.alter_init_lskips.
split_after [Util]
split_after n l splits the first n elemenst from list l, i.e.
split_var_annot_pat [Pattern_syntax]
split_var_annot_pat p splits annotated variable patterns in variable patterns + type annotation.
src_t_to_t [Types]
src_type_subst [Types]
starts_with_lower_letter [Name]
start_with_lower_letter n checks, whether the name n starts with a character in the range a-z.
starts_with_underscore [Name]
start_with_underscore n checks, whether the name n starts with an underscore character.
starts_with_upper_letter [Name]
start_with_upper_letter n checks, whether the name n starts with a character in the range A-Z.
str [Output]
str s constructs the output for string constant s
string_exact [Pcombinators]
string_for_all [Util]
string_for_all p s checks whether all characters of s satisfy p.
string_lits_isa [Trans.Macros]
string_lits_isa translates non-representable string literals into list of characters for Isabelle
string_map [Util]
string_map f s maps f over all characters of a copy of s.
string_of_const_descr_ref [Types]
string_of_const_descr_ref formats a reference in a human readable form.
string_of_instance_ref [Types]
string_of_instance_ref formats a reference in a human readable form.
string_split [Util]
string_split c string splits the string into a list of strings on occurences of the char c.
string_to_list [Util]
string_to_list l translates the string l to the list of its characters.
stringpath [Path]
strings_get_const [Typed_ast_syntax]
strings_get_const is a wrapper around names_get_const that uses strings instead of names.
strings_get_const_id [Typed_ast_syntax]
strings_get_const_id env l path n inst uses get_const env path n to construct a const_descr and then wraps it in an id using location l and instantiations inst.
strings_mk_const_exp [Typed_ast_syntax]
strings_mk_const_exp uses get_const_id to construct a constant expression.
strip_app_exp [Typed_ast_syntax]
strip_app_exp e tries to destruct multiple function applications.
strip_app_infix_exp [Typed_ast_syntax]
strip_app_infix_exp e is a combination of strip_infix_exp and strip_app_exp.
strip_fn_type [Types]
strip_fn_type d t tries to destruct a function type t by applying dest_fn repeatedly.
strip_infix_exp [Typed_ast_syntax]
strip_infix_exp e is similar to dest_infix_exp, but returns the result in the same way as strip_app_exp.
strip_lskip [Name]
strip_lskip converts a name with whitespace into a name by dropping the preceeding whitespace
strip_paren_typ_exp [Typed_ast_syntax]
strip_paren_typ_exp e strips parenthesis and type-annotations form expression e.
strip_path [Ident]
Remove the name from the identifier if it occurs at the first
subpats [Pattern_syntax]
subpats p returns a list of all the subpatterns of p.

T
t_to_src_t [Typed_ast.Exps_in_context]
t_to_string [Types]
t_to_var_name [Types]
target_compare [Target]
target_compare is a comparison function for targets.
target_to_ast_target [Target]
target_to_ast_target t converts a target t to an ast_target.
target_to_output [Target]
target_to_output t returns output for a target t.
target_to_string [Target]
target_to_string t_opt returns a string description of a target.
targets_opt_to_list [Typed_ast]
target_opt_to_list targets_opt returns a distinct list of all the targets in the option.
tex_command_escape [Output]
tex_command_label [Output]
tex_command_name [Output]
tex_defs [Backend.Make]
tex_escape [Output]
tex_inc_defs [Backend.Make]
texspace [Output]
??? Unsure what it is.
tl [Seplist]
Removes the first entry, fails is there is none, or if a separator is first
tl_alt [Seplist]
Removes the first entry, fails is there is none, removes any separator that precedes the first entry
tl_sep [Seplist]
Removes the first separator, fails is there is none, or if an entry is first
tnvar_compare [Types]
tnvar_split [Types]
tnvar_to_name [Types]
tnvar_to_rope [Types]
tnvar_to_type [Types]
tnvar_to_types_tnvar [Typed_ast]
to_ident [Path]
to_list [Seplist]
Makes a normal list, ignoring separators
to_list_map [Seplist]
to_name [Path]
to_name_list [Path]
to_name_list [Ident]
to_output [Name]
to_output is the same as to_output_format Output.id
to_output [Ident]
to_output_format [Name]
to_output_format format_fun id_annot n formats the name n as output.
to_output_format [Ident]
to_output_quoted [Name]
to_output_quoted qs_begin qs_end id_annot n formats n with the quoting strings qs_begin and qs_end added before and after respectively.
to_pair_list [Seplist]
Makes a normal list of pairs.
to_rope [Tyvar]
to_rope [Output]
to_rope quote_char lex_skips_to_rope need_space t formats the output t as an unicode text.
to_rope [Nvar]
to_rope [Name]
to_rope_option_tex [Output]
to_rope_option_tex t is similar to to_rope_tex t.
to_rope_tex [Output]
to_rope_tex t corresponds to to_rope for the Latex backend.
to_rope_tex [Name]
to_rope_tex a n formats n as a for the tex-backend as a string.
to_sep_list [Seplist]
Flattens into a normal list with separators and elements intermixed
to_sep_list_first [Seplist]
Flattens into a normal list with separators and elements intermixed, with special control over the first separator.
to_sep_list_last [Seplist]
As to_sep_list_first, but for the last separator
to_string [Path]
to_string [Name]
to_string [Ident]
to_string i formats i using pp.
try_termination_proof [Typed_ast_syntax]
try_termination_proof targ c_env d calls is_recursive_def d.
typ_alter_init_lskips [Types]
type_annotate_definitions [Def_trans]
type_app_to_output [Backend_common.Make]
type_defs_add_constr_family [Types]
type_defs_get_constr_families [Types]
type_defs_get_constr_families l d targ t c gets all constructor family descriptions for type t for target targ in type environment d, which contain the constant c.
type_defs_lookup [Types]
type_defs_lookup l d p looks up the description of type with path p in defs d.
type_defs_lookup_typ [Types]
type_defs_lookup_typ l d t looks up the description of type t in defs d.
type_defs_rename_type [Typed_ast_syntax]
type_def_rename_type l d p t n renames the type with path p in the defs d to the name n for target t.
type_defs_update [Types]
type_defs_update d p td updates the description of type with path p in defs d with td.
type_defs_update_fields [Types]
type_defs_update_fields l d p fl updates the fields of type p in d.
type_defs_update_tc_class [Types]
type_defs_update_tc_class l d p up updates the description of type p in d using the function up.
type_defs_update_tc_type [Types]
type_defs_update_tc_type l d p up updates the description of type p in d using the function up.
type_descr_rename [Typed_ast_syntax]
type_descr_rename targ n' l' td looks up the representation for target targ in the type description td.
type_descr_to_name [Typed_ast_syntax]
type_descr_to_name targ ty td looks up the representation for target targ in the type description td.
type_eq [Typed_ast.Exps_in_context]
type_id_to_ident [Backend_common.Make]
type_id_to_ident ty_id tries to format a type ty_id as an identifier for target A.target using the rules stored in environment A.env.
type_id_to_ident_no_modify [Backend_common.Make]
type_id_to_ident_no_modify ty_id formats ty_id as an identifier.
type_id_to_output [Backend_common.Make]
type_id_to_output ty_id tries to format a type ty_id as an identifier for target A.target using the rules stored in environment A.env.
type_path_to_name [Backend_common.Make]
type_path_to_name n p tries to format a type-path p for target A.target using the rules stored in environment A.env.
type_subst [Types]
type_target_rep_allow_override [Typed_ast_syntax]
type_target_rep_allow_override rep returns whether this representation can be redefined.
type_target_rep_to_loc [Typed_ast_syntax]
type_target_rep_to_loc rep returns the location, at which rep is defined.

U
uncapitalize [Name]
uncapitalize n tries to uncapitalize the first letter of n.
uncapitalize_prefix [Util]
uncapitalize_prefix n tries to uncapitalize the first few letters of n.
undo_list_to_front [Util]
undo_list_to_front i l resorts the list l by moving the head element to index index i It's the inverse of list_to_front i l.
union [Finite_map.Fmap]
union [Finite_map.Fmap_map]
union_v_ctxt [Typecheck_ctxt]
unitpath [Path]
update_const_descr [Typed_ast_syntax]
update_const_descr l up c env updates the description of the constant c in environment env using the function up.

V
val_def_get_class_constraints [Typed_ast_syntax]
val_def_get_class_constraints env vd collects the class constraints of all top-level function definitions in vd.
val_def_get_class_constraints_no_target_rep [Typed_ast_syntax]
val_def_get_class_constraints_no_target_rep env targ vd collects the class constraints of all top-level function definitions in vd, which don't have a target-specific representation for target targ.
val_def_get_free_tnvars [Typed_ast_syntax]
val_def_get_free_tnvars env vd returns the set of all free type-variables used by vd.
val_def_get_name [Typed_ast_syntax]
val_def_get_name d tries to extract the name of the defined function.
vectorpath [Path]

W
warn_opts [Reporting]
Command line options for warnings
warn_source_to_locn [Reporting]
warnings_active [Reporting]
if the flag warnings_active is set, warning messages are printed, otherwise they are thrown away.
whitespace [Pcombinators]
whitespace1 [Pcombinators]
ws [Output]
Whitespace