From 999b303a775257ee076adffe6daa7d528bcd35bc Mon Sep 17 00:00:00 2001 From: herbelin Date: Mon, 23 Feb 2009 10:46:20 +0000 Subject: Add support for dependent "destruct" over terms in dependent types. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11944 85f007b7-540e-0410-9357-904b9bb8a0f7 --- tactics/tactics.ml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'tactics') diff --git a/tactics/tactics.ml b/tactics/tactics.ml index b45861fd33..d74c9f05e0 100644 --- a/tactics/tactics.ml +++ b/tactics/tactics.ml @@ -2460,7 +2460,11 @@ let find_elim_signature isrec elim hyp0 gl = let s = elimination_sort_of_goal gl in let elimc = if isrec then lookup_eliminator mind s - else pf_apply make_case_gen gl mind s in + else + let case = + if occur_term (mkVar hyp0) (pf_concl gl) then make_case_dep + else make_case_gen in + pf_apply case gl mind s in let elimt = pf_type_of gl elimc in ((elimc, NoBindings), elimt), mkInd mind | Some (elimc,lbind as e) -> -- cgit v1.2.3