Disjoint union of categories #
We define the category structure on a sigma-type (disjoint union) of categories.
The type of morphisms of a disjoint union of categories: for X : C i and Y : C j, a morphism
(i, X) ⟶ (j, Y) if i = j is just a morphism X ⟶ Y, and if i ≠ j there are no such morphisms.
- mk {I : Type w₁} {C : I → Type u₁} [(i : I) → Category.{v₁, u₁} (C i)] {i : I} {X Y : C i} : (X ⟶ Y) → SigmaHom ⟨i, X⟩ ⟨i, Y⟩
Instances For
The identity morphism on an object.
Equations
Instances For
Equations
Composition of sigma homomorphisms.
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- CategoryTheory.Sigma.sigma = { toCategoryStruct := CategoryTheory.Sigma.SigmaHom.instCategoryStructSigma, id_comp := ⋯, comp_id := ⋯, assoc := ⋯ }
The inclusion functor into the disjoint union of categories.
Equations
- CategoryTheory.Sigma.incl i = { obj := fun (X : C i) => ⟨i, X⟩, map := fun {X Y : C i} => CategoryTheory.Sigma.SigmaHom.mk, map_id := ⋯, map_comp := ⋯ }
Instances For
To build a natural transformation over the sigma category, it suffices to specify it restricted to each subcategory.
Equations
Instances For
(Implementation). An auxiliary definition to build the functor desc.
Equations
Instances For
Given a collection of functors F i : C i ⥤ D, we can produce a functor (Σ i, C i) ⥤ D.
The produced functor desc F satisfies: incl i ⋙ desc F ≅ F i, i.e. restricted to just the
subcategory C i, desc F agrees with F i, and it is unique (up to natural isomorphism) with
this property.
This witnesses that the sigma-type is the coproduct in Cat.
Equations
- One or more equations did not get rendered due to their size.
Instances For
This shows that when desc F is restricted to just the subcategory C i, desc F agrees with
F i.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If q when restricted to each subcategory C i agrees with F i, then q is isomorphic to
desc F.
Equations
- CategoryTheory.Sigma.descUniq F q h = CategoryTheory.NatIso.ofComponents (fun (x : (i : I) × C i) => match x with | ⟨i, X⟩ => (h i).app X) ⋯
Instances For
If q₁ and q₂ when restricted to each subcategory C i agree, then q₁ and q₂ are isomorphic.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A function J → I induces a functor Σ j, C (g j) ⥤ Σ i, C i.
Equations
- CategoryTheory.Sigma.map C g = CategoryTheory.Sigma.desc fun (j : J) => CategoryTheory.Sigma.incl (g j)
Instances For
The functor Sigma.map C g restricted to the subcategory C j acts as the inclusion of g j.
Equations
Instances For
The functor Sigma.map applied to the identity function is just the identity functor.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The functor Sigma.map applied to a composition is a composition of functors.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Assemble an I-indexed family of functors into a functor between the sigma types.
Equations
- CategoryTheory.Sigma.Functor.sigma F = CategoryTheory.Sigma.desc fun (i : I) => (F i).comp (CategoryTheory.Sigma.incl i)
Instances For
Assemble an I-indexed family of natural transformations into a single natural transformation.
Equations
- CategoryTheory.Sigma.natTrans.sigma α = { app := fun (f : (i : I) × C i) => CategoryTheory.Sigma.SigmaHom.mk ((α f.fst).app f.snd), naturality := ⋯ }