(Co)limits in the category of finite types #
We show that finite (co)limits exist in FintypeCat
and that they are preserved by the natural
inclusion FintypeCat.incl
.
instance
CategoryTheory.Limits.FintypeCat.instFiniteObjCompFintypeCatIncl
{J : Type}
[CategoryTheory.SmallCategory J]
(K : CategoryTheory.Functor J FintypeCat)
(j : J)
:
Finite ((K.comp FintypeCat.incl).obj j)
Equations
- ⋯ = ⋯
noncomputable instance
CategoryTheory.Limits.FintypeCat.finiteLimitOfFiniteDiagram
{J : Type}
[CategoryTheory.SmallCategory J]
[CategoryTheory.FinCategory J]
(K : CategoryTheory.Functor J (Type u_1))
[∀ (j : J), Finite (K.obj j)]
:
Any functor from a finite category to Types that only involves finite objects, has a finite limit.
Equations
noncomputable instance
CategoryTheory.Limits.FintypeCat.inclusionCreatesFiniteLimits
{J : Type}
[CategoryTheory.SmallCategory J]
[CategoryTheory.FinCategory J]
:
Equations
- One or more equations did not get rendered due to their size.
noncomputable instance
CategoryTheory.Limits.FintypeCat.instCreatesLimitsOfShapeFintypeCatForgetOfFinCategory
{J : Type}
[CategoryTheory.SmallCategory J]
[CategoryTheory.FinCategory J]
:
Equations
- CategoryTheory.Limits.FintypeCat.instCreatesLimitsOfShapeFintypeCatForgetOfFinCategory = CategoryTheory.Limits.FintypeCat.inclusionCreatesFiniteLimits
Equations
- One or more equations did not get rendered due to their size.
noncomputable def
CategoryTheory.Limits.FintypeCat.productEquiv
{ι : Type u_1}
[Finite ι]
(X : ι → FintypeCat)
:
The categorical product of a finite family in FintypeCat
is equivalent to the product
as types.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
CategoryTheory.Limits.FintypeCat.productEquiv_apply
{ι : Type u_1}
[Finite ι]
(X : ι → FintypeCat)
(x : ↑(∏ᶜ X))
(i : ι)
:
@[simp]
theorem
CategoryTheory.Limits.FintypeCat.productEquiv_symm_comp_π_apply
{ι : Type u_1}
[Finite ι]
(X : ι → FintypeCat)
(x : (i : ι) → ↑(X i))
(i : ι)
:
CategoryTheory.Limits.Pi.π X i ((CategoryTheory.Limits.FintypeCat.productEquiv X).symm x) = x i
instance
CategoryTheory.Limits.FintypeCat.nonempty_pi_of_nonempty
{ι : Type u_1}
[Finite ι]
(X : ι → FintypeCat)
[∀ (i : ι), Nonempty ↑(X i)]
:
Equations
- ⋯ = ⋯
noncomputable instance
CategoryTheory.Limits.FintypeCat.finiteColimitOfFiniteDiagram
{J : Type}
[CategoryTheory.SmallCategory J]
[CategoryTheory.FinCategory J]
(K : CategoryTheory.Functor J (Type u_1))
[∀ (j : J), Finite (K.obj j)]
:
Any functor from a finite category to Types that only involves finite objects, has a finite colimit.
noncomputable instance
CategoryTheory.Limits.FintypeCat.inclusionCreatesFiniteColimits
{J : Type}
[CategoryTheory.SmallCategory J]
[CategoryTheory.FinCategory J]
:
Equations
- One or more equations did not get rendered due to their size.
noncomputable instance
CategoryTheory.Limits.FintypeCat.instCreatesColimitsOfShapeFintypeCatForgetOfFinCategory
{J : Type}
[CategoryTheory.SmallCategory J]
[CategoryTheory.FinCategory J]
:
Equations
- CategoryTheory.Limits.FintypeCat.instCreatesColimitsOfShapeFintypeCatForgetOfFinCategory = CategoryTheory.Limits.FintypeCat.inclusionCreatesFiniteColimits
Equations
- One or more equations did not get rendered due to their size.
noncomputable instance
CategoryTheory.Limits.FintypeCat.instPreservesFiniteColimitsFintypeCatForget :
theorem
CategoryTheory.Limits.FintypeCat.jointly_surjective
{J : Type u_1}
[CategoryTheory.Category.{u_1, u_1} J]
[CategoryTheory.FinCategory J]
(F : CategoryTheory.Functor J FintypeCat)
(t : CategoryTheory.Limits.Cocone F)
(h : CategoryTheory.Limits.IsColimit t)
(x : ↑t.pt)
:
∃ (j : J) (y : ↑(F.obj j)), t.ι.app j y = x