Finite categories #
A category is finite in this sense if it has finitely many objects, and finitely many morphisms.
Implementation #
Prior to #14046, FinCategory
required a DecidableEq
instance on the object and morphism types.
This does not seem to have had any practical payoff (i.e. making some definition constructive)
so we have removed these requirements to avoid
having to supply instances or delay with non-defeq conflicts between instances.
Equations
- CategoryTheory.discreteFintype = Fintype.ofEquiv α CategoryTheory.discreteEquiv.symm
Equations
- CategoryTheory.discreteHomFintype X Y = ULift.fintype (PLift (X.as = Y.as))
Equations
- CategoryTheory.finCategoryDiscreteOfFintype J = CategoryTheory.FinCategory.mk
A FinCategory α
is equivalent to a category with objects in Type
.
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
The constructed category is indeed equivalent to α
.
Equations
Instances For
A FinCategory α
is equivalent to a fin_category with in Type
.
Equations
Instances For
Equations
- CategoryTheory.FinCategory.categoryAsType α = CategoryTheory.Category.mk
The "identity" functor from AsType α
to ObjAsType α
.
Equations
- CategoryTheory.FinCategory.asTypeToObjAsType α = CategoryTheory.Functor.mk { obj := id, map := fun {X Y : CategoryTheory.FinCategory.AsType α} => ⇑(Fintype.equivFin (X ⟶ Y)).symm }
Instances For
The "identity" functor from ObjAsType α
to AsType α
.
Equations
- CategoryTheory.FinCategory.objAsTypeToAsType α = CategoryTheory.Functor.mk { obj := id, map := fun {X Y : CategoryTheory.FinCategory.ObjAsType α} => ⇑(Fintype.equivFin (X ⟶ Y)) }
Instances For
The constructed category (AsType α
) is equivalent to ObjAsType α
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- CategoryTheory.FinCategory.asTypeFinCategory α = CategoryTheory.FinCategory.mk
The constructed category (ObjAsType α
) is indeed equivalent to α
.
Equations
Instances For
The opposite of a finite category is finite.
Equations
- CategoryTheory.finCategoryOpposite = CategoryTheory.FinCategory.mk
Applying ULift
to morphisms and objects of a category preserves finiteness.
Equations
- CategoryTheory.finCategoryUlift = CategoryTheory.FinCategory.mk