(************************************************************************) (* v * The Coq Proof Assistant / The Coq Development Team *) (* constr_expr list -> rel_context -> 'a val mismatched_props : env -> constr_expr list -> rel_context -> 'a (* Post-hoc class declaration. *) val declare_class : reference -> unit (* Instance declaration *) val declare_instance : bool -> reference -> unit val declare_instance_constant : typeclass -> int option -> (* priority *) bool -> (* globality *) Impargs.manual_explicitation list -> (* implicits *) ?hook:(Libnames.global_reference -> unit) -> identifier -> (* name *) Term.constr -> (* body *) Term.types -> (* type *) Names.identifier val new_instance : ?abstract:bool -> (* Not abstract by default. *) ?global:bool -> (* Not global by default. *) local_binder list -> typeclass_constraint -> constr_expr -> ?generalize:bool -> ?tac:Proof_type.tactic -> ?hook:(Libnames.global_reference -> unit) -> int option -> identifier (* Setting opacity *) val set_typeclass_transparency : evaluable_global_reference -> bool -> unit (* For generation on names based on classes only *) val id_of_class : typeclass -> identifier (* Context command *) val context : ?hook:(Libnames.global_reference -> unit) -> local_binder list -> unit (* Forward ref for refine *) val refine_ref : (open_constr -> Proof_type.tactic) ref