20 lines
547 B
Text
20 lines
547 B
Text
universe v u u'
|
|
|
|
class CategoryStruct (C : Type u) :=
|
|
(Hom : C → C → Type v)
|
|
(id : ∀ X, Hom X X)
|
|
(comp : ∀ {X Y Z : C}, Hom X Y → Hom Y Z → Hom X Z)
|
|
|
|
class Category (C : Type u) extends CategoryStruct.{v} C :=
|
|
(comp_id : ∀ {X Y : C} (f : Hom X Y), comp f (id Y) = f)
|
|
|
|
open CategoryStruct
|
|
open Category
|
|
|
|
attribute [simp] comp_id
|
|
|
|
instance (C : Type u) [Category.{v} C] : Category.{v} (ULift.{u'} C) where
|
|
Hom := λ X Y => Hom X.down Y.down
|
|
id := λ X => id X.down
|
|
comp := λ f g => comp f g
|
|
comp_id := λ f => by simp
|