aboutsummaryrefslogtreecommitdiffhomepage
path: root/tactics/tacticals.ml
diff options
context:
space:
mode:
authorGravatar barras <barras@85f007b7-540e-0410-9357-904b9bb8a0f7>2002-02-14 15:54:01 +0000
committerGravatar barras <barras@85f007b7-540e-0410-9357-904b9bb8a0f7>2002-02-14 15:54:01 +0000
commit909d7c9edd05868d1fba2dae65e6ff775a41dcbe (patch)
tree7a9c1574e278535339336290c1839db09090b668 /tactics/tacticals.ml
parent67f72c93f5f364591224a86c52727867e02a8f71 (diff)
- Reforme de la gestion des args recursifs (via arbres reguliers)
- coqtop -byte -opt bouclait! git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@2475 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'tactics/tacticals.ml')
-rw-r--r--tactics/tacticals.ml5
1 files changed, 2 insertions, 3 deletions
diff --git a/tactics/tacticals.ml b/tactics/tacticals.ml
index d7b1eddbc..70716cde2 100644
--- a/tactics/tacticals.ml
+++ b/tactics/tacticals.ml
@@ -259,8 +259,7 @@ let compute_construtor_signatures isrec (_,k as ity) =
let rec analrec c recargs =
match kind_of_term c, recargs with
| Prod (_,_,c), recarg::rest ->
- (match recarg with
- | Param _ -> false :: (analrec c rest)
+ (match dest_recarg recarg with
| Norec -> false :: (analrec c rest)
| Imbr _ -> false :: (analrec c rest)
| Mrec j -> (isrec & j=k) :: (analrec c rest))
@@ -272,7 +271,7 @@ let compute_construtor_signatures isrec (_,k as ity) =
let n = mip.mind_nparams in
let lc =
Array.map (fun c -> snd (decompose_prod_n_assum n c)) mip.mind_nf_lc in
- let lrecargs = mip.mind_listrec in
+ let lrecargs = dest_subterms mip.mind_recargs in
array_map2 analrec lc lrecargs
let case_sign = compute_construtor_signatures false