aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--pretyping/unification.ml3
-rw-r--r--test-suite/success/unification.v7
2 files changed, 9 insertions, 1 deletions
diff --git a/pretyping/unification.ml b/pretyping/unification.ml
index 95cef9745..890f0bd78 100644
--- a/pretyping/unification.ml
+++ b/pretyping/unification.ml
@@ -230,7 +230,8 @@ let unify_0_with_initial_metas metas is_subterm env sigma cv_pb flags m n =
in
if (not(occur_meta m)) &&
- (if flags.modulo_conv then is_fconv (conv_pb_of cv_pb) env sigma m n
+ (if flags.modulo_conv_on_closed_terms
+ then is_fconv (conv_pb_of cv_pb) env sigma m n
else eq_constr m n)
then
(metas,[])
diff --git a/test-suite/success/unification.v b/test-suite/success/unification.v
index 4ddaab710..6a4d92851 100644
--- a/test-suite/success/unification.v
+++ b/test-suite/success/unification.v
@@ -89,3 +89,10 @@ Proof.
intros.
apply H.
Qed.
+
+(* Test instanciation of evars by unification *)
+
+Goal (forall x, 0 * x = 0 -> True) -> True.
+intros; eapply H.
+rewrite <- plus_n_Sm. (* should refine ?x with S ?x' *)
+Abort.