aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Herbelin2014-09-29 07:04:28 +0200
committerHugo Herbelin2014-09-29 15:36:19 +0200
commita08733fb871b336e122d65c446bc344a3894cfaf (patch)
treed7f3838b18b5b4cfb584bdc50d063c11950253bd
parent435cd91ddb71a59fef3611210b19e9d01fc730f9 (diff)
Restoring non-uniform delta on local and global constants in 2nd order
unification for apply (compatibility reason). Waiting for another way to provide a more uniform scheme by default (keyed unification?).
-rw-r--r--pretyping/unification.ml2
-rw-r--r--test-suite/success/apply.v9
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.