aboutsummaryrefslogtreecommitdiffhomepage
path: root/tactics/tactics.ml
diff options
context:
space:
mode:
authorGravatar aspiwack <aspiwack@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-11-02 15:40:29 +0000
committerGravatar aspiwack <aspiwack@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-11-02 15:40:29 +0000
commit8ead702b4f0ec5e0fecfc5de68f7ce86f56b20fe (patch)
tree613e56126ac27d439d41dab23d3295a68cdd4dd6 /tactics/tactics.ml
parentfb1c2f25fb0ca5f422c69e14b6b434ad1d8f01a9 (diff)
Refine: Tactics.New.refine does beta-reduction.
Previously I had wrapped Tactics.New.refine with extra beta-reduction in extratactics.ml4, that is, only for Ltac. Ocaml plugins saw the version without reduction. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@17019 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'tactics/tactics.ml')
-rw-r--r--tactics/tactics.ml9
1 files changed, 8 insertions, 1 deletions
diff --git a/tactics/tactics.ml b/tactics/tactics.ml
index 2d1ba7756..c933ec44e 100644
--- a/tactics/tactics.ml
+++ b/tactics/tactics.ml
@@ -3870,11 +3870,18 @@ module New = struct
let exact_proof c = Proofview.V82.tactic (exact_proof c)
+ open Genredexpr
+ open Locus
+
let refine c =
let c = Goal.Refinable.make begin fun h ->
Goal.Refinable.constr_of_open_constr h true c
end in
Proofview.Goal.lift c >>= fun c ->
- Proofview.tclSENSITIVE (Goal.refine c)
+ Proofview.tclSENSITIVE (Goal.refine c) <*>
+ Proofview.V82.tactic (reduce
+ (Lazy {rBeta=true;rIota=false;rZeta=false;rDelta=false;rConst=[]})
+ {onhyps=None; concl_occs=AllOccurrences }
+ )
end