From ed2af181cf0f381e61a82b354449abb549b8b47b Mon Sep 17 00:00:00 2001 From: herbelin Date: Tue, 10 Jan 2006 23:59:09 +0000 Subject: Ajout de la longueur de l'arité des constructeurs dans one_inductive_body et dans case_info pour permettre l'indépendance de detyping (entre autres) envers l'environnement git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@7833 85f007b7-540e-0410-9357-904b9bb8a0f7 --- kernel/indtypes.ml | 3 +++ 1 file changed, 3 insertions(+) (limited to 'kernel/indtypes.ml') diff --git a/kernel/indtypes.ml b/kernel/indtypes.ml index 5237b93db7..83928b6cca 100644 --- a/kernel/indtypes.ml +++ b/kernel/indtypes.ml @@ -534,6 +534,8 @@ let build_inductive env env_ar params record finite inds nmr recargs cst = let nf_lc = array_map2 (fun (d,b) c -> it_mkProd_or_LetIn b d) splayed_lc lc in let nf_lc = if nf_lc = lc then lc else nf_lc in + let consnrealargs = + Array.map (fun (d,b) -> List.length d - nparamargs) splayed_lc in (* Elimination sorts *) let isunit = isunit && ntypes = 1 && (not (is_recursive recargs.(0))) in let kelim = allowed_sorts env issmall isunit ar_sort in @@ -558,6 +560,7 @@ let build_inductive env env_ar params record finite inds nmr recargs cst = mind_sort = ar_sort; mind_kelim = kelim; mind_consnames = Array.of_list cnames; + mind_consnrealargs = consnrealargs; mind_user_lc = lc; mind_nf_lc = nf_lc; mind_recargs = recarg; -- cgit v1.2.3