Documentation

Mathlib.CategoryTheory.SmallRepresentatives

Representatives of small categories #

Given a type Ω : Type w, we construct a structure SmallCategoryOfSet Ω : Type w which consists of the data and axioms that allows to define a category structure such that the type of objects and morphisms identify to subtypes of Ω.

This allows to define a small family of small categories SmallCategoryOfSet.categoryFamily : SmallCategoryOfSet Ω → Type w which, up to equivalence, represents all categories such that types of objects and morphisms have cardinalities less than or equal to that of Ω (see SmallCategoryOfSet.exists_equivalence).

Structure which allows to construct a category whose types of objects and morphisms are subtypes of a fixed type Ω.

  • obj : Set Ω

    objects

  • hom (X Y : self.obj) : Set Ω

    morphisms

  • id (X : self.obj) : (self.hom X X)

    identity morphisms

  • comp {X Y Z : self.obj} (f : (self.hom X Y)) (g : (self.hom Y Z)) : (self.hom X Z)

    the composition of morphisms

  • id_comp {X Y : self.obj} (f : (self.hom X Y)) : self.comp (self.id X) f = f
  • comp_id {X Y : self.obj} (f : (self.hom X Y)) : self.comp f (self.id Y) = f
  • assoc {X Y Z T : self.obj} (f : (self.hom X Y)) (g : (self.hom Y Z)) (h : (self.hom Z T)) : self.comp (self.comp f g) h = self.comp f (self.comp g h)
Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    @[simp]
    theorem CategoryTheory.SmallCategoryOfSet.comp_def (Ω : Type w) (S : SmallCategoryOfSet Ω) {X✝ Y✝ Z✝ : S.obj} (f : (S.hom X✝ Y✝)) (g : (S.hom Y✝ Z✝)) :
    @[reducible, inline]

    The family of all categories such that the types of objects and morphisms are subtypes of a given type Ω.

    Equations
    Instances For
      structure CategoryTheory.CoreSmallCategoryOfSet (Ω : Type w) (C : Type u) [Category.{v, u} C] :
      Type (max (max u v) w)

      Helper structure for the construction of a term in SmallCategoryOfSet. This involves the choice of bijections between types of objects and morphisms in a category C and subtypes of a type Ω.

      • obj : Set Ω

        objects

      • hom (X Y : self.obj) : Set Ω

        morphisms

      • objEquiv : self.obj C

        a bijection between the types of objects

      • homEquiv {X Y : self.obj} : (self.hom X Y) (self.objEquiv X self.objEquiv Y)

        a bijection between the types of morphisms

      Instances For

        The SmallCategoryOfSet structure induced by a CoreSmallCategoryOfSet structure.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[simp]
          theorem CategoryTheory.CoreSmallCategoryOfSet.smallCategoryOfSet_comp {Ω : Type w} {C : Type u} [Category.{v, u} C] (h : CoreSmallCategoryOfSet Ω C) {X✝ Y✝ Z✝ : h.obj} (f : (h.hom X✝ Y✝)) (g : (h.hom Y✝ Z✝)) :

          Given h : CoreSmallCategoryOfSet Ω C, this is the obvious functor h.smallCategoryOfSet.obj ⥤ C.

          Equations
          Instances For
            @[simp]
            theorem CategoryTheory.CoreSmallCategoryOfSet.functor_map {Ω : Type w} {C : Type u} [Category.{v, u} C] (h : CoreSmallCategoryOfSet Ω C) {X✝ Y✝ : h.smallCategoryOfSet.obj} (a : (h.hom X✝ Y✝)) :

            Given h : CoreSmallCategoryOfSet Ω C, the obvious functor h.smallCategoryOfSet.obj ⥤ C is fully faithful.

            Equations
            Instances For

              Given h : CoreSmallCategoryOfSet Ω C, the obvious functor h.smallCategoryOfSet.obj ⥤ C is an equivalence.

              Equations
              Instances For