diff options
author | herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2009-02-23 10:46:20 +0000 |
---|---|---|
committer | herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2009-02-23 10:46:20 +0000 |
commit | 999b303a775257ee076adffe6daa7d528bcd35bc (patch) | |
tree | fb033dc46102c01b98de526872b2f6f101943f4e /tactics | |
parent | 3c5c74b9763debfcfc2b4683efd85184ae21875b (diff) |
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
Diffstat (limited to 'tactics')
-rw-r--r-- | tactics/tactics.ml | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/tactics/tactics.ml b/tactics/tactics.ml index b45861fd3..d74c9f05e 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) -> |