(************************************************************************) (* v * The Coq Proof Assistant / The Coq Development Team *) (* instance list val typeclasses : unit -> typeclass list val add_class : typeclass -> unit val add_instance : instance -> unit val class_info : identifier -> typeclass (* raises Not_found *) val class_of_inductive : inductive -> typeclass (* raises Not_found *) val resolve_one_typeclass : env -> types -> types (* Raises Not_found *) val resolve_one_typeclass_evd : env -> evar_defs ref -> types -> types (* Raises Not_found *) val is_class : inductive -> bool val class_of_constr : constr -> typeclass option val resolve_typeclass : env -> evar -> evar_info -> evar_defs * bool -> evar_defs * bool val resolve_typeclasses : ?onlyargs:bool -> ?all:bool -> env -> evar_map -> evar_defs -> evar_defs val solve_instanciation_problem : (env -> evar_defs -> existential_key -> evar_info -> evar_defs * bool) ref val solve_instanciations_problem : (env -> evar_defs -> bool -> bool -> evar_defs) ref type substitution = (identifier * constr) list val substitution_of_named_context : evar_defs ref -> env -> identifier -> int -> substitution -> named_context -> substitution val nf_substitution : evar_map -> substitution -> substitution val is_implicit_arg : hole_kind -> bool