aboutsummaryrefslogtreecommitdiffhomepage
path: root/kernel/univ.mli
diff options
context:
space:
mode:
authorGravatar Maxime Dénès <mail@maximedenes.fr>2018-02-14 14:20:17 +0100
committerGravatar Maxime Dénès <mail@maximedenes.fr>2018-02-14 14:20:17 +0100
commitce7a851f21bd6e7c811bd3b7520019dabe609afc (patch)
treebdabb07656b1c218c581a575e97cbb703b246b23 /kernel/univ.mli
parent4f65dfb13d8bb395abf4aa405cae9ed529302a06 (diff)
parent07e861c1792fcc3bde091640ee5e42b398cfa6da (diff)
Merge PR #6713: Fix #6677: Critical bug with VM and universes
Diffstat (limited to 'kernel/univ.mli')
-rw-r--r--kernel/univ.mli7
1 files changed, 7 insertions, 0 deletions
diff --git a/kernel/univ.mli b/kernel/univ.mli
index 77ebf5a11..c45ebe21c 100644
--- a/kernel/univ.mli
+++ b/kernel/univ.mli
@@ -125,6 +125,13 @@ sig
val for_all : (Level.t * int -> bool) -> t -> bool
val map : (Level.t * int -> 'a) -> t -> 'a list
+
+ (** [compact u] remaps local variables in [u] such that their indices become
+ consecutive. It returns the new universe and the mapping.
+ Example: compact [(Var 0, i); (Prop, 0); (Var 2; j))] =
+ [(Var 0,i); (Prop, 0); (Var 1; j)], [0; 2]
+ *)
+ val compact : t -> t * int list
end
type universe = Universe.t