Articulo de referencia

Mónada (teoría de categorías)

En la teoría de categorías , una rama de las matemáticas , una mónada es una tripleta ( T , η , μ ) {\displaystyle (T,\eta,\mu)} que consiste en un functor T de una categoría a ...

En la teoría de categorías , una rama de las matemáticas , una mónada es una tripleta(T,η,μ){\displaystyle (T,\eta,\mu)}que consiste en un functor T de una categoría a sí misma y dos transformaciones naturalesη,μ{\displaystyle \eta ,\mu }que satisfacen versiones de los axiomas de asociatividad y unicidad . De forma equivalente, una mónada es un monoide en la categoría de endofuntores de alguna categoría fija (un endofuntor es un funtor que mapea una categoría en sí misma).

Por ejemplo, siF,GRAMO{\displaystyle F,G}Si los functores son adjuntos entre sí, entoncesT=GRAMOF{\displaystyle T=G\circ F}junto conη,μ{\displaystyle \eta ,\mu }Determinada por la relación adjunta es una mónada.

Según el matemático John Baez , una mónada puede considerarse al menos de dos maneras: [ 1 ]

  1. Una mónada como un monoide generalizado; esto es claro ya que una mónada es un monoide en una determinada categoría,
  2. Una mónada como herramienta para estudiar mecanismos algebraicos; por ejemplo, un grupo puede describirse mediante una mónada determinada.

Las mónadas se utilizan en la teoría de pares de functores adjuntos y generalizan los operadores de cierre en conjuntos parcialmente ordenados a categorías arbitrarias. Las mónadas también son útiles en la teoría de tipos de datos , la semántica denotacional de los lenguajes de programación imperativos y en los lenguajes de programación funcional , permitiendo que los lenguajes sin estado mutable realicen acciones como simular bucles for ; véase Mónada (programación funcional) .

Una mónada también se denomina, especialmente en la literatura antigua, triple , tríada , construcción estándar y construcción fundamental . [ 2 ]

Introducción y definición

Una mónada es un cierto tipo de endofunctor . Por ejemplo, siF{\displaystyle F}yGRAMO{\displaystyle G}son un par de functores adjuntos , conF{\displaystyle F}adjunto izquierdo aGRAMO{\displaystyle G}, luego la composiciónGRAMOF{\displaystyle G\circ F}es una mónada. SiF{\displaystyle F}yGRAMO{\displaystyle G}son inversas entre sí, la mónada correspondiente es el functor identidad . En general, las adjunciones no son equivalencias : relacionan categorías de naturalezas diferentes. La teoría de las mónadas importa como parte del esfuerzo por capturar lo que las adjunciones 'preservan'. La otra mitad de la teoría, de lo que se puede aprender igualmente a partir de la consideración deFGRAMO{\displaystyle F\circ G}, se analiza bajo la teoría dual de las comónadas .

Definición formal

A lo largo de este artículo,do{\displaystyle C}denota una categoría . Una mónada endo{\displaystyle C}consta de un endofunctorT:dodo{\displaystyle T\colon C\to C}junto con dos transformaciones naturales :η:1doT{\displaystyle \eta \colon 1_{C}\to T}(dónde1do{\displaystyle 1_{C}}denota el functor identidad endo{\displaystyle C}) yμ:T2T{\displaystyle \mu \colon T^{2}\to T}(dóndeT2{\displaystyle T^{2}}es el functorTT{\displaystyle T\circ T}dedo{\displaystyle C}ado{\displaystyle C}). Estos son necesarios para cumplir las siguientes condiciones (a veces llamadas condiciones de coherencia ):

  • μTμ=μμT{\displaystyle \mu \circ T\mu =\mu \circ \mu T}(como transformaciones naturales)T3T{\displaystyle T^{3}\to T}); aquíTμ{\displaystyle T\mu }yμT{\displaystyle \mu T}se forman mediante " composición horizontal ".
  • μTη=μηT=1T{\displaystyle \mu \circ T\eta =\mu \circ \eta T=1_ {T}}(como transformaciones naturales)TT{\displaystyle T\to T}; aquí1T{\displaystyle 1_{T}}denota la transformación de identidad deT{\displaystyle T}aT{\displaystyle T}).

Podemos reescribir estas condiciones utilizando los siguientes diagramas conmutativos :

Consulte el artículo sobre transformaciones naturales para obtener la explicación de las notaciones.Tμ{\displaystyle T\mu }yμT{\displaystyle \mu T}o consulte a continuación los diagramas conmutativos que no utilizan estas nociones:

