From fd2e9fd5f859f729765706f1f56df0fa080c0513 Mon Sep 17 00:00:00 2001 From: Matthieu Sozeau Date: Thu, 4 Jan 2018 05:40:08 -0800 Subject: Relax conversion of constructors according to the pCuIC model - Nothing to check in conversion as they have a common supertype by typing. - In inference, enforce that one is lower than the other. --- kernel/reduction.ml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'kernel') diff --git a/kernel/reduction.ml b/kernel/reduction.ml index e9be1b35df..b3e6894143 100644 --- a/kernel/reduction.ml +++ b/kernel/reduction.ml @@ -269,8 +269,9 @@ let convert_constructors_gen cmp_instances cmp_cumul (mind, ind, cns) nargs u1 u if not (Int.equal num_cnstr_args nargs) then cmp_instances u1 u2 s else - let csts = get_cumulativity_constraints CONV cumi u1 u2 in - cmp_cumul csts s + (** By invariant, both constructors have a common supertype, + so they are convertible _at that type_. *) + s let convert_constructors ctor nargs u1 u2 (s, check) = convert_constructors_gen (check.compare_instances ~flex:false) check.compare_cumul_instances -- cgit v1.2.3