diff options
-rw-r--r-- | pretyping/unification.ml | 3 | ||||
-rw-r--r-- | test-suite/success/unification.v | 7 |
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. |