diff options
| -rw-r--r-- | pretyping/unification.ml | 2 | ||||
| -rw-r--r-- | test-suite/success/apply.v | 9 |
2 files changed, 10 insertions, 1 deletions
diff --git a/pretyping/unification.ml b/pretyping/unification.ml index f99ea9a52c..a347149e37 100644 --- a/pretyping/unification.ml +++ b/pretyping/unification.ml @@ -307,7 +307,7 @@ let default_unify_flags () = let flags = default_core_unify_flags () in { core_unify_flags = flags; merge_unify_flags = flags; - subterm_unify_flags = { flags with modulo_delta = empty_transparent_state }; + subterm_unify_flags = { flags with modulo_delta = var_full_transparent_state }; allow_K_in_toplevel_higher_order_unification = false; (* Why not? *) resolve_evars = false } diff --git a/test-suite/success/apply.v b/test-suite/success/apply.v index 6a2012d91d..21b829aa19 100644 --- a/test-suite/success/apply.v +++ b/test-suite/success/apply.v @@ -527,3 +527,12 @@ eapply eq_trans. apply H. rewrite H0. change (x+0=0). Abort. + +(* 2nd order apply used to have delta on local definitions even though + it does not have delta on global definitions; keep it by + compatibility while finding a more uniform way to proceed. *) + +Goal forall f:nat->nat, (forall P x, P (f x)) -> let x:=f 0 in x = 0. +intros f H x. +apply H. +Qed. |
