diff options
author | Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr> | 2015-10-29 20:04:58 +0100 |
---|---|---|
committer | Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr> | 2015-10-29 20:25:02 +0100 |
commit | bf1eef119ef8f0e6a2ae4b66165d6e22c1ce9236 (patch) | |
tree | eae73dd080b6a704922c3ffcf7b47ede9e13651f /plugins | |
parent | 4afb91237fa89fd9dc018a567382e34d6b1e616f (diff) |
Monotonizing Tactics.change_arg.
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/funind/recdef.ml | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/plugins/funind/recdef.ml b/plugins/funind/recdef.ml index 685a5e8bd..dd5381c76 100644 --- a/plugins/funind/recdef.ml +++ b/plugins/funind/recdef.ml @@ -38,6 +38,7 @@ open Auto open Eauto open Indfun_common +open Sigma.Notations @@ -687,9 +688,12 @@ let mkDestructEq : observe_tclTHENLIST (str "mkDestructEq") [Simple.generalize new_hyps; (fun g2 -> - Proofview.V82.of_tactic (change_in_concl None - (fun patvars sigma -> - pattern_occs [Locus.AllOccurrencesBut [1], expr] (pf_env g2) sigma (pf_concl g2))) g2); + let changefun patvars = { run = fun sigma -> + let sigma = Sigma.to_evar_map sigma in + let (sigma, c) = pattern_occs [Locus.AllOccurrencesBut [1], expr] (pf_env g2) sigma (pf_concl g2) in + Sigma.Unsafe.of_pair (c, sigma) + } in + Proofview.V82.of_tactic (change_in_concl None changefun) g2); Proofview.V82.of_tactic (simplest_case expr)]), to_revert |