From 03cab057c3ccc51464ed69531441d3c09b2919a7 Mon Sep 17 00:00:00 2001 From: Pierre-Marie Pédrot Date: Tue, 24 Jun 2014 14:23:35 +0200 Subject: Clenvtac.clenv_refine in the new monad. Not satisfactory though, because it exhibits the "useless goal" behaviour: there is code out there depending on the fact that goals cannot be solved by side effects. --- tactics/auto.ml | 4 ++-- tactics/class_tactics.ml | 4 ++-- tactics/tacticals.ml | 2 +- tactics/tactics.ml | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) (limited to 'tactics') diff --git a/tactics/auto.ml b/tactics/auto.ml index 80aa9b6609..e7082a579f 100644 --- a/tactics/auto.ml +++ b/tactics/auto.ml @@ -1136,13 +1136,13 @@ let unify_resolve_nodelta poly (c,clenv) gl = let clenv' = if poly then fst (Clenv.refresh_undefined_univs clenv) else clenv in let clenv' = connect_clenv gl clenv' in let clenv'' = clenv_unique_resolver ~flags:auto_unif_flags clenv' gl in - Clenvtac.clenv_refine false clenv'' gl + Proofview.V82.of_tactic (Clenvtac.clenv_refine false clenv'') gl let unify_resolve poly flags (c,clenv) gl = let clenv' = if poly then fst (Clenv.refresh_undefined_univs clenv) else clenv in let clenv' = connect_clenv gl clenv' in let clenv'' = clenv_unique_resolver ~flags clenv' gl in - Clenvtac.clenv_refine false clenv'' gl + Proofview.V82.of_tactic (Clenvtac.clenv_refine false clenv'') gl let unify_resolve_gen poly = function | None -> unify_resolve_nodelta poly diff --git a/tactics/class_tactics.ml b/tactics/class_tactics.ml index f11c027ad4..7c9aa59b62 100644 --- a/tactics/class_tactics.ml +++ b/tactics/class_tactics.ml @@ -104,13 +104,13 @@ let unify_e_resolve poly flags (c,clenv) gls = let clenv' = if poly then fst (Clenv.refresh_undefined_univs clenv) else clenv in let clenv' = connect_clenv gls clenv' in let clenv' = clenv_unique_resolver ~flags clenv' gls in - Clenvtac.clenv_refine true ~with_classes:false clenv' gls + Proofview.V82.of_tactic (Clenvtac.clenv_refine true ~with_classes:false clenv') gls let unify_resolve poly flags (c,clenv) gls = let clenv' = if poly then fst (Clenv.refresh_undefined_univs clenv) else clenv in let clenv' = connect_clenv gls clenv' in let clenv' = clenv_unique_resolver ~flags clenv' gls in - Clenvtac.clenv_refine false(*uhoh, was true*) ~with_classes:false clenv' gls + Proofview.V82.of_tactic (Clenvtac.clenv_refine false(*uhoh, was true*) ~with_classes:false clenv') gls let clenv_of_prods poly nprods (c, clenv) gls = if poly || Int.equal nprods 0 then Some clenv diff --git a/tactics/tacticals.ml b/tactics/tacticals.ml index 4d6893f1c4..fcce6e5eba 100644 --- a/tactics/tacticals.ml +++ b/tactics/tacticals.ml @@ -592,7 +592,7 @@ module New = struct in let branchtacs = List.init (Array.length branchsigns) after_tac in Proofview.tclTHEN - (Proofview.V82.tactic (Clenvtac.clenv_refine false clenv')) + (Clenvtac.clenv_refine false clenv') (Proofview.tclEXTEND [] tclIDTAC branchtacs) end diff --git a/tactics/tactics.ml b/tactics/tactics.ml index 5931257d27..3c0016830c 100644 --- a/tactics/tactics.ml +++ b/tactics/tactics.ml @@ -3229,7 +3229,7 @@ let induction_tac_felim with_evars indvars nparams elim gl = let elimclause' = recolle_clenv nparams indvars elimclause gl in (* one last resolution (useless?) *) let resolved = clenv_unique_resolver ~flags:(elim_flags ()) elimclause' gl in - Clenvtac.clenv_refine with_evars resolved gl + Proofview.V82.of_tactic (Clenvtac.clenv_refine with_evars resolved) gl (* Apply induction "in place" replacing the hypothesis on which induction applies with the induction hypotheses *) -- cgit v1.2.3