package coq
Formal proof management system
Install
Dune Dependency
Authors
Maintainers
Sources
coq-8.14.1.tar.gz
sha256=3cbfc1e1a72b16d4744f5b64ede59586071e31d9c11c811a0372060727bfd9c3
doc/coq-core.kernel/Opaqueproof/index.html
Module Opaqueproof
Source
This module implements the handling of opaque proof terms. Opaque proof terms are special since:
- they can be lazily computed and substituted
- they are stored in an optionally loaded segment of .vo files An
opaque
proof terms holds an index into an opaque table.
Source
type 'a delayed_universes =
| PrivateMonomorphic of 'a
| PrivatePolymorphic of int * Univ.ContextSet.t
(*Number of surrounding bound universes + local constraints
*)
From a proofterm
to some opaque
.
Source
type work_list =
(Univ.Instance.t * Names.Id.t array) Names.Cmap.t
* (Univ.Instance.t * Names.Id.t array) Names.Mindmap.t
Source
type cooking_info = {
modlist : work_list;
abstract : Constr.named_context * Univ.Instance.t * Univ.AUContext.t;
}
Source
type indirect_accessor = {
access_proof : Names.DirPath.t -> opaque_handle -> opaque_proofterm option;
access_discharge : cooking_info list -> opaque_proofterm -> opaque_proofterm;
}
Opaque terms are indexed by their library dirpath and an integer index. The two functions above activate this indirect storage, by telling how to retrieve terms.
From a opaque
back to a constr
. This might use the indirect opaque accessor given as an argument.
Serialization
Source
val dump :
?except:Future.UUIDSet.t ->
opaquetab ->
opaque_disk * opaque_handle Future.UUIDMap.t
Only used for pretty-printing
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page