aboutsummaryrefslogtreecommitdiff
path: root/tactics
diff options
context:
space:
mode:
authorbarras2002-08-16 16:15:07 +0000
committerbarras2002-08-16 16:15:07 +0000
commitc9ee59a538ffe2b80d9594247f9c60464cf4a821 (patch)
tree2f3911b3af832917b5a38f7bbc341fc8a54cade6 /tactics
parent47399fd8cb3f280082b6b3df1a1a4aaec13356be (diff)
correction de bugs:
- subst_term_gen ne depliait pas les constantes locales de maniere uniforme - la tactique Simpl ne simplifiait pas les constantes definies dans le contexte de but - la conversion d'un constr vers identificateur ne prenait pas en compte les inductifs et constructeurs git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@2971 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'tactics')
-rw-r--r--tactics/tacinterp.ml9
1 files changed, 9 insertions, 0 deletions
diff --git a/tactics/tacinterp.ml b/tactics/tacinterp.ml
index 55134310fa..3c50c26725 100644
--- a/tactics/tacinterp.ml
+++ b/tactics/tacinterp.ml
@@ -868,6 +868,15 @@ VIdentifier id
(* Gives the identifier corresponding to an Identifier tactic_arg *)
let id_of_Identifier = function
| VConstr c when isVar c -> destVar c
+ | VConstr c ->
+ (match kind_of_term c with
+ Var id -> id
+ | Const sp -> id_of_global None (ConstRef sp)
+ | Ind sp -> id_of_global None (IndRef sp)
+ | Construct sp -> id_of_global None (ConstructRef sp)
+ | _ ->
+ anomalylabstrm "id_of_Identifier"
+ (str "Not an IDENTIFIER tactic_arg"))
| VIdentifier id -> id
| _ ->
anomalylabstrm "id_of_Identifier" (str "Not an IDENTIFIER tactic_arg")