From b2a6a5390436e6ba27d604d18e3b4c757875afd1 Mon Sep 17 00:00:00 2001 From: Enrico Tassi Date: Thu, 6 Mar 2014 13:31:38 +0100 Subject: vi2vo: universes handling finally fixed Universes that are computed in the vi2vo step are not part of the outermost module stocked in the vo file. They are part of the Library.seg_univ segment and are hence added to the safe env when the vo file is loaded. The seg_univ has been augmented. It is now: - an array of universe constraints, one for each constant whose opaque body was computed in the vi2vo phase. This is useful only to print the constants (and its associated constraints). - a union of all the constraints that come from proofs generated in the vi2vo phase. This is morally the missing bits in the toplevel module body stocked in the vo file, and is there to ease the loading of a .vo file (obtained from a .vi file). - a boolean, false if the file is incomplete (.vi) and true if it is complete (.vo obtained via vi2vo). --- library/library.mli | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'library/library.mli') diff --git a/library/library.mli b/library/library.mli index afcce7f6c..16664d880 100644 --- a/library/library.mli +++ b/library/library.mli @@ -30,7 +30,8 @@ val require_library_from_file : (** Segments of a library *) type seg_lib -type seg_univ = Univ.constraints Future.computation array +type seg_univ = (* cst, all_cst, finished? *) + Univ.constraints Future.computation array * Univ.constraints * bool type seg_discharge = Opaqueproof.cooking_info list array type seg_proofs = Term.constr Future.computation array -- cgit v1.2.3