aboutsummaryrefslogtreecommitdiffhomepage
path: root/library/lib.mli
diff options
context:
space:
mode:
authorGravatar Matthieu Sozeau <matthieu.sozeau@inria.fr>2014-08-03 20:02:49 +0200
committerGravatar Matthieu Sozeau <matthieu.sozeau@inria.fr>2014-08-03 23:39:01 +0200
commit7002b3daca6da29eadf80019847630b8583c3daf (patch)
tree9dcc3b618d33dd416805f70e878d71d007ddf4ff /library/lib.mli
parent5de89439d459edd402328a1e437be4d8cd2e4f46 (diff)
Move to a representation of universe polymorphic constants using indices for variables.
Simplifies instantiation of constants/inductives, requiring less allocation and Map.find's. Abstraction by variables is handled mostly inside the kernel but could be moved outside.
Diffstat (limited to 'library/lib.mli')
-rw-r--r--library/lib.mli5
1 files changed, 3 insertions, 2 deletions
diff --git a/library/lib.mli b/library/lib.mli
index 759a1a135..615a39f9e 100644
--- a/library/lib.mli
+++ b/library/lib.mli
@@ -162,12 +162,13 @@ val xml_close_section : (Names.Id.t -> unit) Hook.t
type variable_info = Names.Id.t * Decl_kinds.binding_kind *
Term.constr option * Term.types
type variable_context = variable_info list
+type abstr_info = variable_context * Univ.universe_level_subst * Univ.UContext.t
val instance_from_variable_context : variable_context -> Names.Id.t array
val named_of_variable_context : variable_context -> Context.named_context
-val section_segment_of_constant : Names.constant -> variable_context Univ.in_universe_context
-val section_segment_of_mutual_inductive: Names.mutual_inductive -> variable_context Univ.in_universe_context
+val section_segment_of_constant : Names.constant -> abstr_info
+val section_segment_of_mutual_inductive: Names.mutual_inductive -> abstr_info
val section_instance : Globnames.global_reference -> Univ.universe_instance * Names.Id.t array
val is_in_section : Globnames.global_reference -> bool