(* $Id$ *) (*i*) open Names open Term open Inductive (*i*) (* Implicit arguments. Here we store the implicit arguments. Notice that we are outside the kernel, which knows nothing about implicit arguments. *) type implicits = | Impl_auto of int list | Impl_manual of int list | No_impl val make_implicit_args : bool -> unit val is_implicit_args : unit -> bool val implicitely : ('a -> 'b) -> 'a -> 'b val list_of_implicits : implicits -> int list val declare_constant_implicits : section_path -> unit val declare_constant_manual_implicits : section_path -> int list -> unit val constant_implicits : section_path -> implicits val declare_inductive_implicits : section_path -> unit val inductive_implicits : inductive_path -> implicits val constructor_implicits : constructor_path -> implicits val constructor_implicits_list : constructor_path -> int list val inductive_implicits_list : inductive_path -> int list val constant_implicits_list : section_path -> int list val declare_var_implicits : identifier -> unit val implicits_of_var : identifier -> int list type frozen_t val freeze : unit -> frozen_t val unfreeze : frozen_t -> unit