aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authormsozeau2013-08-23 15:40:57 +0000
committermsozeau2013-08-23 15:40:57 +0000
commitc15c10908f764c7b1016f699160bfaba4e7e848a (patch)
treef69c692dabb4e10c5837e00f0456652dbcec30f8 /kernel
parent9fbe74a0799625fb2f43ec503b2ba8c89bb5aaea (diff)
Fix computation of discharged hyps for inductive types forgetting the conclusion of the arity.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16732 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'kernel')
-rw-r--r--kernel/indtypes.ml8
1 files changed, 6 insertions, 2 deletions
diff --git a/kernel/indtypes.ml b/kernel/indtypes.ml
index a695372314..9a11e47dc3 100644
--- a/kernel/indtypes.ml
+++ b/kernel/indtypes.ml
@@ -598,8 +598,12 @@ let allowed_sorts issmall isunit s =
| InProp -> logical_sorts
let fold_inductive_blocks f =
- Array.fold_left (fun acc (_,_,lc,(arsign,_)) ->
- f (Array.fold_left f acc lc) (it_mkProd_or_LetIn (* dummy *) mkSet arsign))
+ let concl = function
+ | Inr _ -> mkSet (* dummy *)
+ | Inl (_,ar,_) -> ar
+ in
+ Array.fold_left (fun acc (_,_,lc,(arsign,ar)) ->
+ f (Array.fold_left f acc lc) (it_mkProd_or_LetIn (concl ar) arsign))
let used_section_variables env inds =
let ids = fold_inductive_blocks