El primer axioma es similar a la asociatividad en monoides si pensamos enμ{\displaystyle \mu }como la operación binaria del monoide, y el segundo axioma es similar a la existencia de un elemento identidad (que pensamos que está dado porη{\displaystyle \eta }). De hecho, una mónada endo{\displaystyle C}alternativamente puede definirse como un monoide en la categoríaminorteddo{\displaystyle \mathbf {End} _{C}}cuyos objetos son los endofuntores dedo{\displaystyle C}y cuyos morfismos son las transformaciones naturales entre ellos, con la estructura monoide inducida por la composición de endofuntores.

La mónada del conjunto de potencias

La mónada del conjunto potencia es una mónadaPAG{\displaystyle {\mathcal {P}}}en la categoríaSmit{\displaystyle \mathbf {Conjunto} }: Para un conjuntoA{\displaystyle A}dejarT(A){\displaystyle T(A)}ser el conjunto de poder deA{\displaystyle A}y para una funciónF:AB{\displaystyle f\colon A\to B}dejarT(F){\displaystyle T(f)}sea ​​la función entre los conjuntos de potencia inducidos al tomar imágenes directas bajoF{\displaystyle f}. Para cada conjuntoA{\displaystyle A}Tenemos un mapaηA:AT(A){\displaystyle \eta _{A}\colon A\to T(A)}, que asigna a cadaaA{\displaystyle a\in A}el único{a}{\displaystyle \{a\}}. La función

μA:T(T(A))T(A){\displaystyle \mu _{A}\colon T(T(A))\to T(A)}

toma un conjunto de conjuntos y los une . Estos datos describen una mónada.

Observaciones

Los axiomas de una mónada son formalmente similares a los axiomas de los monoides . De hecho, las mónadas son un tipo de objeto monoide ; son precisamente los monoides entre los endofuntores.Fin(do){\displaystyle \operatorname {Fin} (C)}, con la multiplicación dada por la composición de endofuntores.

La composición de mónadas no es, en general, una mónada. Por ejemplo, el functor del conjunto de potencia doble.PAGPAG{\displaystyle {\mathcal {P}}\circ {\mathcal {P}}}no admite ninguna estructura de mónada. [ 3 ]

Comónadas

La definición dual categórica es una definición formal de una comónada (o cotriple ); esto se puede decir rápidamente en los términos de que una comónada para una categoríado{\displaystyle C}es una mónada para la categoría opuestadoopag{\displaystyle C^{\mathrm {op} }}Por lo tanto, es un functor.U{\displaystyle U}dedo{\displaystyle C}a sí mismo, con un conjunto de axiomas para la counidad y la comultiplicación que provienen de invertir las flechas en todas partes en la definición que se acaba de dar.

Las mónadas son a los monoides lo que las comónadas son a los comonoides . Cada conjunto es un comonoide de una manera única, por lo que los comonoides son menos conocidos en el álgebra abstracta que los monoides; sin embargo, los comonoides en la categoría de espacios vectoriales con su producto tensorial usual son importantes y ampliamente estudiados bajo el nombre de coálgebras .

Historia terminológica

La noción de mónada fue inventada por Roger Godement en 1958 bajo el nombre de "construcción estándar". La mónada ha sido denominada "construcción estándar dual", "triple", "monoide" y "triada". [ 4 ] El término "mónada" se utiliza como muy tarde en 1967 por Jean Bénabou . [ 5 ] [ 6 ]

Ejemplos

Identidad

El functor identidad en una categoríado{\displaystyle C}es una mónada. Su multiplicación y unidad son la función identidad en los objetos dedo{\displaystyle C}.

Mónadas derivadas de adjunciones

Cualquier complemento

F:doD:GRAMO{\displaystyle F:C\rightleftarrows D:G}

da lugar a una mónada en C. Esta construcción muy extendida funciona de la siguiente manera: el endofunctor es el compuesto

T=GRAMOF.{\displaystyle T=G\circ F.}

Se observa rápidamente que este endofunctor es una mónada, donde el mapa de unidades proviene del mapa de unidades.identificacióndoGRAMOF{\displaystyle \operatorname {id} _{C}\to G\circ F}de la adjunción, y el mapa de multiplicación se construye utilizando el mapa de counidades de la adjunción:

T2=GRAMOFGRAMOFGRAMOcounidadFGRAMOF=T.{\displaystyle T^{2}=G\circ F\circ G\circ F\xrightarrow {G\circ {\text{counidad}}\circ F} G\circ F=T.}

De hecho, cualquier mónada puede encontrarse como una adjunción explícita de functores utilizando la categoría de Eilenberg-Moore.doT{\displaystyle C^{T}}(la categoría deT{\displaystyle T}-álgebras). [ 7 ]

Doble dualización

La mónada de doble dualización , para un campo fijo k, surge de la adjunción

