aboutsummaryrefslogtreecommitdiffhomepage
path: root/kernel/univ.mli
diff options
context:
space:
mode:
authorGravatar Matthieu Sozeau <mattam@mattam.org>2014-04-29 16:04:11 +0200
committerGravatar Matthieu Sozeau <mattam@mattam.org>2014-05-06 09:59:01 +0200
commit84290ba5da2a6acb4bf95b197f7a7ce8b072a1d0 (patch)
tree61c59f4149978e84ccf77b78ecb70ce3e3dd2188 /kernel/univ.mli
parent902da7d2949464ff54dafc3fda1d44365270d2e1 (diff)
Find a more efficient fix for dealing with template universes:
eagerly solve l <= k constraints as k := l when k is a fresh variable coming from a template type. This has the effect of fixing the variable at the first instantiation of the parameters of template polymorphic inductive and avoiding to generate useless <= constraints that need to be minimized afterwards.
Diffstat (limited to 'kernel/univ.mli')
-rw-r--r--kernel/univ.mli3
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/univ.mli b/kernel/univ.mli
index 20ee554f1..cc5eedefb 100644
--- a/kernel/univ.mli
+++ b/kernel/univ.mli
@@ -118,6 +118,9 @@ sig
val pr : t -> Pp.std_ppcmds
(** Pretty-printing *)
+ val is_level : t -> bool
+ (** Test if the universe is a level or an algebraic universe. *)
+
val level : t -> Level.t option
(** Try to get a level out of a universe, returns [None] if it
is an algebraic universe. *)