package coq-core
Install
Dune Dependency
Authors
Maintainers
Sources
md5=66e57ea55275903bef74d5bf36fbe0f1
sha512=1a7eac6e2f58724a3f9d68bbb321e4cfe963ba1a5551b9b011db4b3f559c79be433d810ff262593d753770ee41ea68fbd6a60daa1e2319ea00dff64c8851d70b
doc/coq-core.library/Coqlib/index.html
Module Coqlib
Source
Indirection between logical names and global references.
This module provides a mechanism to bind “names” to constants and to look up these constants using their names.
The two main functions are register_ref n r
which binds the name n
to the reference r
and lib_ref n
which returns the previously registered reference under name n
.
The first function is meant to be available through the vernacular command Register r as n
, so that plug-ins can refer to a constant without knowing its user-facing name, the precise module path in which it is defined, etc.
For instance, lib_ref "core.eq.type"
returns the proper GlobRef.t
for the type of the core equality type.
Registers a global reference under the given name.
Retrieves the reference bound to the given name (by a previous call to register_ref
). Raises NotFoundRef
if no reference is bound to this name.
As lib_ref
but returns None
instead of raising.
Checks whether a name refers to a registered constant. For any name n
, if has_ref n
returns true
, lib_ref n
will succeed.
Checks whether a name is bound to a known reference.
Checks whether a name is bound to a known inductive.
List of all currently bound names.
For Equality tactics
type coq_sigma_data = {
proj1 : Names.GlobRef.t;
proj2 : Names.GlobRef.t;
elim : Names.GlobRef.t;
intro : Names.GlobRef.t;
typ : Names.GlobRef.t;
}
type coq_eq_data = {
eq : Names.GlobRef.t;
ind : Names.GlobRef.t;
refl : Names.GlobRef.t;
sym : Names.GlobRef.t;
trans : Names.GlobRef.t;
congr : Names.GlobRef.t;
}
For tactics/commands requiring vernacular libraries
DEPRECATED
All the functions below are deprecated and should go away in the next coq version ...
find_reference caller_message [dir;subdir;...] s
returns a global reference to the name dir.subdir.(...).s; the corresponding module must have been required or in the process of being compiled so that it must be used lazily; it raises an anomaly with the given message if not found
This just prefixes find_reference with Coq...
Search in several modules (not prefixed by "Coq")