To focus the search input from anywhere on the page, press the 'S' key.
in-package search v0.1.0
Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
module StringSet : sig ... end
val opt_undef_axioms : bool ref
val opt_debug_on : string list ref
type context = {
early_ret : bool;
kid_renames : Ast.kid Ast_util.KBindings.t;
kid_id_renames : Ast.id option Ast_util.KBindings.t;
kid_id_renames_rev : Ast.kid Ast_util.Bindings.t;
bound_nvars : Ast_util.KidSet.t;
build_at_return : string option;
recursive_fns : (int * int) Ast_util.Bindings.t;
debug : bool;
}
val empty_ctxt : context
val add_single_kid_id_rename :
context ->
Ast_util.Bindings.key ->
Ast_util.KBindings.key ->
context
val debug_depth : int ref
val langlebar : PPrint.document
val ranglebar : PPrint.document
val anglebars : PPrint.document -> PPrint.document
val enclose_record : PPrint.document -> PPrint.document
val enclose_record_update : PPrint.document -> PPrint.document
val bigarrow : PPrint.document
val separate_opt :
PPrint.document ->
('a -> PPrint.document option) ->
'a list ->
PPrint.document
val is_enum : Type_check.Env.t -> Ast.id -> bool
val doc_id : Ast.id -> PPrint.document
val doc_id_type : Ast.id -> PPrint.document
val doc_id_ctor : Ast.id -> PPrint.document
val doc_var : context -> Ast_util.KBindings.key -> PPrint.document
val doc_docstring : (Parse_ast.l * 'a) -> PPrint.document
val simple_annot :
Parse_ast.l ->
'a ->
Parse_ast.l * (Type_check.Env.t * 'a * Ast.effect) option
val simple_num :
Parse_ast.l ->
Nat_big_num.num ->
(Type_check.Env.t * Ast.typ * Ast.effect) option Ast.exp
val effectful : Ast.effect -> bool
val is_regtyp : Ast.typ -> 'a -> bool
val doc_nexp :
context ->
?skip_vars:Ast_util.KidSet.t ->
Ast.nexp ->
PPrint.document
val orig_nc : Ast.n_constraint -> Ast.n_constraint
val orig_typ_arg : Ast.typ_arg -> Ast.typ_arg
val coq_nvars_of_typ : Ast.typ -> Ast_util.KidSet.t
val coq_nvars_of_typ_arg : Ast.typ_arg -> Ast_util.KidSet.t
val nice_and : Ast.n_constraint -> Ast.n_constraint -> Ast.n_constraint
val nice_iff : Ast.n_constraint -> Ast.n_constraint -> Ast.n_constraint
val doc_nc_fn : Ast.id -> PPrint.document
val merge_kid_count :
int Ast_util.KBindings.t ->
int Ast_util.KBindings.t ->
int Ast_util.KBindings.t
val count_nexp_vars : Ast.nexp -> int Ast_util.KBindings.t
val count_nc_vars : Ast.n_constraint -> int Ast_util.KBindings.t
type atom_bool_prop =
| Bool_boring
| Bool_complex of Ast.kinded_id list * Ast.n_constraint * Ast.n_constraint
val simplify_atom_bool :
'a ->
Ast.kinded_id list ->
Ast.n_constraint ->
Ast.n_constraint ->
atom_bool_prop
val string_of_ex_kind : ex_kind -> string
val flatten_nc : Ast.n_constraint -> Ast.n_constraint list
val doc_typ_fns :
context ->
Type_check.Env.t ->
(Ast.typ ->
PPrint.document)
* (bool ->
Ast.typ ->
PPrint.document)
* (?prop_vars:bool ->
Ast.typ_arg ->
PPrint.document)
val doc_typ : context -> Type_check.Env.t -> Ast.typ -> PPrint.document
val doc_atomic_typ :
context ->
Type_check.Env.t ->
bool ->
Ast.typ ->
PPrint.document
val doc_typ_arg :
context ->
Type_check.Env.t ->
?prop_vars:bool ->
Ast.typ_arg ->
PPrint.document
val doc_arithfact :
context ->
Type_check.Env.t ->
?exists:Ast.kid list ->
?extra:PPrint.document ->
Ast.n_constraint ->
PPrint.document
val doc_nc_exp :
context ->
Type_check.Env.t ->
Ast.n_constraint ->
PPrint.document
val doc_tannot :
context ->
Type_check.Env.t ->
bool ->
Ast.typ ->
PPrint.document
val doc_lit : Ast.lit -> PPrint.document
val doc_quant_item_id :
?prop_vars:bool ->
context ->
(PPrint.document -> 'a) ->
Ast.quant_item ->
'a option
val quant_item_id_name : context -> Ast.quant_item -> PPrint.document option
val doc_quant_item_constr :
?prop_vars:bool ->
context ->
Type_check.Env.t ->
'a ->
Ast.quant_item ->
PPrint.document option
val quant_item_constr_name : 'a -> Ast.quant_item -> PPrint.document option
val doc_typquant_items :
?prop_vars:bool ->
context ->
Type_check.Env.t ->
(PPrint.document -> PPrint.document) ->
Ast.typquant ->
PPrint.document
val doc_typquant_items_separate :
context ->
Type_check.Env.t ->
(PPrint.document -> 'a) ->
Ast.typquant ->
'a list * PPrint.document list
val typquant_names_separate :
context ->
Ast.typquant ->
PPrint.document list * PPrint.document list
val doc_typquant :
context ->
Type_check.Env.t ->
Ast.typquant ->
PPrint.document ->
PPrint.document
val typeclass_nexps : Ast.typ -> Ast_util.NexpSet.t
val doc_typschm :
context ->
Type_check.Env.t ->
bool ->
Ast.typschm ->
PPrint.document
val is_ctor : Type_check.Env.t -> Ast.id -> bool
val is_auto_decomposed_exist :
context ->
Type_check.Env.t ->
?rawbools:bool ->
Ast.typ ->
(Ast.kinded_id list * Ast.typ) option
val filter_dep_tuple :
Ast.kinded_id list ->
('a * Ast.typ) list ->
('a * Ast.typ) option list * ('a * Ast.typ) list
val filter_dep_pattern_tuple :
Ast.kinded_id list ->
'a Ast.pat ->
Ast.typ ->
PPrint.document option * 'a Ast.pat * Ast.typ
val doc_pat :
context ->
bool ->
bool ->
(Type_check.tannot Ast.pat * Ast.typ) ->
PPrint.document
val contains_early_return : 'a Ast.exp -> bool
val find_e_ids : 'a Ast.exp -> Ast_util.IdSet.t
val similar_nexps : context -> Type_check.Env.t -> Ast.nexp -> Ast.nexp -> bool
val condition_produces_constraint :
context ->
Type_check.tannot Ast.exp ->
bool
val is_no_proof_fn : Type_check.Env.t -> Ast.id -> bool
val is_range_from_atom : Type_check.Env.t -> Ast.typ -> Ast.typ -> bool
val general_typ_of_annot : (Ast.l * Type_check.tannot) -> Ast.typ
val general_typ_of : Type_check.tannot Ast.exp -> Ast.typ
val merge_new_tyvars :
context ->
Type_check.Env.t ->
'a Ast.pat ->
Type_check.Env.t ->
context
val maybe_parens_comma_list :
(bool -> 'a -> PPrint.document) ->
'a list ->
PPrint.document
val report : Parse_ast.l -> (string * int * int * int) -> string -> exn
val doc_exp : context -> bool -> Type_check.tannot Ast.exp -> PPrint.document
val doc_let : context -> Type_check.tannot Ast.letbind -> PPrint.document
val types_used_with_generic_eq :
Type_check.tannot Ast.def list ->
Ast_util.IdSet.t
val doc_type_union :
context ->
PPrint.document ->
Ast.type_union ->
PPrint.document
val doc_reset_implicits : PPrint.document -> Ast.typquant -> PPrint.document
val doc_typdef : Ast_util.IdSet.t -> 'a Ast.type_def -> PPrint.document
val args_of_typ :
Ast.l ->
Type_check.Env.t ->
Ast.typ list ->
(Type_check.tannot Ast.pat * Ast.typ) list * Type_check.tannot Ast.exp list
val untuple_args_pat :
Ast.typ list ->
Type_check.tannot Ast.pat ->
(Type_check.tannot Ast.pat * Ast.typ) list
* (Type_check.tannot Ast.exp ->
Type_check.tannot Ast.exp)
val doc_fun_body : context -> Type_check.tannot Ast.exp -> PPrint.document
val pat_is_plain_binder :
Type_check.Env.t ->
'a Ast.pat ->
Ast.id option option
val atom_constraint :
context ->
(Type_check.tannot Ast.pat * Ast.typ) ->
PPrint.document option
val all_ids : 'a Ast.pexp -> Ast_util.IdSet.t
val tyvars_of_typquant : Ast.typquant -> Ast_util.KidSet.t
val mk_kid_renames :
Ast_util.IdSet.t ->
Ast_util.KidSet.t ->
Ast_util.KidSet.elt Ast_util.KBindings.t
val merge_kids_atoms :
(Type_check.tannot Ast.pat * Ast.typ) list ->
(Type_check.tannot Ast.pat * Ast.typ) list
* Ast_util.KidSet.t
* Ast.id option Ast_util.KBindings.t
val merge_var_patterns :
Ast.id option Ast_util.KBindings.t ->
('a Ast.pat * 'b) list ->
Ast.id option Ast_util.KBindings.t * ('a Ast.pat * 'b) list
val doc_funcl_init :
mutrec_pos ->
'a Ast.rec_opt ->
?rec_set:'b ->
Type_check.tannot Ast.funcl ->
(PPrint.document * PPrint.document)
* context
* (Type_check.tannot Ast.exp
* Ast.effect
* string option
* PPrint.document list)
val doc_funcl_body :
context ->
(Type_check.tannot Ast.exp
* Ast.effect
* string option
* PPrint.document list) ->
PPrint.document
val doc_fundef_rhs :
?mutrec:mutrec_pos ->
'a ->
Type_check.tannot Ast.fundef ->
(PPrint.document * PPrint.document)
* context
* (Type_check.tannot Ast.exp
* Ast.effect
* string option
* PPrint.document list)
val doc_mutrec : 'a -> Type_check.tannot Ast.fundef list -> PPrint.document
val doc_funcl :
mutrec_pos ->
'a Ast.rec_opt ->
Type_check.tannot Ast.funcl ->
PPrint.document * PPrint.document * PPrint.document
val doc_fundef : Type_check.tannot Ast.fundef -> PPrint.document
val doc_dec : Type_check.tannot Ast.dec_spec -> PPrint.document
val is_field_accessor :
(string * ('a * 'b * ('c * Ast.id) list)) list ->
'd Ast.fundef ->
bool
val int_of_field_index : string -> Ast.id -> Ast.nexp -> Ast_util.Big_int.num
val doc_regtype_fields :
(string * (Ast.nexp * Ast.nexp * (Ast.index_range * Ast.id) list)) ->
PPrint.document
val doc_axiom_typschm :
Type_check.Env.t ->
Ast.l ->
(Ast.typquant * Ast.typ) ->
PPrint.document
val doc_val_spec :
Ast_util.IdSet.t ->
Type_check.tannot Ast.val_spec ->
PPrint.document
val doc_val : 'a Ast.pat -> Type_check.tannot Ast.exp -> PPrint.document
val doc_def :
Ast_util.IdSet.t ->
Ast_util.IdSet.t ->
Type_check.tannot Ast.def ->
PPrint.document
val find_exc_typ : 'a Ast.def list -> string
val find_unimplemented : 'a Ast.def list -> Ast_util.IdSet.t
val pp_ast_coq :
(PPrint.ToChannel.channel * string list) ->
(PPrint.ToChannel.channel * string list) ->
Type_check.tannot Ast_defs.ast ->
string ->
bool ->
unit
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>