aboutsummaryrefslogtreecommitdiff
path: root/tactics
diff options
context:
space:
mode:
authorPierre-Marie Pédrot2014-08-19 01:06:39 +0200
committerPierre-Marie Pédrot2014-08-19 01:07:31 +0200
commit56ece74efc25af1b0e09265f3c7fcf74323abcaf (patch)
tree56d854b6484ffc8525b4203b57a1d344e91b9940 /tactics
parente171b71ffa0949ca21c12d79773a6aa9b64c439e (diff)
Removing a use of Goal.refine.
Diffstat (limited to 'tactics')
-rw-r--r--tactics/extratactics.ml428
1 files changed, 13 insertions, 15 deletions
diff --git a/tactics/extratactics.ml4 b/tactics/extratactics.ml4
index 6478607444..c681078fa4 100644
--- a/tactics/extratactics.ml4
+++ b/tactics/extratactics.ml4
@@ -364,21 +364,19 @@ let refine_red_flags =
let refine_locs = { Locus.onhyps=None; concl_occs=Locus.AllOccurrences }
let refine_tac {Glob_term.closure=closure;term=term} =
- let c = Goal.Refinable.make begin fun h ->
- Goal.bind Goal.concl (fun concl ->
- let flags = Pretyping.all_no_fail_flags in
- let tycon = Pretyping.OfType concl in
- let lvar = { Pretyping.empty_lvar with
- Pretyping.ltac_constrs = closure.Glob_term.typed;
- Pretyping.ltac_uconstrs = closure.Glob_term.untyped;
- } in
- Goal.Refinable.constr_of_raw h tycon flags lvar term
- )
- end in
- Proofview.Goal.lift c begin fun c ->
- Proofview.tclSENSITIVE (Goal.refine c) <*>
- Proofview.V82.tactic (reduce refine_red_flags refine_locs)
- end
+ Proofview.Goal.enter begin fun gl ->
+ let concl = Proofview.Goal.concl gl in
+ let env = Proofview.Goal.env gl in
+ let flags = Pretyping.all_no_fail_flags in
+ let tycon = Pretyping.OfType concl in
+ let lvar = { Pretyping.empty_lvar with
+ Pretyping.ltac_constrs = closure.Glob_term.typed;
+ Pretyping.ltac_uconstrs = closure.Glob_term.untyped;
+ } in
+ let update evd = Pretyping.understand_ltac flags evd env lvar tycon term in
+ Proofview.Refine.refine_casted (fun h -> Proofview.Refine.update h update) <*>
+ Proofview.V82.tactic (reduce refine_red_flags refine_locs)
+ end
TACTIC EXTEND refine
[ "refine" uconstr(c) ] -> [ refine_tac c ]