| Copyright | Guillaume Sabbagh 2022 |
|---|---|
| License | GPL-3 |
| Maintainer | guillaumesabbagh@protonmail.com |
| Stability | experimental |
| Portability | portable |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
Math.Categories.FinCat
Description
The FinCat category has as objects finite categories and as morphisms homogeneous functors between them.
Functors must be homogeneous because otherwise we would not be able to compose them with the Morphism typeclass.
The FinCat datatype should not be confused with the FiniteCategory typeclass. The FiniteCategory typeclass describes axioms a structure should follow to be considered a finite category. The FinCat type is itself a Category.
A FinFunctor is a Diagram where the source and target category are the same. The source category of a FinFunctor should be finite.
Synopsis
- type FinFunctor c m o = Diagram c m o c m o
- data FinCat c m o = FinCat
Homogeneous functor
type FinFunctor c m o = Diagram c m o c m o Source #
A FinFunctor funct between two categories is a map between objects and a map between arrows of the two categories such that :
funct ->$ (source f) == source (funct ->£ f)
funct ->$ (target f) == target (funct ->£ f)
funct ->£ (f @ g) = (funct ->£ f) @ (funct ->£ g)
funct ->£ (identity a) = identity (funct ->$ a)
A FinFunctor is a type of Diagram.
It is meant to be a morphism between categories within FinCat, it is homogeneous, the type of the source category must be the same as the type of the target category.
See Diagram in Math.Categories.FunctorCategory for heterogeneous ones.
FinCat
The FinCat category has as objects finite categories and as morphisms homogeneous functors between them.
Constructors
| FinCat |
Instances
| PrettyPrint (FinCat c m o) Source # | |
Defined in Math.Categories.FinCat | |
| Show (FinCat c m o) Source # | |
| Eq (FinCat c m o) Source # | |
| (FiniteCategory c m o, Morphism m o, Eq c, Eq m, Eq o) => Category (FinCat c m o) (Diagram c m o c m o) c Source # | |
Defined in Math.Categories.FinCat | |