diff options
author | Matthieu Sozeau <matthieu.sozeau@inria.fr> | 2016-05-26 11:32:51 +0200 |
---|---|---|
committer | Matthieu Sozeau <matthieu.sozeau@inria.fr> | 2016-05-26 11:45:16 +0200 |
commit | 9de5a59aa6994e8023b9e551b232a73aab3521fa (patch) | |
tree | c6051f7bf04b0f76a28f18c12867e5fe44f50be1 /test-suite | |
parent | 891a8a9f7ea3bb5b0b07dc5a2df51314135d8b53 (diff) |
rewrite/Univs: Fix bug # 4498.
Diffstat (limited to 'test-suite')
-rw-r--r-- | test-suite/bugs/closed/4498.v | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test-suite/bugs/closed/4498.v b/test-suite/bugs/closed/4498.v new file mode 100644 index 000000000..ccdb2dddd --- /dev/null +++ b/test-suite/bugs/closed/4498.v @@ -0,0 +1,24 @@ +Require Export Coq.Unicode.Utf8. +Require Export Coq.Classes.Morphisms. +Require Export Coq.Relations.Relation_Definitions. + +Set Universe Polymorphism. + +Reserved Notation "a ~> b" (at level 90, right associativity). + +Class Category := { + ob : Type; + uhom := Type : Type; + hom : ob → ob → uhom where "a ~> b" := (hom a b); + compose : ∀ {A B C}, (B ~> C) → (A ~> B) → (A ~> C); + equiv : ∀ {A B}, relation (A ~> B); + is_equiv : ∀ {A B}, @Equivalence (A ~> B) equiv; + comp_respects : ∀ {A B C}, + Proper (@equiv B C ==> @equiv A B ==> @equiv A C) (@compose A B C); +}. + +Require Export Coq.Setoids.Setoid. + +Add Parametric Morphism `{C : Category} {A B C} : (@compose _ A B C) with + signature equiv ==> equiv ==> equiv as compose_mor. +Proof. apply comp_respects. Qed.
\ No newline at end of file |