Connected components of a category #
Defines a type connected_components 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 category_theory.connected_components
Given an index for a connected component, produce the actual component as a full subcategory.
Equations
- category_theory.component j = category_theory.full_subcategory (λ (k : J), quotient.mk' k = j)
Instances for category_theory.component
The inclusion functor from a connected component to the whole category.
Equations
- category_theory.component.ι j = category_theory.full_subcategory_inclusion (λ (k : J), quotient.mk' k = j)
Instances for category_theory.component.ι
Each connected component of the category is nonempty.
Each connected component of the category is connected.
The disjoint union of Js connected components, written explicitly as a sigma-type with the
category structure.
This category is equivalent to J.
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.
The forward direction of the equivalence between the decomposed category and the original.
Instances for category_theory.decomposed_to
Equations
- category_theory.decomposed_to.full = {preimage := λ (X Y : category_theory.decomposed J) (f : (category_theory.decomposed_to J).obj X ⟶ (category_theory.decomposed_to J).obj Y), sigma.cases_on X (λ (j' : category_theory.connected_components J) (X_snd : category_theory.component j') (f : (category_theory.decomposed_to J).obj ⟨j', X_snd⟩ ⟶ (category_theory.decomposed_to J).obj Y), category_theory.full_subcategory.cases_on X_snd (λ (X : J) (hX : quotient.mk' X = j') (f : (category_theory.decomposed_to J).obj ⟨j', {obj := X, property := hX}⟩ ⟶ (category_theory.decomposed_to J).obj Y), sigma.cases_on Y (λ (k' : category_theory.connected_components J) (Y_snd : category_theory.component k') (f : (category_theory.decomposed_to J).obj ⟨j', {obj := X, property := hX}⟩ ⟶ (category_theory.decomposed_to J).obj ⟨k', Y_snd⟩), category_theory.full_subcategory.cases_on Y_snd (λ (Y : J) (hY : quotient.mk' Y = k') (f : (category_theory.decomposed_to J).obj ⟨j', {obj := X, property := hX}⟩ ⟶ (category_theory.decomposed_to J).obj ⟨k', {obj := Y, property := hY}⟩), id (λ (f : X ⟶ Y), eq.rec (λ (hY : quotient.mk' Y = j'), category_theory.sigma.sigma_hom.mk f) _ hY) f) f) f) f) f, witness' := _}
This gives that any category is equivalent to a disjoint union of connected categories.