summaryrefslogtreecommitdiff
path: root/test-suite/bugs/closed/4400.v
diff options
context:
space:
mode:
authorGravatar Enrico Tassi <gareuselesinge@debian.org>2016-01-26 16:56:34 +0100
committerGravatar Enrico Tassi <gareuselesinge@debian.org>2016-01-26 16:56:34 +0100
commitbb08c29807439697fa7c2045000dd3e17a9428b1 (patch)
tree9100a2dd5c2cb92ddd083cb052e236cdee6b9690 /test-suite/bugs/closed/4400.v
parentd55ac4014632489e3009a2a7351d018b3b2d27ac (diff)
parent164c6861860e6b52818c031f901ffeff91fca16a (diff)
Merge tag 'upstream/8.5'
Upstream version 8.5
Diffstat (limited to 'test-suite/bugs/closed/4400.v')
-rw-r--r--test-suite/bugs/closed/4400.v19
1 files changed, 19 insertions, 0 deletions
diff --git a/test-suite/bugs/closed/4400.v b/test-suite/bugs/closed/4400.v
new file mode 100644
index 00000000..5c23f840
--- /dev/null
+++ b/test-suite/bugs/closed/4400.v
@@ -0,0 +1,19 @@
+(* -*- coq-prog-args: ("-emacs" "-require" "Coq.Compat.Coq84" "-compat" "8.4") -*- *)
+Require Import Coq.Lists.List Coq.Logic.JMeq Program.Equality.
+Set Printing Universes.
+Inductive Foo (I : Type -> Type) (A : Type) : Type :=
+| foo (B : Type) : A -> I B -> Foo I A.
+Definition Family := Type -> Type.
+Definition FooToo : Family -> Family := Foo.
+Definition optionize (I : Type -> Type) (A : Type) := option (I A).
+Definition bar (I : Type -> Type) (A : Type) : A -> option (I A) -> Foo(optionize I) A := foo (optionize I) A A.
+Record Rec (I : Type -> Type) := { rec : forall A : Type, A -> I A -> Foo I A }.
+Definition barRec : Rec (optionize id) := {| rec := bar id |}.
+Inductive Empty {T} : T -> Prop := .
+Theorem empty (family : Family) (a : fold_right prod unit (map (Foo family)
+nil)) (b : unit) :
+ Empty (a, b) -> False.
+Proof.
+ intro e.
+ dependent induction e.
+Qed.