Documentation

Mathlib.CategoryTheory.ConnectedComponents

Connected components of a category #

Defines a type ConnectedComponents J indexing the connected components of a category, and the full subcategories giving each connected component: Component j : Type u₁. We show that each Component j is in fact connected.

We show every category can be expressed as a disjoint union of its connected components, in particular Decomposed J is the category (definitionally) given by the sigma-type of the connected components of J, and it is shown that this is equivalent to J.

This type indexes the connected components of the category J.

Equations
Instances For

    The map ConnectedComponents J → ConnectedComponents K induced by a functor J ⥤ K.

    Equations
    Instances For
      @[simp]
      theorem CategoryTheory.Functor.mapConnectedComponents_mk {J : Type u₁} [Category.{v₁, u₁} J] {K : Type u₂} [Category.{v₂, u₂} K] (F : Functor J K) (j : J) :
      F.mapConnectedComponents j = F.obj j

      Every function from connected components of a category gives a functor to discrete category

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        Every functor to a discrete category gives a function from connected components

        Equations
        Instances For

          Functions from connected components and functors to discrete category are in bijection

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For

            Given an index for a connected component, produce the actual component as a full subcategory.

            Equations
            Instances For

              The inclusion functor from a connected component to the whole category.

              Equations
              Instances For
                @[simp]
                theorem CategoryTheory.Component.ι_map {J : Type u₁} [Category.{v₁, u₁} J] (j : ConnectedComponents J) {X✝ Y✝ : InducedCategory J FullSubcategory.obj} (f : X✝ Y✝) :
                (ι j).map f = f
                @[simp]
                theorem CategoryTheory.Component.ι_obj {J : Type u₁} [Category.{v₁, u₁} J] (j : ConnectedComponents J) (self : FullSubcategory fun (k : J) => Quotient.mk'' k = j) :
                (ι j).obj self = self.obj

                Each connected component of the category is nonempty.

                Each connected component of the category is connected.

                @[reducible, inline]

                The disjoint union of Js connected components, written explicitly as a sigma-type with the category structure. This category is equivalent to J.

                Equations
                Instances For
                  @[reducible, inline]

                  The inclusion of each component into the decomposed category. This is just sigma.incl but having this abbreviation helps guide typeclass search to get the right category instance on decomposed J.

                  Equations
                  Instances For

                    The forward direction of the equivalence between the decomposed category and the original.

                    Equations
                    Instances For
                      @[simp]
                      theorem CategoryTheory.decomposedTo_map (J : Type u₁) [Category.{v₁, u₁} J] {X✝ Y✝ : (i : ConnectedComponents J) × Component i} (g : X✝ Y✝) :
                      @[simp]
                      theorem CategoryTheory.decomposedTo_obj (J : Type u₁) [Category.{v₁, u₁} J] (X : (i : ConnectedComponents J) × Component i) :
                      (decomposedTo J).obj X = X.snd.obj

                      This gives that any category is equivalent to a disjoint union of connected categories.

                      Equations
                      Instances For