From e60054fe4dbdc26ed545c7ca6fb8ab36b244f2f7 Mon Sep 17 00:00:00 2001 From: herbelin Date: Mon, 27 Oct 2008 11:38:47 +0000 Subject: - Fixed many "Theorem with" bugs. - Fixed doc of assert as. - Doc of apply in + update credits. - Nettoyage partiel de Even.v en utilisant "Theorem with". - Added check that name is not in use for "generalize as". git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11511 85f007b7-540e-0410-9357-904b9bb8a0f7 --- tactics/tactics.ml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'tactics') diff --git a/tactics/tactics.ml b/tactics/tactics.ml index 0186fcb007..cf603e8fde 100644 --- a/tactics/tactics.ml +++ b/tactics/tactics.ml @@ -1250,8 +1250,11 @@ let apply_in with_evars id lemmas ipat gl = (* Generalize tactics *) (**************************) -let generalized_name c t cl = function - | Name id as na -> na +let generalized_name c t ids cl = function + | Name id as na -> + if List.mem id ids then + errorlabstrm "" (pr_id id ++ str " is already used"); + na | Anonymous -> match kind_of_term c with | Var id -> @@ -1270,7 +1273,7 @@ let generalize_goal gl i ((occs,c),na) cl = let dummy_prod = it_mkProd_or_LetIn mkProp decls in let newdecls,_ = decompose_prod_n_assum i (subst_term c dummy_prod) in let cl' = subst_term_occ occs c (it_mkProd_or_LetIn cl newdecls) in - let na = generalized_name c t cl' na in + let na = generalized_name c t (pf_ids_of_hyps gl) cl' na in mkProd (na,t,cl') let generalize_dep c gl = -- cgit v1.2.3