diff options
| author | Juan Marin Noguera <juan@mnpi.eu> | 2023-06-14 19:43:50 +0200 |
|---|---|---|
| committer | Juan Marin Noguera <juan@mnpi.eu> | 2023-06-14 19:43:50 +0200 |
| commit | 57d209473984c176ab416501e30526e98ca6045b (patch) | |
| tree | 3667d77d6a004ee6bceb0c3cae38100a9c5608a5 /ch6_monads.tex | |
| parent | efa19f8660bca027b977a57db0e5f35bdec643a4 (diff) | |
Concepto de mónada
Diffstat (limited to 'ch6_monads.tex')
| -rw-r--r-- | ch6_monads.tex | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/ch6_monads.tex b/ch6_monads.tex new file mode 100644 index 0000000..da4a718 --- /dev/null +++ b/ch6_monads.tex @@ -0,0 +1,153 @@ +Al igual que cuando el dominio y el codominio de un morfismo coinciden hablamos +de un \conc{endomorfismo}, cuando esto le ocurre a un funtor hablamos de un +\conc{endofuntor}. Los endofuntores son particularmente relevantes en tanto que +se puede estudiar, por ejemplo, la relación de un objeto o morfismo con su +imagen, o lo que ocurre al aplicar el endofuntor varias veces. + +Por ejemplo, tomemos el endofuntor $\power:\bSet\to\bSet$. Dado un conjunto $X$, +entre $X$ y $\power X$ podemos tomar una inyección $\eta_X:X\to\power X$ dada +por $\eta_X(x)\coloneqq\{x\}$, que es natural. Por otro lado, aunque podemos +aplicar este funtor a $X$ varias veces, siempre podemos volver de $\power^nX$ a +$\power X$ aplicando sucesivamente la unión, que podemos ver como una función +$\mu_X:\power\power X\to\power X$ dada por $\mu_X(\cA)\coloneqq\bigcup\cA$. Esto +también define una transformación natural, que, además, <<da igual>> en qué +orden se aplique, en el sentido de que, si $S\in\power^3X$, aplicar primero +$\mu_{\power X}$ a $S$ y luego $\mu_X$ al resultado es lo mismo que aplicar +$\mu_X$ a cada elemento de $S$ y a continuación aplicar $\mu_X$ al resultado. +Además, intuitivamente $\mu$ se puede ver como una inversa por un lado de +$\eta$, en tanto que $\mu_X(\eta_{\power X}(S))\equiv S$. + +Muchos endofuntores relevantes admiten transformaciones naturales con +propiedades similares, y para estudiar estos casos existe el concepto de mónada. +Este capítulo se basa principalmente en \cite[VI]{maclane}. + +\begin{definition} + Una \conc{mónada} en una categoría $\cC$ es una tupla $(T,\eta,\mu)$ formada + por un funtor $T:\cC\to\cC$ y dos transformaciones naturales $\eta:1_\cC\to T$ + y $\mu:T^2\to T$ tales que, para cada objeto $c$ en $\cC$: + \begin{enumerate} + \item $\mu_c\circ T\mu_c=\mu_c\circ\mu_{Tc}$. + \item $\mu_c\circ\eta_{Tc}=\mu_c\circ T\eta_c=1_{Tc}$. + \end{enumerate} +\end{definition} + +\begin{proposition} + Si $(T,\eta,\mu)$ es una mónada en $\cC$ y $c$ es un objeto de $\cC$, + $\eta_c:c\monicTo Tc$ es una sección y $\mu_c:TTc\epicTo Tc$ es una + retracción. +\end{proposition} + +Si $\tau:R\to S$ es una transformación natural entre dos funtores +$R,S:\cB\to\cC$ y $T:\cC\to\cD$ es otro funtor, podemos definir la +transformación natural $T\tau:T\circ R\to T\circ S$ como +$(T\tau)_b\coloneqq T(\tau_b)$ para cada objeto $b$ en $\cB$. Por otro lado, si +$U:\cA\to\cB$ es otro funtor, podemos definir la transformación natural +$\tau U:R\circ U\to G\circ U$ como $(\tau U)_a\coloneqq\tau_{Ka}$ para cada +objeto $a$ en $\cA$. + +Esto nos permite resumir las condiciones en la definición de mónada diciendo que +$\mu\circ T\mu=\mu\circ\mu T$ y $\mu\circ T\eta=\mu\circ\eta T=1_T$, como se +muestra en la figura \ref{fig:monad}. + +\begin{figure} + \centering + \begin{subfigure}{.45\linewidth} + \begin{diagram} + \path (0,2) node(TTT){$T^3$} (2,2) node(TTP){$T^2$}; + \path (0,0) node(PTT){$T^2$} (2,0) node(T){$T$}; + \draw[->] (TTT) -- node[above]{$T\mu$} (TTP); + \draw[->] (TTT) -- node[left]{$\mu T$}(PTT); + \draw[->] (TTP) -- node[right]{$\mu$} (T); + \draw[->] (PTT) -- node[below]{$\mu$} (T); + \end{diagram} + \caption{Conmutatividad de $\mu$ con $T$.} + \end{subfigure} + \hfil + \begin{subfigure}{.45\linewidth} + \begin{diagram} + \path (0,2) node(IT){$1\circ T$} (2,2) node(TT){$T^2$} (4,2) node(TI){$T\circ 1$}; + \path (2,0) node(T){$T$}; + \draw[->] (IT) -- node[above]{$\eta T$} (TT); + \draw[->] (TI) -- node[above]{$T\eta$} (TT); + \draw[->] (TT) -- node[right]{$\mu$} (T); + \draw[->] (IT) -- node[left]{$1$} (T); + \draw[->] (TI) -- node[right]{$1$} (T); + \end{diagram} + \caption{Relación entre $\eta$ y $\mu$.} + \end{subfigure} + \caption[Definición de mónada.]{Definición de mónada en una categoría $\cC$ + mediante diagramas en $\cC^\cC$.} + \label{fig:monad} +\end{figure} + +\begin{example}\; + \begin{enumerate} + \item $\power:\bSet\to\bSet$ es una mónada con las operaciones indicadas en la + introducción del capítulo. + \item Sea $(^*):\bSet\to\bSet$ el endofuntor que asocia a cada objeto $X$ el + conjunto subyacente de su monoide libre, dado por $\bigcup_{n\in\sNat}X^n$, + y que lleva cada función $f:X\to Y$ a la función + $(x_1,\dots,x_k)\mapsto(fx_1,\dots,fx_k)$. Este endofuntor es una mónada con + las transformaciones naturales $\eta:1\to(^*)$ que lleva cada elemento de un + conjunto a la lista de un elemento ($\eta_X(x)=(x)$) y $\mu:(^*)^2\to(^*)$ + que concatena una lista de listas en una sola lista. + \item Esto se puede generalizar a todas las variedades algebraicas. El álgebra + libre sobre un conjunto $X$ es un conjunto cociente de árboles formados por + operadores y elementos de $X$ (\ref{prop:free-algebra}), y las funciones + entre conjuntos se pueden llevar a morfismos de álgebras libres operando + sobre los elementos del dominio en el árbol. Entonces el equivalente a la + lista de un elemento sería (la clase de equivalencia de) un árbol cuya raíz + es dicho elemento, y el equivalente a concatenar listas es sustituir cada + elemento base del árbol, que es a su vez una clase de equivalencia de + árboles, por un representante de esta clase a modo de subárbol. Claramente + estas transformaciones son naturales y forman una mónada. + \item Sean $\cC$ una categoría con coproductos finitos y $d$ un objeto de + $\cC$. Sea $E:\cC\to\cC$ un endofuntor que a cada objeto $c$ le asocia + $c\oplus d$ y a cada morfismo $f:b\to c$ el morfismo <<suma>> + $Ef=f\oplus 1_d:b\oplus d\to c\oplus d$. Si $\eta_c:c\monicTo c\oplus d$ es + la inclusión canónica y $\mu_c:c\oplus d\oplus d\epicTo c\oplus d$ es la + función que <<identifica>> las dos copias de $d$ en el sentido evidente, + entonces $(E,\eta,\mu)$ es una mónada. + \item Sean $s$ un conjunto y $S\coloneqq\hom(s,-\times s)$ un endofuntor en + $\bSet$ que lleva cada conjunto $X$ al conjunto de funciones + $s\to X\times s$ y cada función $f$ a $\hom(s,f\times 1_s)$. Entonces $S$ es + una mónada con las transformaciones naturales $\eta:1\to S$ y $\mu:S^2\to S$ + dadas por la formación de pares $\eta_X(x)(y)\coloneqq(x,y)$ y la <<doble + evaluación>> $\mu_X(f)(y)\coloneqq (p_1fy)(p_2fy)$, donde $p_1$ y $p_2$ son + las proyecciones canónicas de $\hom(X,s)\times s$. + % \begin{proof} + % Escribiendo $e(f,y)\coloneqq f(y)$, se tiene $\mu_X(f)(y)\equiv e(f(y))$ y + % $\mu_X(f)\equiv e\circ f$ (por abuso de notación, $e$ no representa una + % función fija, sino cualquier función expresada así independientemente de + % dominio y codominio). Entonces, para $f\in S^3X$, + % \begin{multline*} + % \mu_X((S\mu_X)(f))=\mu_X(\hom(s,\mu_X\times 1_s)(f))=\mu_X((\mu_X\times 1_s)\circ f)= + % e\circ(\mu_X\times 1_s)\circ f=\\ + % =(y\mapsto e(\mu_Xpfy,qfy))=(y\mapsto(\mu_Xpfy)(qfy))=(y\mapsto e((pfy)(qfy)))=\\ + % =e\circ e\circ f=e\circ(\mu_{SX}\circ f)=\mu_X(\mu_{SX}(f)), + % \end{multline*} + % y para $f\in SX$, + % \begin{multline*} + % \mu_X((S\eta_X)(f))=\mu_X(\hom(s,\eta_X\times 1_s)(f))=e\circ(\eta_X\times 1_s)\circ f=\\ + % =(y\mapsto e(\eta_Xpfy,qfy))= + % (y\mapsto(\eta_Xpfy,qfy))=(y\mapsto fy)=f\\=e\circ(y\mapsto(f,y))= + % =e\circ(\eta_{SX}(f))=\mu_X(\eta_{SX}(f)). + % \end{multline*} + % \end{proof} + \item En un conjunto parcialmente ordenado $(S,\leq)$ visto como categoría, un + endofuntor es una función $f:S\to S$ monótona, es decir, tal que + $x\leq y\implies fx\leq fy$. Las transformaciones naturales asociadas a $f$ + en una mónada están unívocamente determinadas y existen si y sólo si, para + todo $x\in S$, $x\leq fx$ y $f^2x\leq fx$, pues al ser una categoría fina + los diagramas correspondientes siempre conmutan. Estas ecuaciones implican + que $f$ es idempotente. Así, las mónadas en conjuntos parcialmente ordenados + son \conc{operaciones de clausura}, funciones monótonas e idempotentes con + $x\leq fx$ para todo $x$. Este término se usa especialmente cuando el orden + es la inclusión de conjuntos. + \end{enumerate} +\end{example} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "main" +%%% End: |
