Category of categories #
This file contains the definition of the category Cat
of all categories.
In this category objects are categories and
morphisms are functors between these categories.
Implementation notes #
Though Cat
is not a concrete category, we use bundled
to define
its carrier type.
Category of categories.
Equations
Instances For
Cat
is a strict bicategory.
@[simp]
@[simp]
@[simp]
@[simp]
The identity in the category of categories equals the identity functor.
Composition in the category of categories equals functor composition.
def
CategoryTheory.Functor.toCatHom
{C D : Type u}
[Category.{v, u} C]
[Category.{v, u} D]
(F : Functor C D)
:
Functors between categories of the same size define arrows in Cat
.
Equations
Instances For
def
CategoryTheory.Functor.ofCatHom
{C D : Type}
[Category.{u_1, 0} C]
[Category.{u_1, 0} D]
(F : Cat.of C ⟶ Cat.of D)
:
Functor C D
Arrows in Cat
define functors.
Equations
Instances For
@[simp]
theorem
CategoryTheory.Functor.to_ofCatHom
{C D : Type}
[Category.{u_1, 0} C]
[Category.{u_1, 0} D]
(F : Cat.of C ⟶ Cat.of D)
:
@[simp]
theorem
CategoryTheory.Functor.of_toCatHom
{C D : Type}
[Category.{u_1, 0} C]
[Category.{u_1, 0} D]
(F : Functor C D)
:
Functor that gets the set of objects of a category. It is not
called forget
, because it is not a faithful functor.
Equations
Instances For
Equations
def
CategoryTheory.Cat.isoOfEquiv
{C D : Cat}
(e : ↑C ≌ ↑D)
(h₁ : ∀ (X : ↑C), e.inverse.obj (e.functor.obj X) = X)
(h₂ : ∀ (Y : ↑D), e.functor.obj (e.inverse.obj Y) = Y)
(h₃ : ∀ (X : ↑C), e.unitIso.hom.app X = eqToHom ⋯ := by cat_disch)
(h₄ : ∀ (Y : ↑D), e.counitIso.hom.app Y = eqToHom ⋯ := by cat_disch)
:
Under certain hypotheses, an equivalence of categories actually
defines an isomorphism in Cat
.
Equations
Instances For
@[simp]
theorem
CategoryTheory.Cat.isoOfEquiv_inv
{C D : Cat}
(e : ↑C ≌ ↑D)
(h₁ : ∀ (X : ↑C), e.inverse.obj (e.functor.obj X) = X)
(h₂ : ∀ (Y : ↑D), e.functor.obj (e.inverse.obj Y) = Y)
(h₃ : ∀ (X : ↑C), e.unitIso.hom.app X = eqToHom ⋯ := by cat_disch)
(h₄ : ∀ (Y : ↑D), e.counitIso.hom.app Y = eqToHom ⋯ := by cat_disch)
:
@[simp]
theorem
CategoryTheory.Cat.isoOfEquiv_hom
{C D : Cat}
(e : ↑C ≌ ↑D)
(h₁ : ∀ (X : ↑C), e.inverse.obj (e.functor.obj X) = X)
(h₂ : ∀ (Y : ↑D), e.functor.obj (e.inverse.obj Y) = Y)
(h₃ : ∀ (X : ↑C), e.unitIso.hom.app X = eqToHom ⋯ := by cat_disch)
(h₄ : ∀ (Y : ↑D), e.counitIso.hom.app Y = eqToHom ⋯ := by cat_disch)
:
@[simp]