diff options
author | Hugo Herbelin <Hugo.Herbelin@inria.fr> | 2017-05-19 12:20:19 +0200 |
---|---|---|
committer | Hugo Herbelin <Hugo.Herbelin@inria.fr> | 2017-05-19 12:26:55 +0200 |
commit | 5c68b57c37c23a3b7b2afe4f6ff073568c7b8db9 (patch) | |
tree | cd6070f0374179932649b7c9f3c9d0ff40256cce /test-suite/success/change.v | |
parent | 9f11adda4bff194a3c6a66d573ce7001d4399886 (diff) |
Fixing an extra bug with pattern_of_constr.
Ensure in type constr_pattern that those preexisting existential
variables of the goal which do not contribute as pattern variables are
expanded: constr_pattern is not observed up to evar expansion (like
EConstr does), so we need to pre-normalize defined evars in patterns
to that matching against an EConstr works.
Diffstat (limited to 'test-suite/success/change.v')
-rw-r--r-- | test-suite/success/change.v | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/test-suite/success/change.v b/test-suite/success/change.v index 1f0b7d38a..a9821b027 100644 --- a/test-suite/success/change.v +++ b/test-suite/success/change.v @@ -59,3 +59,12 @@ unfold x. (* check that n in 0+n is not interpreted as the n from "fun n" *) change n with (0+n). Abort. + +(* Check non-collision of non-normalized defined evars with pattern variables *) + +Goal exists x, 1=1 -> x=1/\x=1. +eexists ?[n]; intros; split. +eassumption. +match goal with |- ?x=1 => change (x=1) with (0+x=1) end. +match goal with |- 0+1=1 => trivial end. +Qed. |