():VmidotkVmidotkopag:(){\displaystyle (-)^{*}:\mathbf {Vect} _{k}\rightleftarrows \mathbf {Vect} _{k}^{op}:(-)^{*}}

donde ambos functores se obtienen enviando un espacio vectorial V a su espacio vectorial dual.V:=Inicio(V,k){\displaystyle V^{*}:=\operatorname {Hom} (V,k)}La mónada asociada envía un espacio vectorial V a su doble dual .V{\displaystyle V^{**}}. Esta mónada es analizada, con mucha mayor generalidad, por Kock (1970) .

Operadores de cierre en conjuntos parcialmente ordenados

Para categorías que surgen de conjuntos parcialmente ordenados(PAG,){\displaystyle (P,\leq )}(con un único morfismo deincógnita{\displaystyle x}ay{\displaystyle y}si y solo siincógnitay{\displaystyle x\leq y}), entonces el formalismo se vuelve mucho más simple: los pares adjuntos son conexiones de Galois y las mónadas son operadores de cierre .

Adjuntos libres y olvidadizos

Por ejemplo, dejemosGRAMO{\displaystyle G}Sea el functor olvidadizo de la categoría Grp de grupos a la categoría Set de conjuntos, y sea F{\displaystyle F}Sea el functor de grupo libre de la categoría de conjuntos a la categoría de grupos. EntoncesF{\displaystyle F}es adjunto izquierdo deGRAMO{\displaystyle G}. In this case, the associated monad T=GF{\displaystyle T=G\circ F} takes a set X{\displaystyle X} and returns the underlying set of the free group Free(X){\displaystyle \mathrm {Libre} (X)}. The unit map of this monad is given by the maps

XT(X){\displaystyle X\to T(X)}

including any set X{\displaystyle X} into the set Free(X){\displaystyle \mathrm {Libre} (X)} in the natural way, as strings of length 1. Further, the multiplication of this monad is the map

T(T(X))T(X){\displaystyle T(T(X))\to T(X)}

made out of a natural concatenation or 'flattening' of 'strings of strings'. This amounts to two natural transformations. The preceding example about free groups can be generalized to any type of algebra in the sense of a variety of algebras in universal algebra. Thus, every such type of algebra gives rise to a monad on the category of sets. Importantly, the algebra type can be recovered from the monad (as the category of Eilenberg–Moore algebras), so monads can also be seen as generalizing varieties of universal algebras.

Another monad arising from an adjunction is when T{\displaystyle T} is the endofunctor on the category of vector spaces which maps a vector space V{\displaystyle V} to its tensor algebraT(V){\displaystyle T(V)}, and which maps linear maps to their tensor product. We then have a natural transformation corresponding to the embedding of V{\displaystyle V} into its tensor algebra, and a natural transformation corresponding to the map from T(T(V)){\displaystyle T(T(V))} to T(V){\displaystyle T(V)} obtained by simply expanding all tensor products.

Codensity monads

Under mild conditions, functors not admitting a left adjoint also give rise to a monad, the so-called codensity monad. For example, the inclusion

FinSetSet{\displaystyle \mathbf {FinSet} \subset \mathbf {Set} }

does not admit a left adjoint. Its codensity monad is the monad on sets sending any set X to the set of ultrafilters on X. This and similar examples are discussed in Leinster (2013).

Monads used in denotational semantics

The following monads over the category of sets are used in denotational semantics of imperative programming languages, and analogous constructions are used in functional programming.

The maybe monad

The endofunctor of the maybe or partiality monad adds a disjoint point:[8]

():SetSet{\displaystyle (-)_{*}:\mathbf {Set} \to \mathbf {Set} }
XX{}{\displaystyle X\mapsto X\cup \{*\}}

The unit is given by the inclusion of a set X{\displaystyle X} into X{\displaystyle X_{*}}:

ηX:XX{\displaystyle \eta _{X}:X\to X_{*}}
xx{\displaystyle x\mapsto x}

The multiplication maps elements of X{\displaystyle X} to themselves, and the two disjoint points in (X){\displaystyle (X_{*})_{*}} to the one in X{\displaystyle X_{*}}.

In both functional programming and denotational semantics, the maybe monad models partial computations, that is, computations that may fail.

The state monad

Given a set S{\displaystyle S}, the endofunctor of the state monad maps each set X{\displaystyle X} to the set of functions SS×X{\displaystyle S\to S\times X}. That is S(X)={f:SS×X}{\displaystyle S(X)=\{f:S\to S\times X\}}, and S(S(X))={f:SS×(SS×X)}{\displaystyle S(S(X))=\{f:S\to S\times (S\to S\times X)\}}.

