From 7cfc4e5146be5666419451bdd516f1f3f264d24a Mon Sep 17 00:00:00 2001 From: Enrico Tassi Date: Sun, 25 Jan 2015 14:42:51 +0100 Subject: Imported Upstream version 8.5~beta1+dfsg --- library/globnames.mli | 103 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 library/globnames.mli (limited to 'library/globnames.mli') diff --git a/library/globnames.mli b/library/globnames.mli new file mode 100644 index 00000000..253c20ba --- /dev/null +++ b/library/globnames.mli @@ -0,0 +1,103 @@ +(************************************************************************) +(* v * The Coq Proof Assistant / The Coq Development Team *) +(* bool +val isConstRef : global_reference -> bool +val isIndRef : global_reference -> bool +val isConstructRef : global_reference -> bool + +val eq_gr : global_reference -> global_reference -> bool +val canonical_gr : global_reference -> global_reference + +val destVarRef : global_reference -> variable +val destConstRef : global_reference -> constant +val destIndRef : global_reference -> inductive +val destConstructRef : global_reference -> constructor + +val is_global : global_reference -> constr -> bool + +val subst_constructor : substitution -> constructor -> constructor * constr +val subst_global : substitution -> global_reference -> global_reference * constr +val subst_global_reference : substitution -> global_reference -> global_reference + +(** This constr is not safe to be typechecked, universe polymorphism is not + handled here: just use for printing *) +val printable_constr_of_global : global_reference -> constr + +(** Turn a construction denoting a global reference into a global reference; + raise [Not_found] if not a global reference *) +val global_of_constr : constr -> global_reference + +(** Obsolete synonyms for constr_of_global and global_of_constr *) +val reference_of_constr : constr -> global_reference + +module RefOrdered : sig + type t = global_reference + val compare : t -> t -> int + val equal : t -> t -> bool + val hash : t -> int +end + +module RefOrdered_env : sig + type t = global_reference + val compare : t -> t -> int + val equal : t -> t -> bool + val hash : t -> int +end + +module Refset : CSig.SetS with type elt = global_reference +module Refmap : Map.ExtS + with type key = global_reference and module Set := Refset + +module Refset_env : CSig.SetS with type elt = global_reference +module Refmap_env : Map.ExtS + with type key = global_reference and module Set := Refset_env + +(** {6 Extended global references } *) + +type syndef_name = kernel_name + +type extended_global_reference = + | TrueGlobal of global_reference + | SynDef of syndef_name + +module ExtRefOrdered : sig + type t = extended_global_reference + val compare : t -> t -> int + val equal : t -> t -> bool + val hash : t -> int +end + +type global_reference_or_constr = + | IsGlobal of global_reference + | IsConstr of constr + +(** {6 Temporary function to brutally form kernel names from section paths } *) + +val encode_mind : DirPath.t -> Id.t -> mutual_inductive +val decode_mind : mutual_inductive -> DirPath.t * Id.t +val encode_con : DirPath.t -> Id.t -> constant +val decode_con : constant -> DirPath.t * Id.t + +(** {6 Popping one level of section in global names } *) + +val pop_con : constant -> constant +val pop_kn : mutual_inductive-> mutual_inductive +val pop_global_reference : global_reference -> global_reference -- cgit v1.2.3