No tengo una formación sólida en matemáticas (ingeniería y matemáticas), así que estoy en un poco de desventaja aquí, pero he estado tratando de aprender los trazos de la Categoría de la Teoría para ayudar a obtener una imagen más completa de algunos de los lenguajes de programación Funcional que yo uso (Haskell, Scala, F#, etc.).
Estoy leyendo 'Una Introducción a la Categoría de Teoría' de Harold Simmons y se topó con algo en el primer capítulo relacionado con la Monoids que me deja un poco confundido.
Él dice que una Monoid es una estructura $(R, *, 1)$ donde $R$ es un conjunto, $*$ es una operación binaria en $R$ $1$ es un elemento de $R$ que funciona como un elemento de identidad. Tan lejos, tan bueno.
Él va a decir que un monoid de morfismos entre dos monoids:
$$p: R \to S$$
es una función que respeta la estructura de la monoids. A continuación, explica que esto significa:
$$p(r*s) = p(r) * p(s),\quad\mathrm{and}\quad p(1) = 1$$
donde $r$ $s$ son elementos de $R$.
La pregunta que tengo es que esto parece hacer ciertas suposiciones: específicamente, que $R$ $S$ son los mismos monoid. Digo esto desde $p(r)$ es una de morfismos de $R$ $S$ $*$está definido por $R$, pero no necesariamente para $S$.
He perdido de algo aquí?