diff options
author | Enrico Tassi <Enrico.Tassi@inria.fr> | 2014-10-08 10:33:20 +0200 |
---|---|---|
committer | Enrico Tassi <Enrico.Tassi@inria.fr> | 2014-10-13 18:13:20 +0200 |
commit | 9d0011125da2b24ccf006154ab205c6987fb03d2 (patch) | |
tree | fb28bab986b15fb05e9d9ddbf0556f0a62f29b54 /library/global.mli | |
parent | e62984e17cad223448feddeccac0d40e1f604c31 (diff) |
library/opaqueTables: enable their use in interactive mode
Before this patch opaque tables were only growing, making them unusable
in interactive mode (leak on Undo).
With this patch the opaque tables are functional and part of the env.
I.e. a constant_body can point to the proof term in 2 ways:
1) directly (before the constant is discharged)
2) indirectly, via an int, that is mapped by the opaque table to
the proof term.
This is now consistent in batch/interactive mode
This is step 0 to make an interactive coqtop able to dump a .vo/.vi
Diffstat (limited to 'library/global.mli')
-rw-r--r-- | library/global.mli | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/library/global.mli b/library/global.mli index 7dcfdbd3a..8ae77a9e4 100644 --- a/library/global.mli +++ b/library/global.mli @@ -87,6 +87,14 @@ val exists_objlabel : Label.t -> bool val constant_of_delta_kn : kernel_name -> constant val mind_of_delta_kn : kernel_name -> mutual_inductive +val opaque_tables : unit -> Opaqueproof.opaquetab +val body_of_constant : constant -> Term.constr option +val body_of_constant_body : Declarations.constant_body -> Term.constr option +val constraints_of_constant_body : + Declarations.constant_body -> Univ.constraints +val universes_of_constant_body : + Declarations.constant_body -> Univ.universe_context + (** {6 Compiled libraries } *) val start_library : DirPath.t -> module_path |