aboutsummaryrefslogtreecommitdiffhomepage
path: root/kernel/univ.ml
diff options
context:
space:
mode:
authorGravatar Matthieu Sozeau <mattam@mattam.org>2014-05-28 16:06:22 +0200
committerGravatar Matthieu Sozeau <mattam@mattam.org>2014-05-28 16:08:48 +0200
commit744e49018cb5c9cfb662c950433c82006ca64988 (patch)
tree2128d508cebb12aa4101ada33b95e9f04105fb21 /kernel/univ.ml
parentbfee7cb88a9bc6428ba2f2c3c104f6c07ca3e27f (diff)
- Fix for commit 15999903f875f4b5dbb3d5240d2ca39acc3cd777 which disallowed some
cases of Type (* Prop *) <= Set. - Do check types of metavariables at the end of apply's unification, if it failed at the beginning (otherwise universe constraints can be incomplete).
Diffstat (limited to 'kernel/univ.ml')
-rw-r--r--kernel/univ.ml22
1 files changed, 11 insertions, 11 deletions
diff --git a/kernel/univ.ml b/kernel/univ.ml
index 7ab0aa93c..8984938d3 100644
--- a/kernel/univ.ml
+++ b/kernel/univ.ml
@@ -1198,9 +1198,9 @@ let fast_compare g arcu arcv =
let is_leq g arcu arcv =
arcu == arcv ||
- (match fast_compare_neq false g arcu arcv with
- | FastNLE -> false
- | (FastEQ|FastLE|FastLT) -> true)
+ (match fast_compare_neq false g arcu arcv with
+ | FastNLE -> false
+ | (FastEQ|FastLE|FastLT) -> true)
let is_lt g arcu arcv =
if arcu == arcv then false
@@ -1241,7 +1241,7 @@ let check_smaller g strict u v =
let proparc = prop_arc g in
arcu == proparc ||
((arcv != proparc && arcu == set_arc g) ||
- is_leq g arcu arcv)
+ is_leq g arcu arcv)
(** Then, checks on universes *)
@@ -1345,17 +1345,17 @@ let merge g arcu arcv =
then (arc.rank, max_rank, arc, best_arc::rest)
else (max_rank, old_max_rank, best_arc, arc::rest)
in
- match between g arcu arcv with
+ match between g arcu arcv with
| [] -> anomaly (str "Univ.between")
| arc::rest ->
let (max_rank, old_max_rank, best_arc, rest) =
List.fold_left best_ranked (arc.rank, min_int, arc, []) rest in
- if max_rank > old_max_rank then best_arc, g, rest
- else begin
- (* one redirected node also has max_rank *)
- let arcu = {best_arc with rank = max_rank + 1} in
- arcu, enter_arc arcu g, rest
- end
+ if max_rank > old_max_rank then best_arc, g, rest
+ else begin
+ (* one redirected node also has max_rank *)
+ let arcu = {best_arc with rank = max_rank + 1} in
+ arcu, enter_arc arcu g, rest
+ end
in
let redirect (g,w,w') arcv =
let g' = enter_equiv_arc arcv.univ arcu.univ g in