From b286c9f4f42febfd37f9715d81eaf118ab24aa94 Mon Sep 17 00:00:00 2001 From: Hugo Herbelin Date: Fri, 27 Feb 2015 16:29:28 +0100 Subject: 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. *) --- test-suite/bugs/closed/3210.v | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'test-suite') diff --git a/test-suite/bugs/closed/3210.v b/test-suite/bugs/closed/3210.v index e66bf922d7..bb673f38c2 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 *) -- cgit v1.2.3