Module CClosure
...
module type RedFlagsSig = sig ... endSets of reduction kinds.
module RedFlags : RedFlagsSigval all : RedFlags.redsval allnolet : RedFlags.redsval beta : RedFlags.redsval betadeltazeta : RedFlags.redsval betaiota : RedFlags.redsval betaiotazeta : RedFlags.redsval betazeta : RedFlags.redsval delta : RedFlags.redsval zeta : RedFlags.redsval nored : RedFlags.reds
type table_key= Names.Constant.t Univ.puniverses Names.tableKey
type finverttype fterm=type 'a next_native_args= (CPrimitives.arg_kind * 'a) listtype stack_member=|Zapp of fconstr array|ZcaseT of Constr.case_info * Constr.constr * Constr.constr array * fconstr Esubst.subs|Zproj of Names.Projection.Repr.t|Zfix of fconstr * stack|Zprimitive of CPrimitives.t * Constr.pconstant * fconstr list * fconstr next_native_args|Zshift of int|Zupdate of fconstrand stack= stack_member list
val empty_stack : stackval append_stack : fconstr array -> stack -> stackval check_native_args : CPrimitives.t -> stack -> boolval get_native_args1 : CPrimitives.t -> Constr.pconstant -> stack -> fconstr list * fconstr * fconstr next_native_args * stackval stack_args_size : stack -> intval eta_expand_stack : stack -> stack
val inject : Constr.constr -> fconstrval mk_atom : Constr.constr -> fconstrmk_atom: prevents a term from being evaluated
val fterm_of : fconstr -> ftermval term_of_fconstr : fconstr -> Constr.constrval destFLambda : (fconstr Esubst.subs -> Constr.constr -> fconstr) -> fconstr -> Names.Name.t Context.binder_annot * fconstr * fconstr
val relevance_of : fconstr -> optrelval set_relevance : Sorts.relevance -> fconstr -> unit
val create_clos_infos : ?univs:UGraph.t -> ?evars:(Constr.existential -> Constr.constr option) -> RedFlags.reds -> Environ.env -> clos_infosval oracle_of_infos : clos_infos -> Conv_oracle.oracleval create_tab : unit -> clos_tabval info_env : clos_infos -> Environ.envval info_flags : clos_infos -> RedFlags.redsval info_univs : clos_infos -> UGraph.tval unfold_projection : clos_infos -> Names.Projection.t -> stack_member optionval push_relevance : clos_infos -> 'b Context.binder_annot -> clos_infosval push_relevances : clos_infos -> 'b Context.binder_annot array -> clos_infosval set_info_relevances : clos_infos -> Sorts.relevance Range.t -> clos_infosval info_relevances : clos_infos -> Sorts.relevance Range.tval infos_with_reds : clos_infos -> RedFlags.reds -> clos_infos
val norm_val : clos_infos -> clos_tab -> fconstr -> Constr.constrnorm_valis for strong normalization
val whd_val : clos_infos -> clos_tab -> fconstr -> Constr.constrwhd_valis for weak head normalization
val whd_stack : clos_infos -> clos_tab -> fconstr -> stack -> fconstr * stackwhd_stackperforms weak head normalization in a given stack. It stops whenever a reduction is blocked.
val eta_expand_ind_stack : Environ.env -> Names.inductive -> fconstr -> stack -> (fconstr * stack) -> stack * stacketa_expand_ind_stack env ind c s tcomputes stacks corresponding to the conversion of the eta expansion of t, considered as an inhabitant of ind, and the Constructor c of this inductive type applied to arguments s. @assumestis a rigid term, and not a constructor.indis the inductive of the constructor termc- raises Not_found
 if the inductive is not a primitive record, or if the constructor is partially applied.
val unfold_reference : clos_infos -> clos_tab -> table_key -> (fconstr, Util.Empty.t) Declarations.constant_defunfold_referenceunfolds references in afconstr
val set_conv : (clos_infos -> clos_tab -> fconstr -> fconstr -> bool) -> unitHook for Reduction
val lift_fconstr : int -> fconstr -> fconstrval lift_fconstr_vect : int -> fconstr array -> fconstr arrayval mk_clos : fconstr Esubst.subs -> Constr.constr -> fconstrval mk_clos_vect : fconstr Esubst.subs -> Constr.constr array -> fconstr arrayval kni : clos_infos -> clos_tab -> fconstr -> stack -> fconstr * stackval knr : clos_infos -> clos_tab -> fconstr -> stack -> fconstr * stackval kl : clos_infos -> clos_tab -> fconstr -> Constr.constrval zip : fconstr -> stack -> fconstrval term_of_process : fconstr -> stack -> Constr.constrval to_constr : Esubst.lift -> fconstr -> Constr.constr