En la teoría de categorías , una rama de las matemáticas , una mónada es una tripletaque consiste en un functor T de una categoría a sí misma y dos transformaciones naturalesque 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, siSi los functores son adjuntos entre sí, entoncesjunto conDeterminada 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 ]
- Una mónada como un monoide generalizado; esto es claro ya que una mónada es un monoide en una determinada categoría,
- 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, siyson un par de functores adjuntos , conadjunto izquierdo a, luego la composiciónes una mónada. Siyson 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 de, se analiza bajo la teoría dual de las comónadas .
Definición formal
A lo largo de este artículo,denota una categoría . Una mónada enconsta de un endofunctorjunto con dos transformaciones naturales :(dóndedenota el functor identidad en) y(dóndees el functordea). Estos son necesarios para cumplir las siguientes condiciones (a veces llamadas condiciones de coherencia ):
- (como transformaciones naturales)); aquíyse forman mediante " composición horizontal ".
- (como transformaciones naturales); aquídenota la transformación de identidad dea).
Podemos reescribir estas condiciones utilizando los siguientes diagramas conmutativos :
Consulte el artículo sobre transformaciones naturales para obtener la explicación de las notaciones.yo consulte a continuación los diagramas conmutativos que no utilizan estas nociones:
El primer axioma es similar a la asociatividad en monoides si pensamos encomo 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). De hecho, una mónada enalternativamente puede definirse como un monoide en la categoríacuyos objetos son los endofuntores dey 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ónadaen la categoría: Para un conjuntodejarser el conjunto de poder dey para una funcióndejarsea la función entre los conjuntos de potencia inducidos al tomar imágenes directas bajo. Para cada conjuntoTenemos un mapa, que asigna a cadael único. La función
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., 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.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íaes una mónada para la categoría opuestaPor lo tanto, es un functor.dea 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íaes una mónada. Su multiplicación y unidad son la función identidad en los objetos de.
Mónadas derivadas de adjunciones
Cualquier complemento
da lugar a una mónada en C. Esta construcción muy extendida funciona de la siguiente manera: el endofunctor es el compuesto
Se observa rápidamente que este endofunctor es una mónada, donde el mapa de unidades proviene del mapa de unidades.de la adjunción, y el mapa de multiplicación se construye utilizando el mapa de counidades de la adjunción:
De hecho, cualquier mónada puede encontrarse como una adjunción explícita de functores utilizando la categoría de Eilenberg-Moore.(la categoría de-álgebras). [ 7 ]
Doble dualización
La mónada de doble dualización , para un campo fijo k, surge de la adjunción
donde ambos functores se obtienen enviando un espacio vectorial V a su espacio vectorial dual.La mónada asociada envía un espacio vectorial V a su doble dual .. 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(con un único morfismo deasi y solo si), 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, dejemosSea el functor olvidadizo de la categoría Grp de grupos a la categoría Set de conjuntos, y sea Sea el functor de grupo libre de la categoría de conjuntos a la categoría de grupos. Entonceses adjunto izquierdo de. In this case, the associated monad takes a set and returns the underlying set of the free group . The unit map of this monad is given by the maps
including any set into the set in the natural way, as strings of length 1. Further, the multiplication of this monad is the map
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 is the endofunctor on the category of vector spaces which maps a vector space to its tensor algebra, and which maps linear maps to their tensor product. We then have a natural transformation corresponding to the embedding of into its tensor algebra, and a natural transformation corresponding to the map from to 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
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]
The unit is given by the inclusion of a set into :
The multiplication maps elements of to themselves, and the two disjoint points in to the one in .
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 , the endofunctor of the state monad maps each set to the set of functions . That is , and .
The component of the unit at maps each element to the function
The multiplication maps the function to the function
In more detail, given which is the pair where and , so that .
Podemos revertir el currydarEsto a su vez se puede dividir en yde modo que
Entonces podemos volver a expresarlocomo
Ahora podemos dar la unión como
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 conjunto, el endofunctor del lector o mónada de entorno asigna cada conjuntoal conjunto de funcionesPor lo tanto, el endofunctor de esta mónada es exactamente el functor hom.. El componente de la unidad enmapea cada elementoa la función constante.
La multiplicación representa una función de dos variables.a su "componente diagonal"En otras palabras, la multiplicación es una precomposición con
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 monaden una categoría, es natural considerar-álgebras , es decir, objetos deactuado porde una forma que sea compatible con la unidad y la multiplicación de la mónada. Más formalmente, una-álgebra es un objetodejunto con una flechadellamado mapa de estructura del álgebra tal que los diagramas
desplazarse.
Un morfismode-álgebras es una flechadede tal manera que el diagrama

