Signed-off-by: Jim Pryor <profjim@jimpryor.net>
Some examples of monoids are:
* finite strings of an alphabet `A`, with <code>⋆</code> being concatenation and `z` being the empty string
Some examples of monoids are:
* finite strings of an alphabet `A`, with <code>⋆</code> being concatenation and `z` being the empty string
-* all functions `X→X` over a set `X`, with <code>⋆</code> being composition and `z` being the identity function over `X`
+* all functions <code>X→X</code> over a set `X`, with <code>⋆</code> being composition and `z` being the identity function over `X`
* the natural numbers with <code>⋆</code> being plus and `z` being `0` (in particular, this is a **commutative monoid**). If we use the integers, or the naturals mod n, instead of the naturals, then every element will have an inverse and so we have not merely a monoid but a **group**.)
* if we let <code>⋆</code> be multiplication and `z` be `1`, we get different monoids over the same sets as in the previous item.
* the natural numbers with <code>⋆</code> being plus and `z` being `0` (in particular, this is a **commutative monoid**). If we use the integers, or the naturals mod n, instead of the naturals, then every element will have an inverse and so we have not merely a monoid but a **group**.)
* if we let <code>⋆</code> be multiplication and `z` be `1`, we get different monoids over the same sets as in the previous item.
----------
A **category** is a generalization of a monoid. A category consists of a class of **elements**, and a class of **morphisms** between those elements. Morphisms are sometimes also called maps or arrows. They are something like functions (and as we'll see below, given a set of functions they'll determine a category). However, a single morphism only maps between a single source element and a single target element. Also, there can be multiple distinct morphisms between the same source and target, so the identity of a morphism goes beyond its "extension."
----------
A **category** is a generalization of a monoid. A category consists of a class of **elements**, and a class of **morphisms** between those elements. Morphisms are sometimes also called maps or arrows. They are something like functions (and as we'll see below, given a set of functions they'll determine a category). However, a single morphism only maps between a single source element and a single target element. Also, there can be multiple distinct morphisms between the same source and target, so the identity of a morphism goes beyond its "extension."
-When a morphism `f` in category <b>C</b> has source `C1` and target `C2`, we'll write `f:C1→C2`.
+When a morphism `f` in category <b>C</b> has source `C1` and target `C2`, we'll write <code>f:C1→C2</code>.
To have a category, the elements and morphisms have to satisfy some constraints:
<pre>
To have a category, the elements and morphisms have to satisfy some constraints:
<pre>
- (i) the class of morphisms has to be closed under composition: where f:C1→C2 and g:C2→C3, g ∘ f is also a morphism of the category, which maps C1→C3.
+ (i) the class of morphisms has to be closed under composition:
+ where f:C1→C2 and g:C2→C3, g ∘ f is also a
+ morphism of the category, which maps C1→C3.
(ii) composition of morphisms has to be associative
(ii) composition of morphisms has to be associative
- (iii) every element E of the category has to have an identity morphism 1<sub>E</sub>, which is such that for every morphism f:C1→C2: 1<sub>C2</sub> ∘ f = f = f ∘ 1<sub>C1</sub>
+ (iii) every element E of the category has to have an identity
+ morphism 1<sub>E</sub>, which is such that for every morphism
+ f:C1→C2: 1<sub>C2</sub> ∘ f = f = f ∘ 1<sub>C1</sub>
</pre>
These parallel the constraints for monoids. Note that there can be multiple distinct morphisms between an element `E` and itself; they need not all be identity morphisms. Indeed from (iii) it follows that each element can have only a single identity morphism.
</pre>
These parallel the constraints for monoids. Note that there can be multiple distinct morphisms between an element `E` and itself; they need not all be identity morphisms. Indeed from (iii) it follows that each element can have only a single identity morphism.