aboutsummaryrefslogtreecommitdiffhomepage
path: root/test-suite/bugs/closed/HoTT_coq_067.v
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2014-05-06 09:51:21 -0400
committerGravatar Jason Gross <jgross@mit.edu>2014-05-06 16:11:43 -0400
commitd1a39e06c44dc451d8a56a286017885d400ac435 (patch)
treef83237ecf03b9d809d888ea31a842e6fb6d716d0 /test-suite/bugs/closed/HoTT_coq_067.v
parentd40091c015b68cc1a8403ca5dcc74323bf939f37 (diff)
Add regression tests for univ. poly. and prim proj
These regression tests are aggregated from the various bugs I (and others) have reported on https://github.com/HoTT/coq/issues relating to universe polymorphism, primitive projections, and eta for records. These are the tests that trunk currently passes. I'm not sure about the naming scheme (HoTT_coq_###.v, where ### is the number of the issue in GitHub), but I couldn't think of a better one.
Diffstat (limited to 'test-suite/bugs/closed/HoTT_coq_067.v')
-rw-r--r--test-suite/bugs/closed/HoTT_coq_067.v28
1 files changed, 28 insertions, 0 deletions
diff --git a/test-suite/bugs/closed/HoTT_coq_067.v b/test-suite/bugs/closed/HoTT_coq_067.v
new file mode 100644
index 000000000..ad32a60c6
--- /dev/null
+++ b/test-suite/bugs/closed/HoTT_coq_067.v
@@ -0,0 +1,28 @@
+Set Universe Polymorphism.
+Inductive paths {A : Type} (a : A) : A -> Type :=
+ idpath : paths a a.
+
+Goal forall (A : Type) (P : forall _ : A, Type) (x0 : A)
+ (p : P x0) (q : @paths (@sigT A P) (@existT A P x0 p) (@existT A P x0 p)),
+ @paths (@paths (@sigT A P) (@existT A P x0 p) (@existT A P x0 p))
+ (@idpath (@sigT A P) (@existT A P x0 p))
+ (@idpath (@sigT A P) (@existT A P x0 p)).
+ intros.
+ induction q.
+ admit.
+Qed.
+(** Error: Illegal application:
+The term "paths_rect" of type
+ "forall (A : Type) (a : A) (P : forall a0 : A, paths a a0 -> Type),
+ P a (idpath a) -> forall (y : A) (p : paths a y), P y p"
+cannot be applied to the terms
+ "{x : _ & P x}" : "Type"
+ "s" : "{x : _ & P x}"
+ "fun (a : {x : _ & P x}) (_ : paths s a) => paths (idpath a) (idpath a)"
+ : "forall a : {x : _ & P x}, paths s a -> Type"
+ "match proof_admitted return (paths (idpath s) (idpath s)) with
+ end" : "paths (idpath s) (idpath s)"
+ "s" : "{x : _ & P x}"
+ "q" : "paths (existT P x0 p) (existT P x0 p)"
+The 3rd term has type "forall a : {x : _ & P x}, paths s a -> Type"
+which should be coercible to "forall a : {x : _ & P x}, paths s a -> Type". *)