The component of the unit at X{\displaystyle X} maps each element xX{\displaystyle x\in X} to the function

ηX(x):SS×X{\displaystyle \eta _{X}(x):S\to S\times X}
s(s,x){\displaystyle s\mapsto (s,x)}

The multiplication maps the function f:SS×(SS×X),s(s,f){\displaystyle f:S\to S\times (S\to S\times X),s\mapsto (s',f')} to the function

μX(f):SS×X{\displaystyle \mu _{X}(f):S\to S\times X}
sf(s){\displaystyle s\mapsto f'(s')}

In more detail, given fS(S(X)){\displaystyle f\in S(S(X))} which is the pair f=(f1,f2){\displaystyle f=(f_{1},f_{2})} where f1:SS{\displaystyle f_{1}:S\to S} and f2:S(SS×X){\displaystyle f_{2}:S\to (S\to S\times X)}, so that f(s)=(f1(s),f2(s):S(S×X)){\displaystyle f(s)={\big (}f_{1}(s),f_{2}(s):S\to (S\times X){\big )}}.

Podemos revertir el curryF2{\displaystyle f_{2}}darF3:(S×S)(S×incógnita){\displaystyle f_{3}:(S\times S)\to (S\times X)}Esto a su vez se puede dividir en F4:(S×S)S{\displaystyle f_{4}:(S\times S)\to S}yF5:(S×S)incógnita){\displaystyle f_{5}:(S\times S)\to X)}de modo que

F2(s1)(s2)=F3(s1,s2)=(F4(s1,s2),F5(s1,s2)){\displaystyle f_{2}(s_{1})(s_{2})=f_{3}(s_{1},s_{2})={\Big (}f_{4}(s_{1},s_{2}),f_{5}(s_{1},s_{2}){\Big )}}

Entonces podemos volver a expresarloFS(S(incógnita)){\displaystyle f\in S(S(X))}como

F:S×SS×S×incógnita,F(s1,s2)=(F1(s1),F4(s1,s2),F5(s1,s2)){\displaystyle f:S\times S\to S\times S\times X,\qquad f(s_{1},s_{2})={\Big (}f_{1}(s_{1}),f_{4}(s_{1},s_{2}),f_{5}(s_{1},s_{2}){\Big )}}

Ahora podemos dar la unión comoμincógnita(F):SS×incógnita{\displaystyle \mu _{X}(f):S\to S\times X}

(μincógnita(F))(s)=(F4(s,F1(s)),F5(s,F1(s))){\displaystyle {\big (}\mu _{X}(f){\big )}(s)={\Big (}f_{4}(s,f_{1}(s)),f_{5}(s,f_{1}(s)){\Big )}}

En la programación funcional y la semántica denotacional, la mónada de estado modela los cálculos con estado .

La mónada ambiental

Dado un conjuntomi{\displaystyle E}, el endofunctor del lector o mónada de entorno asigna cada conjuntoincógnita{\displaystyle X}al conjunto de funcionesmiincógnita{\displaystyle E\to X}Por lo tanto, el endofunctor de esta mónada es exactamente el functor hom.Hometro(mi,){\displaystyle \mathrm {Hom} (E,-)}. El componente de la unidad enincógnita{\displaystyle X}mapea cada elementoincógnitaincógnita{\displaystyle x\in X}a la función constantemiincógnita{\displaystyle e\mapsto x}.

La multiplicación representa una función de dos variables.F:mi(miincógnita){\displaystyle f:E\to (E\to X)}a su "componente diagonal"(miF(mi,mi)):miincógnita{\displaystyle (e\mapsto f(e,e)):E\to X}En otras palabras, la multiplicación es una precomposición con

Δ:mimi×mi{\displaystyle \Delta :E\to E\times E}
mi(mi,mi).{\displaystyle e\mapsto (e,e).}

En la programación funcional y la semántica denotacional, la mónada de entorno modela los cálculos con acceso a algunos datos de solo lectura.

Las mónadas de lista y conjunto

La mónada de lista o no determinismo asigna a un conjunto X el conjunto de secuencias finitas (es decir, listas ) con elementos de X. La unidad asigna a un elemento x de X la lista unitaria [x]. La multiplicación concatena una lista de listas en una sola lista.

En programación funcional, la mónada de lista se utiliza para modelar cálculos no deterministas . La mónada de conjunto potencia covariante, también conocida como mónada de conjunto , también se utiliza para modelar cálculos no deterministas.

Álgebras para una mónada

