diff options
| author | barras | 2002-02-07 16:07:34 +0000 |
|---|---|---|
| committer | barras | 2002-02-07 16:07:34 +0000 |
| commit | 296faec482d17f9bfdc419f79ed565ecd8035e60 (patch) | |
| tree | 410123e747a8b3f3ca44aacb86f241c10360257a /tactics/equality.ml | |
| parent | 85bdcf8b1ca9b515d848878537755069ed03fd27 (diff) | |
petit nettoyage de kernel/inductive
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@2460 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'tactics/equality.ml')
| -rw-r--r-- | tactics/equality.ml | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/tactics/equality.ml b/tactics/equality.ml index aea683dc6e..985db43022 100644 --- a/tactics/equality.ml +++ b/tactics/equality.ml @@ -420,7 +420,7 @@ let descend_then sigma env head dirn = giving [True], and all the rest giving False. *) let construct_discriminator sigma env dirn c sort = - let (IndType((ind,_) as indf,_) as indt) = + let (IndType(indf,_) as indt) = try find_rectype env sigma (type_of env sigma c) with Not_found -> (* one can find Rel(k) in case of dependent constructors @@ -431,6 +431,7 @@ let construct_discriminator sigma env dirn c sort = errorlabstrm "Equality.construct_discriminator" (str "Cannot discriminate on inductive constructors with dependent types") in + let (ind,_) = dest_ind_family indf in let (mib,mip) = lookup_mind_specif env ind in let arsign,arsort = get_arity env indf in let (true_0,false_0,sort_0) = @@ -453,8 +454,9 @@ let rec build_discriminator sigma env dirn c sort = function | [] -> construct_discriminator sigma env dirn c sort | ((sp,cnum),argnum)::l -> let cty = type_of env sigma c in - let IndType ((ind,_)as indf,_) = + let IndType (indf,_) = try find_rectype env sigma cty with Not_found -> assert false in + let (ind,_) = dest_ind_family indf in let (mib,mip) = lookup_mind_specif env ind in let _,arsort = get_arity env indf in let nparams = mip.mind_nparams in |
