From e56c65cf68c4055b4e1272b5a2afbf5803d93a42 Mon Sep 17 00:00:00 2001 From: Hugo Herbelin Date: Sat, 28 Nov 2020 15:10:21 +0100 Subject: Fixes #13413: freshness issue with "%" introduction pattern. We build earlier the final expected name at the end of a sequence of "%" introduction patterns. --- test-suite/bugs/closed/bug_13413.v | 20 ++++++++++++++++++++ test-suite/success/forward.v | 4 ++++ 2 files changed, 24 insertions(+) create mode 100644 test-suite/bugs/closed/bug_13413.v (limited to 'test-suite') diff --git a/test-suite/bugs/closed/bug_13413.v b/test-suite/bugs/closed/bug_13413.v new file mode 100644 index 0000000000..b4414a6a1d --- /dev/null +++ b/test-suite/bugs/closed/bug_13413.v @@ -0,0 +1,20 @@ +Goal forall (A B : Prop) (H : A -> B), A -> A -> B. +intros A B H ?%H H0. +exact H1. +Qed. + +Goal forall (A B : Prop) (H : A -> B), A -> A -> B. +intros A B H ?H%H H0. +exact H1. +Qed. + +Goal forall (A B : Prop) (H : A -> B), A -> A -> B. +intros A B H J%H H0. +exact J. +Qed. + +Set Mangle Names. +Goal forall (A B : Prop) (H : A -> B), A -> A -> B. +intros A B H ?%H _0. +assumption. +Qed. diff --git a/test-suite/success/forward.v b/test-suite/success/forward.v index 4e36dec15b..62c788e910 100644 --- a/test-suite/success/forward.v +++ b/test-suite/success/forward.v @@ -27,3 +27,7 @@ Fail match goal with |- (?f ?a) => idtac end. (* should be beta-iota reduced *) 2:match goal with _: (?f ?a) |- _ => idtac end. (* should not be beta-iota reduced *) Abort. +Goal nat. +assert nat as J%S by exact 0. +exact J. +Qed. -- cgit v1.2.3 From eb38680520811e7a5e64678719d7b57e87af1269 Mon Sep 17 00:00:00 2001 From: Hugo Herbelin Date: Sun, 29 Nov 2020 09:40:11 +0100 Subject: Preventing internal temporary names to impact the "?H"-like intro-pattern names. --- test-suite/success/intros.v | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'test-suite') diff --git a/test-suite/success/intros.v b/test-suite/success/intros.v index d37ad9f528..b8fbff05c6 100644 --- a/test-suite/success/intros.v +++ b/test-suite/success/intros.v @@ -152,3 +152,15 @@ Definition d := ltac:(intro x; exact (x*x)). Definition d' : nat -> _ := ltac:(intros;exact 0). End Evar. + +Module Wildcard. + +(* We check that the wildcard internal name does not interfere with + user fresh names (currently the prefix is "_H") *) + +Goal nat -> bool -> nat -> bool. +intros _ ?_H ?_H. +exact _H. +Qed. + +End Wildcard. -- cgit v1.2.3