From 65cba7c6cb1016df13e948452f1e3cb58edcb996 Mon Sep 17 00:00:00 2001 From: Gaƫtan Gilbert Date: Fri, 9 Mar 2018 13:20:54 +0100 Subject: Adjust EConstr.cmp_constructors for relaxed constructor cumulativity --- engine/eConstr.ml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'engine') diff --git a/engine/eConstr.ml b/engine/eConstr.ml index 3ee072214..bd47a04f1 100644 --- a/engine/eConstr.ml +++ b/engine/eConstr.ml @@ -613,8 +613,11 @@ let cmp_constructors (mind, ind, cns as spec) nargs u1 u2 cstrs = enforce_eq_instances_univs false u1 u2 cstrs | Declarations.Cumulative_ind cumi -> let num_cnstr_args = Reduction.constructor_cumulativity_arguments spec in - let variances = Univ.ACumulativityInfo.variance cumi in - compare_cumulative_instances Reduction.CONV (Int.equal num_cnstr_args nargs) variances u1 u2 cstrs + if not (Int.equal num_cnstr_args nargs) + then enforce_eq_instances_univs false u1 u2 cstrs + else + Array.fold_left2 (fun cstrs u1 u2 -> Universes.(Constraints.add (UWeak (u1,u2)) cstrs)) + cstrs (Univ.Instance.to_array u1) (Univ.Instance.to_array u2) let eq_universes env sigma cstrs cv_pb ref nargs l l' = if Univ.Instance.is_empty l then (assert (Univ.Instance.is_empty l'); true) -- cgit v1.2.3