desplazamientos diarios.Las -álgebras forman una categoría llamada categoría de Eilenberg-Moore y se denota por.
Ejemplos
Álgebras sobre la mónada del grupo libre
Por ejemplo, para la mónada de grupo libre discutida anteriormente, un-álgebra es un conjuntojunto con un mapa del grupo libre generado porhaciasujeto a condiciones de asociatividad y unicidad. Dicha estructura es equivalente a decir quees un grupo en sí mismo.
Álgebras sobre la mónada de distribución
Otro ejemplo es la mónada de distribución.en la categoría de conjuntos. Se define enviando un conjuntoal conjunto de funcionescon soporte finito y de tal manera que su suma sea igual aEn notación de construcción de conjuntos, este es el conjuntoAl 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.parasujeto a axiomas que se asemejan al comportamiento de las combinaciones lineales convexasen 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 de-módulos para un anillo conmutativo.enviar un-móduloa la suma directa de potencias tensoriales simétricasdónde. Por ejemplo,donde el-álgebra de la derecha se considera como un módulo. Entonces, un álgebra sobre esta mónada es conmutativa-álgebras. También existen álgebras sobre las mónadas para los tensores alternantes.y functores tensoriales totalesdando antisimetría-álgebras y libre-álgebras, así quedonde el primer anillo es el álgebra antisimétrica libre sobreen-generadores y el segundo anillo es el álgebra libre sobreen-generadores.
Álgebras conmutativas en espectros de anillos E-infinito
Existe una construcción análoga para la conmutativa.-álgebras [ 10 ] pág. 113 que da conmutativo-álgebras para una conmutativa-álgebra. Sies la categoría de-módulos, luego el functor :{\mathcal {M}}_{A}\to {\mathcal {M}}_{A}} es la mónada dada pordónde-veces. Luego hay una categoría asociada.de conmutativo-á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.
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: seasea la categoría cuyos objetos son las adjuncionesde tal manera quey cuyas flechas son los morfismos de adjunciones que son la identidad en. Entonces, la adjunción libre-olvidada anterior que involucra la categoría de Eilenberg-Moorees un objeto terminal en. Un objeto inicial es la categoría Kleisli , que por definición es la subcategoría completa deque consisten únicamente en T -álgebras libres, es decir, T -álgebras de la formapara algún objeto x de C.
Adjunciones monádicas
Dado cualquier adjuntocon la mónada T asociada , el functor G puede factorizarse como
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 functorproduce una equivalencia de categorías entre D y la categoría de Eilenberg-Moore.. [ 11 ] Por extensión, un functorSe 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
para un homomorfismo de anillosentre 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.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
- ↑ "Las mónadas me daban dolor de cabeza, pero ya no" . El Café de la n-categoría .
- ^ 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 ) - ↑ 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
- ↑ MacLane 1978 , pág. 138.
- ^ 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.
- ↑ "RE: Monads" . Gmane . 4 de abril de 2009. Archivado del original el 26 de marzo de 2015.
- ↑ Riehl, Emily . "Teoría de categorías en contexto" (PDF) . pág. 162. Archivado (PDF) del original el 5 de abril de 2021.
- ↑ Riehl 2017 , pág. 155.
- ↑ Ś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
- ↑ 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 .
- ↑ MacLane (1978) utiliza una definición más fuerte, donde las dos categorías son isomorfas en lugar de equivalentes.
- ^ MacLane (1978 , §§VI.3, VI.9)
- ↑ 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."
- ↑ 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 .
- ↑ 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 .
- ↑ 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 .
- ↑ 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
Enlaces externos
- 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
- functores adjuntos
- Teoría de categorías