aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorMaxime Dénès2014-01-18 15:09:40 -0500
committerMaxime Dénès2014-01-18 15:12:56 -0500
commit05d5f8b9065b0f5e0349cf3d39dd62ab99f30369 (patch)
tree79575c89a4a0b26c9f8bf8bd9a5744edbd9e60f7 /kernel
parent22bd27a46f6c91f2c74945333547e4657dcd1428 (diff)
Relaxing the sort elimination check to allow for let-bindings in arities.
I restored this in the kernel, and added it to the checker. There is one last source of non-uniformity, which is the Sort case in the checker (was not present in the kernel). I don't know what this case covers, so it should be reviewed.
Diffstat (limited to 'kernel')
-rw-r--r--kernel/inductive.ml2
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/inductive.ml b/kernel/inductive.ml
index 5c10064385..abc6ba4dfb 100644
--- a/kernel/inductive.ml
+++ b/kernel/inductive.ml
@@ -316,6 +316,8 @@ let is_correct_arity env c pj ind specif params =
with NotConvertible -> raise (LocalArity None) in
check_allowed_sort ksort specif;
union_constraints u univ
+ | _, (_,Some _,_ as d)::ar' ->
+ srec (push_rel d env) (lift 1 pt') ar' u
| _ ->
raise (LocalArity None)
in