Definition. Category
A category consists of
- A type of objects
- For each pair of objects a set of morphisms . We may simply write a morphism with an arrow, denote as or or similar
- A composition operation on morphisms. For and , there is a morphism
- For each , an identity morphism
Left-unitality of composition: for all , an equality
Right-unitality of composition: for all , an equality
Associativity of composition: for all , , , an equality
Concretely, the definition above is meant to model the one used in the Cubical standard library [1].
However, the notion of category is flexible. Depending on the context, we may be talking of small, locally small, wild, or any other kind of category that may augment which things we require to be (homotopy) sets, which things we require to be small types, etc. For the most part, the same idea of a category will apply across all of these settings.
References
The Cubical Agda Library β