aboutsummaryrefslogtreecommitdiff
path: root/kernel/constr.ml
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/constr.ml')
-rw-r--r--kernel/constr.ml61
1 files changed, 7 insertions, 54 deletions
diff --git a/kernel/constr.ml b/kernel/constr.ml
index 532d44d9ed..9be04c765e 100644
--- a/kernel/constr.ml
+++ b/kernel/constr.ml
@@ -578,9 +578,9 @@ let leq_constr_univs univs m n =
compare_leq m n
let eq_constr_univs_infer univs m n =
- if m == n then true, UniverseConstraints.empty
+ if m == n then true, Constraint.empty
else
- let cstrs = ref UniverseConstraints.empty in
+ let cstrs = ref Constraint.empty in
let eq_universes strict = Univ.Instance.check_eq univs in
let eq_sorts s1 s2 =
if Sorts.equal s1 s2 then true
@@ -588,7 +588,7 @@ let eq_constr_univs_infer univs m n =
let u1 = Sorts.univ_of_sort s1 and u2 = Sorts.univ_of_sort s2 in
if Univ.check_eq univs u1 u2 then true
else
- (cstrs := Univ.UniverseConstraints.add (u1, Univ.UEq, u2) !cstrs;
+ (cstrs := Univ.enforce_eq u1 u2 !cstrs;
true)
in
let rec eq_constr' m n =
@@ -598,16 +598,16 @@ let eq_constr_univs_infer univs m n =
res, !cstrs
let leq_constr_univs_infer univs m n =
- if m == n then true, UniverseConstraints.empty
+ if m == n then true, Constraint.empty
else
- let cstrs = ref UniverseConstraints.empty in
+ let cstrs = ref Constraint.empty in
let eq_universes strict l l' = Univ.Instance.check_eq univs l l' in
let eq_sorts s1 s2 =
if Sorts.equal s1 s2 then true
else
let u1 = Sorts.univ_of_sort s1 and u2 = Sorts.univ_of_sort s2 in
if Univ.check_eq univs u1 u2 then true
- else (cstrs := Univ.UniverseConstraints.add (u1, Univ.UEq, u2) !cstrs;
+ else (cstrs := Univ.enforce_eq u1 u2 !cstrs;
true)
in
let leq_sorts s1 s2 =
@@ -616,7 +616,7 @@ let leq_constr_univs_infer univs m n =
let u1 = Sorts.univ_of_sort s1 and u2 = Sorts.univ_of_sort s2 in
if Univ.check_leq univs u1 u2 then true
else
- (cstrs := Univ.UniverseConstraints.add (u1, Univ.ULe, u2) !cstrs;
+ (cstrs := Univ.enforce_leq u1 u2 !cstrs;
true)
in
let rec eq_constr' m n =
@@ -628,53 +628,6 @@ let leq_constr_univs_infer univs m n =
let res = compare_leq m n in
res, !cstrs
-let eq_constr_universes m n =
- if m == n then true, UniverseConstraints.empty
- else
- let cstrs = ref UniverseConstraints.empty in
- let eq_universes strict l l' =
- cstrs := Univ.enforce_eq_instances_univs strict l l' !cstrs; true in
- let eq_sorts s1 s2 =
- if Sorts.equal s1 s2 then true
- else
- (cstrs := Univ.UniverseConstraints.add
- (Sorts.univ_of_sort s1, Univ.UEq, Sorts.univ_of_sort s2) !cstrs;
- true)
- in
- let rec eq_constr' m n =
- m == n || compare_head_gen eq_universes eq_sorts eq_constr' m n
- in
- let res = compare_head_gen eq_universes eq_sorts eq_constr' m n in
- res, !cstrs
-
-let leq_constr_universes m n =
- if m == n then true, UniverseConstraints.empty
- else
- let cstrs = ref UniverseConstraints.empty in
- let eq_universes strict l l' =
- cstrs := Univ.enforce_eq_instances_univs strict l l' !cstrs; true in
- let eq_sorts s1 s2 =
- if Sorts.equal s1 s2 then true
- else (cstrs := Univ.UniverseConstraints.add
- (Sorts.univ_of_sort s1,Univ.UEq,Sorts.univ_of_sort s2) !cstrs;
- true)
- in
- let leq_sorts s1 s2 =
- if Sorts.equal s1 s2 then true
- else
- (cstrs := Univ.UniverseConstraints.add
- (Sorts.univ_of_sort s1,Univ.ULe,Sorts.univ_of_sort s2) !cstrs;
- true)
- in
- let rec eq_constr' m n =
- m == n || compare_head_gen eq_universes eq_sorts eq_constr' m n
- in
- let rec compare_leq m n =
- compare_head_gen_leq eq_universes eq_sorts leq_sorts eq_constr' leq_constr' m n
- and leq_constr' m n = m == n || compare_leq m n in
- let res = compare_leq m n in
- res, !cstrs
-
let always_true _ _ = true
let rec eq_constr_nounivs m n =