aboutsummaryrefslogtreecommitdiff
path: root/pretyping/evd.ml
diff options
context:
space:
mode:
authorHugo Herbelin2014-09-13 10:44:40 +0200
committerHugo Herbelin2014-09-13 11:20:28 +0200
commit24d0027f0344bca7abce3b8fa8c2a1e42ecf1a00 (patch)
treebdde5a56a8e3ca5b0a258ccb68a85caf498fdf56 /pretyping/evd.ml
parent9a4e062c92ad88c894ebbd6e20ee9d1511f24a3f (diff)
Providing a -type-in-type option for collapsing the universe hierarchy.
Diffstat (limited to 'pretyping/evd.ml')
-rw-r--r--pretyping/evd.ml4
1 files changed, 3 insertions, 1 deletions
diff --git a/pretyping/evd.ml b/pretyping/evd.ml
index 813a212299..c4bf366ac7 100644
--- a/pretyping/evd.ml
+++ b/pretyping/evd.ml
@@ -1193,7 +1193,7 @@ let set_eq_instances ?(flex=false) d u1 u2 =
add_universe_constraints d
(Universes.enforce_eq_instances_univs flex u1 u2 Universes.Constraints.empty)
-let set_leq_sort evd s1 s2 =
+let set_leq_sort env evd s1 s2 =
let s1 = normalize_sort evd s1
and s2 = normalize_sort evd s2 in
match is_eq_sort s1 s2 with
@@ -1205,7 +1205,9 @@ let set_leq_sort evd s1 s2 =
(* else if Univ.is_type0m_univ u2 then *)
(* raise (Univ.UniverseInconsistency (Univ.Le, u1, u2, [])) *)
(* else *)
+ if not (type_in_type env) then
add_universe_constraints evd (Universes.Constraints.singleton (u1,Universes.ULe,u2))
+ else evd
let check_eq evd s s' =
Univ.check_eq evd.universes.uctx_universes s s'