aboutsummaryrefslogtreecommitdiffhomepage
path: root/checker/inductive.ml
diff options
context:
space:
mode:
authorGravatar Maxime Dénès <mail@maximedenes.fr>2014-01-18 15:09:40 -0500
committerGravatar Maxime Dénès <mail@maximedenes.fr>2014-01-18 15:12:56 -0500
commit05d5f8b9065b0f5e0349cf3d39dd62ab99f30369 (patch)
tree79575c89a4a0b26c9f8bf8bd9a5744edbd9e60f7 /checker/inductive.ml
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 'checker/inductive.ml')
-rw-r--r--checker/inductive.ml2
1 files changed, 2 insertions, 0 deletions
diff --git a/checker/inductive.ml b/checker/inductive.ml
index be0f220b2..c00a6c5dd 100644
--- a/checker/inductive.ml
+++ b/checker/inductive.ml
@@ -294,6 +294,8 @@ let is_correct_arity env c (p,pj) ind specif params =
| Sort s', [] ->
check_allowed_sort (family_of_sort s') specif;
false
+ | _, (_,Some _,_ as d)::ar' ->
+ srec (push_rel d env) (lift 1 pt') ar' u
| _ ->
raise (LocalArity None)
in