aboutsummaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorherbelin2001-07-21 20:25:13 +0000
committerherbelin2001-07-21 20:25:13 +0000
commitf48478679585360a13ffc561a13ceb13dfed88d6 (patch)
treedd109b5fbe00752dc38c84f0e4f478346b92e814 /contrib
parent991b14dfa66560047c8d0676cb0995b20d2954e4 (diff)
Remplacement du tableau du nombre d'args utiles pour la réduction des Cases par le nombre d'args inutiles + vérification dans le noyau
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@1860 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'contrib')
-rw-r--r--contrib/extraction/extraction.ml8
1 files changed, 5 insertions, 3 deletions
diff --git a/contrib/extraction/extraction.ml b/contrib/extraction/extraction.ml
index 0000b26a18..c34ac21c0a 100644
--- a/contrib/extraction/extraction.ml
+++ b/contrib/extraction/extraction.ml
@@ -534,8 +534,8 @@ and extract_term_info_with_type env ctx c t =
extract_app env ctx f a
| IsMutConstruct (cp,_) ->
abstract_constructor cp
- | IsMutCase ((ni,(ip,_,_,_,_)),_,c,br) ->
- extract_case env ctx ni ip c br
+ | IsMutCase ((_,(ip,_,_,_,_)),_,c,br) ->
+ extract_case env ctx ip c br
| IsFix ((_,i),recd) ->
extract_fix env ctx i recd
| IsCoFix (i,recd) ->
@@ -584,7 +584,9 @@ and abstract_constructor cp =
(* Extraction of a case *)
-and extract_case env ctx ni ip c br =
+and extract_case env ctx ip c br =
+ let mis = Global.lookup_mind_specif (ip,[||]) in
+ let ni = Array.map List.length (mis_recarg mis) in
(* [ni]: number of arguments without parameters in each branch *)
(* [br]: bodies of each branch (in functional form) *)
let extract_branch j b =