aboutsummaryrefslogtreecommitdiffhomepage
path: root/test-suite/bugs/closed/3210.v
diff options
context:
space:
mode:
authorGravatar Hugo Herbelin <Hugo.Herbelin@inria.fr>2015-02-27 16:29:28 +0100
committerGravatar Hugo Herbelin <Hugo.Herbelin@inria.fr>2015-02-27 16:59:29 +0100
commitb286c9f4f42febfd37f9715d81eaf118ab24aa94 (patch)
tree77a696ea6d4de8d7b160f05c1c26c9aeff6448a7 /test-suite/bugs/closed/3210.v
parent5f8c0bfbb04de58a527d373c3994592e5853d4e2 (diff)
Add support so that the type of a match in an inductive type with let-in
is reduced as if without let-in, when applied to arguments. This allows e.g. to have a head-betazeta-reduced goal in the following example. Inductive Foo : let X := Set in X := I : Foo. Definition foo (x : Foo) : x = x. destruct x. (* or case x, etc. *)
Diffstat (limited to 'test-suite/bugs/closed/3210.v')
-rw-r--r--test-suite/bugs/closed/3210.v13
1 files changed, 13 insertions, 0 deletions
diff --git a/test-suite/bugs/closed/3210.v b/test-suite/bugs/closed/3210.v
index e66bf922d..bb673f38c 100644
--- a/test-suite/bugs/closed/3210.v
+++ b/test-suite/bugs/closed/3210.v
@@ -7,3 +7,16 @@ Definition foo (x : Foo) : bool :=
match x with
I => true
end.
+
+Definition foo' (x : Foo) : x = x.
+case x.
+match goal with |- I = I => idtac end. (* check form of the goal *)
+Undo 2.
+elim x.
+match goal with |- I = I => idtac end. (* check form of the goal *)
+Undo 2.
+induction x.
+match goal with |- I = I => idtac end. (* check form of the goal *)
+Undo 2.
+destruct x.
+match goal with |- I = I => idtac end. (* check form of the goal *)