Dado un monad(T,η,μ){\displaystyle (T,\eta ,\mu )}en una categoríado{\displaystyle C}, es natural considerarT{\displaystyle T}-álgebras , es decir, objetos dedo{\displaystyle C}actuado porT{\displaystyle T}de una forma que sea compatible con la unidad y la multiplicación de la mónada. Más formalmente, unaT{\displaystyle T}-álgebra (incógnita,h){\displaystyle (x,h)}es un objetoincógnita{\displaystyle x}dedo{\displaystyle C}junto con una flechah:Tincógnitaincógnita{\displaystyle h\colon Tx\to x}dedo{\displaystyle C}llamado mapa de estructura del álgebra tal que los diagramas

desplazarse.

Un morfismoF:(incógnita,h)(incógnita,h){\displaystyle f\colon (x,h)\to (x',h')}deT{\displaystyle T}-álgebras es una flechaF:incógnitaincógnita{\displaystyle f\colon x\to x'}dedo{\displaystyle C}de tal manera que el diagrama

desplazamientos diarios.T{\displaystyle T}Las -álgebras forman una categoría llamada categoría de Eilenberg-Moore y se denota pordoT{\displaystyle C^{T}}.

Ejemplos

Álgebras sobre la mónada del grupo libre

Por ejemplo, para la mónada de grupo libre discutida anteriormente, unT{\displaystyle T}-álgebra es un conjuntoincógnita{\displaystyle X}junto con un mapa del grupo libre generado porincógnita{\displaystyle X}haciaincógnita{\displaystyle X}sujeto a condiciones de asociatividad y unicidad. Dicha estructura es equivalente a decir queincógnita{\displaystyle X}es un grupo en sí mismo.

Álgebras sobre la mónada de distribución

Otro ejemplo es la mónada de distribución.D{\displaystyle {\mathcal {D}}}en la categoría de conjuntos. Se define enviando un conjuntoincógnita{\displaystyle X}al conjunto de funcionesF:incógnita[0,1]{\displaystyle f:X\to [0,1]}con soporte finito y de tal manera que su suma sea igual a1{\displaystyle 1}En notación de construcción de conjuntos, este es el conjuntoD(incógnita)={F:incógnita[0,1]:#suplemento(F)<+incógnitaincógnitaF(incógnita)=1}{\displaystyle {\mathcal {D}}(X)=\left\{f:X\to [0,1]:{\begin{matrix}\#{\text{supp}}(f)<+\infty \\\sum _{x\in X}f(x)=1\end{matrix}}\right\}}Al examinar las definiciones, se puede demostrar que las álgebras sobre la mónada de distribución son equivalentes a conjuntos convexos , es decir, conjuntos equipados con operaciones.incógnita+ry{\displaystyle x+_{r}y}parar[0,1]{\displaystyle r\in [0,1]}sujeto a axiomas que se asemejan al comportamiento de las combinaciones lineales convexasrincógnita+(1r)y{\displaystyle rx+(1-r)y}en el espacio euclidiano. [ 9 ]

Álgebras sobre la mónada simétrica

Otro ejemplo útil de una mónada es el functor de álgebra simétrica en la categoría deR{\displaystyle R}-módulos para un anillo conmutativoR{\displaystyle R}.Sim():Mod(R)Mod(R){\displaystyle {\text{Sym}}^{\bullet }(-):{\text{Mod}}(R)\to {\text{Mod}}(R)}enviar unR{\displaystyle R}-móduloMETRO{\displaystyle M}a la suma directa de potencias tensoriales simétricasSim(METRO)=k=0Simk(METRO){\displaystyle {\text{Sym}}^{\bullet }(M)=\bigoplus _{k=0}^{\infty }{\text{Sym}}^{k}(M)}dóndeSim0(METRO)=R{\displaystyle {\text{Sym}}^{0}(M)=R}. Por ejemplo,Sim(Rnorte)R[incógnita1,,incógnitanorte]{\displaystyle {\text{Sym}}^{\bullet }(R^{\oplus n})\cong R[x_{1},\ldots ,x_{n}]}donde elR{\displaystyle R}-álgebra de la derecha se considera como un módulo. Entonces, un álgebra sobre esta mónada es conmutativaR{\displaystyle R}-álgebras. También existen álgebras sobre las mónadas para los tensores alternantes.Alt(){\displaystyle {\text{Alt}}^{\bullet }(-)}y functores tensoriales totalesT(){\displaystyle T^{\bullet }(-)}dando antisimetríaR{\displaystyle R}-álgebras y libreR{\displaystyle R}-álgebras, así queAlt(Rnorte)=R(incógnita1,,incógnitanorte)T(Rnorte)=Rincógnita1,,incógnitanorte{\displaystyle {\begin{aligned}{\text{Alt}}^{\bullet }(R^{\oplus n})&=R(x_{1},\ldots ,x_{n})\\{\text{T}}^{\bullet }(R^{\oplus n})&=R\langle x_{1},\ldots ,x_{n}\rangle \end{aligned}}}donde el primer anillo es el álgebra antisimétrica libre sobreR{\displaystyle R}ennorte{\displaystyle n}-generadores y el segundo anillo es el álgebra libre sobreR{\displaystyle R}ennorte{\displaystyle n}-generadores.

Álgebras conmutativas en espectros de anillos E-infinito

Existe una construcción análoga para la conmutativa.S{\displaystyle \mathbb {S} }-álgebras [ 10 ] pág. 113 que da conmutativoA{\displaystyle A}-álgebras para una conmutativaS{\displaystyle \mathbb {S} }-álgebraA{\displaystyle A}. SiMETROA{\displaystyle {\mathcal {M}}_{A}}es la categoría deA{\displaystyle A}-módulos, luego el functorPAG:METROAMETROA{\displaystyle \mathbb {P} :{\mathcal {M}}_{A}\to {\mathcal {M}}_{A}} es la mónada dada porPAG(METRO)=j0METROj/Σj{\displaystyle \mathbb {P} (M)=\bigvee _{j\geq 0}M^{j}/\Sigma _{j}}dóndeMETROj=METROAAMETRO{\displaystyle M^{j}=M\wedge _{A}\cdots \wedge _{A}M}j{\displaystyle j}-veces. Luego hay una categoría asociada.doA{\displaystyle {\mathcal {C}}_{A}}de conmutativoA{\displaystyle A}-álgebras de la categoría de álgebras sobre esta mónada.

Mónadas y adjunciones

Como se mencionó anteriormente, cualquier adjunción da origen a una mónada. Recíprocamente, toda mónada surge de alguna adjunción, a saber, la adjunción libre-olvidada.

T():dodoT:olvidar{\displaystyle T(-):C\rightleftarrows C^{T}:{\text{forget}}}

cuyo adjunto izquierdo envía un objeto X al álgebra T libre T ( X ). Sin embargo, generalmente hay varias adjunciones distintas que dan lugar a una mónada: seaAdj(do,T){\displaystyle \mathbf {Adj} (C,T)}sea ​​la categoría cuyos objetos son las adjunciones(F,GRAMO,mi,ε){\displaystyle (F,G,e,\varepsilon )}de tal manera que(GRAMOF,mi,GRAMOεF)=(T,η,μ){\displaystyle (GF,e,G\varepsilon F)=(T,\eta ,\mu )}y cuyas flechas son los morfismos de adjunciones que son la identidad endo{\displaystyle C}. Entonces, la adjunción libre-olvidada anterior que involucra la categoría de Eilenberg-MooredoT{\displaystyle C^{T}}es un objeto terminal enAdj(do,T){\displaystyle \mathbf {Adj} (C,T)}. Un objeto inicial es la categoría Kleisli , que por definición es la subcategoría completa dedoT{\displaystyle C^{T}}que consisten únicamente en T -álgebras libres, es decir, T -álgebras de la formaT(incógnita){\displaystyle T(x)}para algún objeto x de C.

Adjunciones monádicas

Dado cualquier adjunto(F:doD,GRAMO:Ddo,η,ε){\displaystyle (F:C\to D,G:D\to C,\eta ,\varepsilon )}con la mónada T asociada , el functor G puede factorizarse como

DGRAMO~doTolvidardo,{\displaystyle D{\overset {\widetilde {G}}{\longrightarrow }}C^{T}\xrightarrow {\text{forget}} C,}

es decir, G ( Y ) puede dotarse naturalmente de una estructura de álgebra T para cualquier Y en D . La adjunción se llama adjunción monádica si el primer functorGRAMO~{\displaystyle {\tilde {G}}}produce una equivalencia de categorías entre D y la categoría de Eilenberg-Moore.doT{\displaystyle C^{T}}. [ 11 ] Por extensión, un functorGRAMO:Ddo{\displaystyle G\colon D\to C}Se dice que una adjunción es monádica si tiene un adjunto izquierdo F que forma una adjunción monádica. Por ejemplo, la adjunción libre-olvidada entre grupos y conjuntos es monádica, ya que las álgebras sobre la mónada asociada son grupos, como se mencionó anteriormente. En general, saber que una adjunción es monádica permite reconstruir objetos en D a partir de objetos en C y la acción T.

Teorema de monadicidad de Beck

El teorema de monadicidad de Beck proporciona una condición necesaria y suficiente para que una adjunción sea monádica. Una versión simplificada de este teorema establece que G es monádica si y solo si es conservativa (o G refleja isomorfismos, es decir, un morfismo en D es un isomorfismo si y solo si su imagen bajo G es un isomorfismo en C ) y G preserva los coecualizadores .

Por ejemplo, el functor de olvido de la categoría de espacios compactos de Hausdorff a conjuntos es monádico. Sin embargo, el functor de olvido de todos los espacios topológicos a conjuntos no es conservativo ya que existen aplicaciones biyectivas continuas (entre espacios no compactos o no de Hausdorff) que no son homeomorfismos . Por lo tanto, este functor de olvido no es monádico. [ 12 ] La versión dual del teorema de Beck, que caracteriza las adjunciones comonádicas, es relevante en diferentes campos como la teoría de topos y temas de geometría algebraica relacionados con el descenso . Un primer ejemplo de una adjunción comonádica es la adjunción

AB:METROodAMETROodB:olvidar{\displaystyle -\otimes _{A}B:\mathbf {Mod} _{A}\rightleftarrows \mathbf {Mod} _{B}:\operatorname {forget} }

para un homomorfismo de anillosAB{\displaystyle A\to B}entre anillos conmutativos. Esta adjunción es comonádica, según el teorema de Beck, si y solo si B es fielmente plano como A -módulo. Por lo tanto, permite descender B -módulos, dotados de un dato de descenso (es decir, una acción de la comonada dada por la adjunción), a A -módulos. La teoría resultante del descenso fielmente plano se aplica ampliamente en geometría algebraica.

Usos

Las mónadas se utilizan en la programación funcional para expresar tipos de computación secuencial (a veces con efectos secundarios). Véase mónadas en programación funcional y el módulo b:Haskell/Category theory, de orientación más matemática .

Las mónadas se utilizan en la semántica denotacional de los lenguajes de programación impuros funcionales e imperativos . [ 13 ] [ 14 ]

En lógica categórica, se ha trazado una analogía entre la teoría de mónadas y comanadas y la lógica modal a través de operadores de cierre , álgebras interiores y su relación con modelos de lógicas S4 e intuicionistas .

Generalizaciones

Las mónadas se pueden definir en cualquier 2-categoría débil como 2-funtores laxos de la categoría terminal.1{\displaystyle \mathbb {1} }a 2-categoría Cat . [ 5 ] La teoría de 2-mónadas fue introducida por Blackwell–Kelly–Power, [ 15 ] y las 2-mónadas sin prefijos suelen ser una noción estricta. Una noción que debilita las leyes de las mónadas de modo que se mantienen "hasta modificaciones invertibles coherentes " se llama pseudomónada . Si bien hay intentos de definir la composición que preserva las mónadas solo hasta una transformación no invertible, no hay una noción general obvia de mónada laxa en una 2-categoría débil, ya que no hay una buena 2-categoría (o incluso una 3-categoría débil ) de 2-categorías débiles que contengan functores laxos u oplax. [ 16 ] La mónada laxa fue introducida por primera vez por Bunge, [ 17 ] pero otras definiciones diferentes de la mónada laxa a la Bunge.

Véase también

Referencias

  1. "Las mónadas me daban dolor de cabeza, pero ya no" . El Café de la n-categoría .
  2. ^ Barr, Michael; Wells, Charles (1985), "Toposes, triples y teorías" (PDF) , Grundlehren der mathematischen Wissenschaften , vol. 278, Springer-Verlag, págs. 82 y 120, ISBN   0-387-96115-1.{{citation}}: CS1 mantenimiento: parámetro de trabajo con ISBN ( enlace )
  3. Klin; Salamanca (2018), "El conjunto potencia covariante iterado no es una mónada", Electronic Notes in Theoretical Computer Science , 341 : 261–276 , doi : 10.1016/j.entcs.2018.11.013
  4. MacLane 1978 , pág. 138.
  5. ^ Benabou , Jean (1967). «Introducción a las bicategorías» . En Bénabou, J.; Davis, R.; Döld, A.; Isbell, J.; MacLane, S.; Oberst, U.; Roos, J.-E. (eds.). Informes del Seminario Categoría Medio Oeste . Apuntes de conferencias de matemáticas. vol. 47. Berlín, Heidelberg: Springer. págs. 1– 77. doi : 10.1007/BFb0074299 . ISBN   978-3-540-35545-8.
  6. "RE: Monads" . Gmane . 4 de abril de 2009. Archivado del original el 26 de marzo de 2015.
  7. Riehl, Emily . "Teoría de categorías en contexto" (PDF) . pág. 162. Archivado (PDF) del original el 5 de abril de 2021. 
  8. Riehl 2017 , pág. 155.
  9. Świrszcz, T. (1974), "Funtores monádicos y convexidad", Bull. Acad. Polon. Sci. Sér. Sci. Math. Astron. Phys. , 22 : 39– 42, MR 0390019 Jacobs , Bart (2010), "Convexidad, dualidad y efectos", Theoretical Computer Science , IFIP Advances in Information and Communication Technology, vol. 323, pp. 1–19 , doi : 10.1007/978-3-642-15240-5_1 , ISBN   978-3-642-15239-9
  10. Basterra, M. (1999-12-15). "Cohomología de André-Quillen de las S-álgebras conmutativas" . Journal of Pure and Applied Algebra . 144 (2): 111– 143. doi : 10.1016/S0022-4049(98)00051-6 . ISSN 0022-4049 . 
  11. MacLane (1978) utiliza una definición más fuerte, donde las dos categorías son isomorfas en lugar de equivalentes.
  12. ^ MacLane (1978 , §§VI.3, VI.9)
  13. Wadler, Philip (1993). "Mónadas para programación funcional" . En Broy, Manfred (ed.). Cálculos de diseño de programas . Serie NATO ASI. Vol. 118. Berlín, Heidelberg: Springer. pp. 233–264 . doi : 10.1007/978-3-662-02880-3_8 . ISBN   978-3-662-02880-3."El concepto de mónada, que surge de la teoría de categorías, ha sido aplicado por Moggi para estructurar la semántica denotacional de los lenguajes de programación."
  14. Mulry, Philip S. (1998-01-01). "Mónadas en semántica" . Notas electrónicas en informática teórica . Talleres conjuntos EE. UU.-Brasil sobre los fundamentos formales de los sistemas de software. 14 : 275–286 . doi : 10.1016/S1571-0661(05)80241-5 . ISSN 1571-0661 . 
  15. Shulman, Michael A. (2012). "No toda pseudoálgebra es equivalente a una estricta" . Advances in Mathematics . 229 (3): 2024– 2041. doi : 10.1016/j.aim.2011.01.010 .
  16. Chikhladze, Dimitri (2015). "Teoría formal laxa de mónadas, enfoque monoide de estructuras bicategóricas y operadas generalizadas". Theory and Applications of Categories . 30 : 332–386 . doi : 10.70930/tac/nfe2xf1p .
  17. Kelly, GM; Street, Ross (1974). "Revisión de los elementos de las 2-categorías". Category Seminar . 420 : 75–103 . doi : 10.1007/BFb0063101 .

Lecturas adicionales

  • Barr, Michael ; Wells, Charles (1999), Teoría de categorías para la informática (PDF)
  • Godement, Roger (1958), Topologie Algébrique et Théorie des Faisceaux. , Actualités Sci. Indiana, Publ. Matemáticas. Univ. Estrasburgo, vol.  1252, París: Hermann, págs.  viii+283 págs.
  • Kock, Anders (1970), "Sobre las mónadas de doble dualización", Mathematica Scandinavica , 27 : 151, doi : 10.7146/math.scand.a-10995
  • Leinster, Tom (2013), "Codensidad y la mónada ultrafiltro" (PDF) , Theory and Applications of Categories , 28 : 332–370 , arXiv : 1209.3606 , Bibcode : 2012arXiv1209.3606L
  • MacLane, Saunders (1978), Categorías para el matemático en activo , Textos de posgrado en matemáticas, vol.  5, doi : 10.1007/978-1-4757-4721-8 , ISBN 978-1-4419-3123-8
  • Pedicchio, Maria Cristina ; Tholen, Walter, eds. (2004). Fundamentos categóricos. Temas especiales en orden, topología, álgebra y teoría de haces . Enciclopedia de matemáticas y sus aplicaciones. Vol.  97. Cambridge: Cambridge University Press . ISBN 0-521-83414-7. Zbl 1034.18001 . 
  • Perrone, Paolo (2024), "Capítulo 5. Mónadas y comónadas" , Starting Category Theory , World Scientific, doi : 10.1142/9789811286018_0005 , ISBN 978-981-12-8600-1
  • Riehl, Emily (2017), Category Theory in Context , Courier Dover Publications, ISBN 9780486820804
  • Turi, Daniele (1996–2001), Apuntes de clase sobre teoría de categorías (PDF)
  • https://mathoverflow.net/questions/55182/what-is-known-about-the-category-of-monads-on-set
  • Ross Street , La teoría formal de las mónadas
  • Mónadas , un vídeo de YouTube con cinco breves conferencias (y un apéndice).
  • El artículo de John Baez, " Los hallazgos de esta semana en física matemática" (Semana 89), trata sobre las mónadas en 2-categorías.
  • Mónadas y comónadas , videotutorial.
  • https://medium.com/@felix.kuehl/a-monad-is-just-a-monoid-in-the-category-of-endofunctors-lets-actually-unravel-this-f5d4b7dbe5d6