diff options
| author | Pierre-Marie Pédrot | 2014-08-19 01:06:39 +0200 |
|---|---|---|
| committer | Pierre-Marie Pédrot | 2014-08-19 01:07:31 +0200 |
| commit | 56ece74efc25af1b0e09265f3c7fcf74323abcaf (patch) | |
| tree | 56d854b6484ffc8525b4203b57a1d344e91b9940 /tactics | |
| parent | e171b71ffa0949ca21c12d79773a6aa9b64c439e (diff) | |
Removing a use of Goal.refine.
Diffstat (limited to 'tactics')
| -rw-r--r-- | tactics/extratactics.ml4 | 28 |
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 ] |
