aboutsummaryrefslogtreecommitdiffhomepage
path: root/tactics
diff options
context:
space:
mode:
authorGravatar Maxime Dénès <mail@maximedenes.fr>2016-09-30 09:46:54 +0200
committerGravatar Maxime Dénès <mail@maximedenes.fr>2016-09-30 09:46:54 +0200
commit916d5fcc32f5110f23b60b21489d89598e6b8674 (patch)
tree2b1d840fa7623d386a0321a380d9f76f03f93841 /tactics
parentedb55a94fc5c0473e57f5a61c0c723194c2ff414 (diff)
parent7952c15ca3d26ae5c2807196bb7aca97bce325c6 (diff)
Merge branch 'v8.5' into v8.6
Diffstat (limited to 'tactics')
-rw-r--r--tactics/eauto.ml3
-rw-r--r--tactics/equality.ml8
2 files changed, 7 insertions, 4 deletions
diff --git a/tactics/eauto.ml b/tactics/eauto.ml
index ba9a2d95c..90f80a737 100644
--- a/tactics/eauto.ml
+++ b/tactics/eauto.ml
@@ -282,7 +282,8 @@ module SearchProblem = struct
in
let rec_tacs =
let l =
- filter_tactics s.tacres (e_possible_resolve s.dblist (List.hd s.localdb) (pf_concl g))
+ let concl = Reductionops.nf_evar (project g)(pf_concl g) in
+ filter_tactics s.tacres (e_possible_resolve s.dblist (List.hd s.localdb) concl)
in
List.map
(fun (lgls, cost, pp) ->
diff --git a/tactics/equality.ml b/tactics/equality.ml
index 3e5b7b65f..26e4f01f2 100644
--- a/tactics/equality.ml
+++ b/tactics/equality.ml
@@ -1761,20 +1761,22 @@ let subst_all ?(flags=default_subst_tactic_flags ()) () =
let gl = Proofview.Goal.assume gl in
let env = Proofview.Goal.env gl in
let find_eq_data_decompose = find_eq_data_decompose gl in
- let test decl =
+ let select_equation_name decl =
try
let lbeq,u,(_,x,y) = find_eq_data_decompose (get_type decl) in
let eq = Universes.constr_of_global_univ (lbeq.eq,u) in
if flags.only_leibniz then restrict_to_eq_and_identity eq;
match kind_of_term x, kind_of_term y with
- | Var z, _ | _, Var z when not (is_evaluable env (EvalVarRef z)) ->
+ | Var z, _ when not (is_evaluable env (EvalVarRef z)) ->
+ Some (get_id decl)
+ | _, Var z when not (is_evaluable env (EvalVarRef z)) ->
Some (get_id decl)
| _ ->
None
with Constr_matching.PatternMatchingFailure -> None
in
let hyps = Proofview.Goal.hyps gl in
- List.rev (List.map_filter test hyps)
+ List.rev (List.map_filter select_equation_name hyps)
in
(* Second step: treat equations *)