# Monoide

En álgebra abstracta, un monoide es una estructura algebraica con una operación binaria, que es asociativa y tiene elemento neutro, es decir, es un semigrupo con elemento neutro.

## Definición formal

Un monoide $(A,\circledcirc )$ es una estructura algebraica en la que $A\,$ es un conjunto y $\circledcirc$ es una operación binaria interna en $A\,$:
    ${\begin{array}{rccl}\circledcirc :&A\times A&\longrightarrow &A\\&(a,b)&\longmapsto &c=a\circledcirc b\end{array}}$
Que cumple las siguientes tres propiedades (la primera es redundante con la definición):
* Operación interna: para cualquiera de los dos elementos del conjunto A operados bajo $\circledcirc$, el resultado siempre pertenece al mismo conjunto A. Es decir:
* $\forall x,y\in A\;:\quad x\circledcirc y\in A$
* Asociatividad: para cualquier elemento del conjunto A no importa el orden en que se operen las parejas de elementos, mientras no se cambie el orden de los elementos (ver grupo abeliano), siempre dará el mismo resultado. Es decir:
* $\forall x,y,z\in A\;:\quad x\circledcirc (y\circledcirc z)=(x\circledcirc y)\circledcirc z$
* Elemento neutro: existe un (único) elemento, e, en A que es neutro de la operación $\circledcirc$, es decir:
* $\exists \ !e\in A\;,\quad \forall x\in A\;:\quad e\circledcirc x=x\circledcirc e=x$
Es fácil demostrar que el elemento neutro es necesariamente único por lo que es redundante exigir su unicidad en este axioma o propiedad. En esencia, un monoide es un semigrupo con elemento neutro.

### Conmutatividad

Si además se cumple la propiedad conmutativa:
* Conmutatividad: un conjunto A tiene la propiedad conmutativa respecto a la operación interna $\circledcirc$ si:
* $\forall a,b\in A\;:\quad a\circledcirc b=b\circledcirc a$
Se dice que es un monoide conmutativo o abeliano.

## Ejemplos
### Concatenación de cadenas alfanuméricas

Dado un conjunto A de caracteres alfanuméricos, que llamaremos alfabeto, una cadena alfanumerica del alfabeto A es una secuencia de elementos de A en cualquier orden y de cualquier longitud, si tomas el conjunto como:
    $A=\{d,e,f,g,5,8,9\}$
Cadenas del alfabeto A, que representamos C(A) pueden ser:
    $\langle fdggdd\rangle$
    $\langle df5d8\rangle$
    $\langle 888\rangle$
    $\langle eeefeffe\rangle$
La cadena vacía, la que no tiene ningún carácter, sería:
    $\langle \rangle$
Definimos la operación $\|$ de concatenación de cadenas del alfabeto A como:
    ${\begin{array}{rccl}\|:&C(A)\times C(A)&\to &C(A)\\&(a,b)&\to &c=a\|b\end{array}}$
que podemos representar, de las siguientes formas:
* $\langle egdd\rangle \|\langle dfdf\rangle \;\to \;\langle egdddfdf\rangle$
* $\langle 589\rangle \|\langle gg\rangle \;\to \;\langle 589gg\rangle$
podemos ver que $(C(A),\|)$ tiene estructura algebraica de monoide:
1.- Es una operación interna: para cualquiera dos cadenas del alfabeto A su concatenación es una cadena de A:
    $\forall a,b\in C(A):\quad a\|b\in C(A)$.
2.- Es asociativa:
    $\forall a,b,c\in C(A):\quad a\|(b\|c)=(a\|b)\|c\;$
3.- Tiene elemento neutro: para todo elemento a cadena de caracteres de A, existe la cadena vacía $\langle \rangle$ de A, de modo que:
    $\forall a\in C(A):\quad \exists \,\langle \rangle :\quad \langle \rangle \|a=a\|\langle \rangle =a$
La concatenación de cadenas de caracteres no es conmutativa:
    $a,b\in C(A):\quad a\|b\neq b\|a$
Siendo a, b de C(A) la concatenación de a con b no es igual a la concatenación de b con a.
Luego la concatenación de cadenas alfanuméricas es un monoide no conmutativo.

### Multiplicación de números naturales

Partiendo del conjunto de los números naturales:
    $\mathbb {N} =\{1,2,3,4,\dots \}\,$
y la operación multiplicación, podemos ver que: $(\mathbb {N} ,\times )$ es un monoide
1.- Es una operación interna: para cualquiera dos números naturales su multiplicación es un número natural:
    $\forall a,b\in \mathbb {N} :\quad a\times b\in \mathbb {N}$.
2.- Es asociativa:
    $\forall a,b,c\in \mathbb {N} :\quad a\times (b\times c)=(a\times b)\times c\;$
3.- Tiene elemento neutro: el 1 en N es neutro para todos los números naturales ya que cumple:
    $\exists \,1\in \mathbb {N} :\quad \forall a\in \mathbb {N} :\quad 1\times a=a\times 1=a$
4.- La multiplicación de números naturales es conmutativa:
    $\forall a,b\in A:\quad a\times b=b\times a\;$
El conjunto de los números naturales, bajo la operación multiplicación: $(\mathbb {N} ,\times )$, tiene estructura algebraica de monoide conmutativo o abeliano.

## En la teoría de categorías
### Definición como categoría

Un monoide también se puede ver como un tipo particular de categoría. Concretamente, un monoide se puede definir como una categoría con un único objeto.
Dados una categoría ${\mathsf {C}}$ y un objeto suyo $A$, todos los morfismos de $A$ en $A$ forman un conjunto $\operatorname {Hom} (A,A)$. Sobre este conjunto, la composición de morfismos define una operación binaria interna. Debido a los axiomas de la teoría de categorías, la composición de morfismos es asociativa y debe existir un morfismo identidad $1_{A}:A\to A$, por lo que el conjunto $\operatorname {Hom} (A,A)$ equipado con la composición de morfismos constituye un monoide.
De esta forma, toda categoría con un único objeto $A$ da lugar a un monoide al tomar el conjunto de morfismos $\operatorname {Hom} (A,A)$. También es posible ir en la dirección opuesta y definir, a partir de un monoide $M$, una categoría con un único objeto $A$ tal que $\operatorname {Hom} (A,A)=M$, justificando así la definición alternativa de monoide en términos de categorías.

### Categoría monoidal

Una categoría monoidal es una categoría ${\mathsf {C}}$, equipada con un bifuntor $\otimes :{\mathsf {C}}\times {\mathsf {C}}\to {\mathsf {C}}$, que satisface propiedades análogas a las de la operación binaria en un monoide. Dos ejemplos son:
* La categoría de conjuntos con la unión disjunta de conjuntos y el conjunto vacío como elemento neutro.
* La categoría $\mathbf {Vect} _{\mathbb {K} }$ de los espacios vectoriales sobre un cuerpo $\mathbb {K}$ junto con el producto tensorial de espacios vectoriales y a $\mathbb {K}$ como el elemento neutro.