stringtranslate.com

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

Tuvimos algo de tiempo para hablar, y durante el mismo me di cuenta de que había perdido menos miedo ante ciertos temas relacionados con las mónadas.

Las mónadas parecen molestar a mucha gente. Incluso hay un vídeo en YouTube titulado ¡Las mónadas me duelen la cabeza!... Poco después, la mujer que habla exclama:

¡¿Qué diablos?! ¿Cómo se explica siquiera qué es una mónada?

Juan Baez, [1]

En la teoría de categorías , una rama de las matemáticas , una mónada es una terna formada por un funtor T de una categoría a sí misma y dos transformaciones naturales que satisfacen condiciones como la asociatividad. Por ejemplo, si son funtores adjuntos entre sí, entonces junto con determinado por la relación adjunta es una mónada.

En términos concisos, 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 a sí mismo). Según 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 categoría determinada,
  2. Una mónada como herramienta para estudiar ecuaciones algebraicas; por ejemplo, un grupo puede ser descrito por una determinada mónada.

Las mónadas se utilizan en la teoría de pares de funtores adjuntos y generalizan 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 lenguajes de programación imperativos y en lenguajes de programación funcional , permitiendo que los lenguajes sin estado mutable hagan cosas como simular bucles for; consulte Mónada (programación funcional) .

A una mónada también se le llama, 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 endofuntor . Por ejemplo, si y son un par de funtores adjuntos , con adjunto izquierdo a , entonces la composición es una mónada. Si y son funtores inversos, la mónada correspondiente es el funtor identidad . En general, las adjunciones no son equivalencias —relacionan categorías de diferente naturaleza. La teoría de las mónadas es importante 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 en la teoría dual de las comonadas .

Definición formal

En este artículo, denota una categoría . Una mónada en consta de un endofuntor junto con dos transformaciones naturales : (donde denota el funtor identidad en ) y (donde el funtor es de a ). Estas son necesarias para cumplir las siguientes condiciones (a veces llamadas condiciones de coherencia ):

Podemos reescribir estas condiciones utilizando los siguientes diagramas conmutativos :

Consulte el artículo sobre transformaciones naturales para obtener una explicación de las notaciones y , o vea a continuación los diagramas conmutativos que no utilizan estas nociones:

El primer axioma es similar a la asociatividad en monoides si pensamos en la operación binaria del monoide, y el segundo axioma es similar a la existencia de un elemento identidad (que pensamos que viene dado por ). De hecho, una mónada en puede definirse alternativamente como un monoide en la categoría cuyos objetos son los endofunctores de y cuyos morfismos son las transformaciones naturales entre ellos, con la estructura monoidal inducida por la composición de endofunctores.

La mónada del conjunto de potencias

La mónada de conjunto potencia es una mónada de la categoría : Para un conjunto sea el conjunto potencia de y para una función sea la función entre los conjuntos potencia inducidos al tomar imágenes directas bajo . Para cada conjunto , tenemos una función , que asigna a cada el singleton . La función

lleva un conjunto de conjuntos a su unión . 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 casos especiales de monoides, es decir, son precisamente los monoides entre los endofunctores , que están dotados de la multiplicación dada por la composición de endofunctores.

La composición de mónadas no es, en general, una mónada. Por ejemplo, el funtor de doble conjunto potencia no admite ninguna estructura de mónada. [3]

Comónadas

La definición de dual categórico es una definición formal de una comónada (o cotriple ); esto se puede decir rápidamente en términos de que una comónada para una categoría es una mónada para la categoría opuesta . Por lo tanto, es un funtor de a sí mismo, con un conjunto de axiomas para conteo y comultiplicación que surgen 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 habitual son importantes y se estudian ampliamente bajo el nombre de coalgebras .

Historia terminológica

El concepto de mónada fue inventado por Roger Godement en 1958 bajo el nombre de "construcción estándar". A la mónada se la ha denominado "construcción estándar dual", "triple", "monoide" y "tríada". [4] El término "mónada" fue utilizado a más tardar en 1967 por Jean Bénabou . [5] [6]

Ejemplos

Identidad

El funtor identidad de una categoría es una mónada. Su multiplicación y unidad son la función identidad de los objetos de .

Mónadas que surgen 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 ve rápidamente que este endofunctor es una mónada, donde el mapa de unidad se deriva del mapa de unidad de la adjunción, y el mapa de multiplicación se construye utilizando el mapa de counit de la adjunción:

De hecho, cualquier mónada puede encontrarse como una adjunción explícita de funtores utilizando la categoría de Eilenberg-Moore (la categoría de las -álgebras). [7]

Doble dualización

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

donde ambos funtores se dan 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 las categorías que surgen de conjuntos parcialmente ordenados (con un único morfismo de a si y sólo 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 de libre olvido

Por ejemplo, sea el funtor olvidadizo de la categoría Grp de grupos a la categoría Set de conjuntos, y sea el funtor de grupo libre de la categoría de conjuntos a la categoría de grupos. Entonces es adjunto izquierdo de . En este caso, la mónada asociada toma un conjunto y devuelve el conjunto subyacente del grupo libre . La función unitaria de esta mónada está dada por las funciones

incluyendo cualquier conjunto en el conjunto de forma natural, como cadenas de longitud 1. Además, la multiplicación de esta mónada es la función

hecho de una concatenación natural o 'aplanamiento' de 'cadenas de cadenas'. Esto equivale a dos transformaciones naturales . El ejemplo precedente sobre grupos libres se puede generalizar a cualquier tipo de álgebra en el sentido de una variedad de álgebras en el álgebra universal . Por lo tanto, cada tipo de álgebra de este tipo da lugar a una mónada en la categoría de conjuntos. Es importante destacar que el tipo de álgebra se puede recuperar de la mónada (como la categoría de las álgebras de Eilenberg-Moore), por lo que las mónadas también pueden verse como variedades generalizadoras de álgebras universales.

Otra mónada que surge de una adjunción es cuando es el endofunctor en la categoría de espacios vectoriales que asigna un espacio vectorial a su álgebra tensorial y que asigna aplicaciones lineales a su producto tensorial. Entonces tenemos una transformación natural correspondiente a la incrustación de en su álgebra tensorial y una transformación natural correspondiente a la aplicación de a obtenida simplemente expandiendo todos los productos tensoriales.

Mónadas de codensidad

En condiciones moderadas, los funtores que no admiten un adjunto izquierdo también dan lugar a una mónada, la llamada mónada de codensidad . Por ejemplo, la inclusión

no admite un adjunto izquierdo. Su mónada de codensidad es la mónada sobre conjuntos que envía cualquier conjunto X al conjunto de ultrafiltros sobre X . Este y otros ejemplos similares se analizan en Leinster (2013).

Mónadas utilizadas en la semántica denotacional

Las siguientes mónadas sobre la categoría de conjuntos se utilizan en la semántica denotacional de los lenguajes de programación imperativa , y se utilizan construcciones análogas en la programación funcional.

La mónada tal vez

El endofunctor de la mónada tal vez o parcialidad añade un punto disjunto: [8]

La unidad viene dada por la inclusión de un conjunto en :

La multiplicación asigna elementos de a sí mismos, y los dos puntos disjuntos en al uno en .

Tanto en programación funcional como en semántica denotacional, la mónada maybe modela cálculos parciales , es decir, cálculos que pueden fallar.

La mónada estatal

Dado un conjunto , el endofunctor de la mónada de estado asigna cada conjunto al conjunto de funciones . El componente de la unidad en asigna cada elemento a la función

La multiplicación asigna la función a la función

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

La mónada del entorno

Dado un conjunto , el endofunctor de la mónada lectora o del entorno asigna cada conjunto al conjunto de funciones . Por lo tanto, el endofunctor de esta mónada es exactamente el functor hom . El componente de la unidad en asigna cada elemento a la función constante .

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

Las mónadas de lista y de conjunto

La mónada de lista o no determinista asigna un conjunto X al conjunto de secuencias finitas (es decir, listas ) con elementos de X . La unidad asigna un elemento x en X a la lista singleton [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 se conoce como mónada de conjunto y también se utiliza para modelar cálculos no deterministas.

Álgebras para una mónada

Dada una mónada en una categoría , es natural considerar -álgebras , es decir, objetos de sobre los que actúa de una manera que es compatible con la unidad y la multiplicación de la mónada. Más formalmente, una -álgebra es un objeto de junto con una flecha de llamada el mapa de estructura del álgebra de tal manera que los diagramas

desplazarse.

Un morfismo de -álgebras es una flecha de tal manera que el diagrama

conmuta. -Las álgebras forman una categoría llamada categoría de Eilenberg-Moore y se denota por .

Ejemplos

Álgebras sobre la mónada de grupo libre

Por ejemplo, para la mónada de grupo libre analizada anteriormente, una -álgebra es un conjunto junto con una función del grupo libre generada por hacia sujeta a condiciones de asociatividad y unitaria. Una estructura de este tipo equivale a decir que es un grupo en sí misma.

Álgebras sobre la mónada de distribución

Otro ejemplo es la mónada de distribución sobre la categoría de conjuntos. Se define enviando un conjunto al conjunto de funciones con soporte finito y tales que su suma es igual a . En la notación de constructor de conjuntos, este es el conjunto Mediante la inspección de 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 para sujetos a axiomas que se asemejan al comportamiento de las combinaciones lineales convexas en el espacio euclidiano. [9]

Álgebras sobre la mónada simétrica

Otro ejemplo útil de una mónada es el funtor de álgebra simétrica en la categoría de -módulos para un anillo conmutativo . enviando un -módulo a la suma directa de potencias tensoriales simétricas donde . Por ejemplo, donde el -álgebra de la derecha se considera como un módulo. Entonces, un álgebra sobre esta mónada son -álgebras conmutativas. También hay álgebras sobre las mónadas para los tensores alternantes y funtores tensoriales totales que dan -álgebras antisimétricas y -álgebras libres, por lo que donde el primer anillo es el álgebra antisimétrica libre sobre in -generadores y el segundo anillo es el álgebra libre sobre in -generadores.

Álgebras conmutativas en espectros de anillos E-infinitos

Existe una construcción análoga para las -álgebras conmutativas [10] pág. 113 que da -álgebras conmutativas para una -álgebra conmutativa . Si es la categoría de -módulos, entonces el funtor es la mónada dada por donde -veces. Entonces hay una categoría asociada de -álgebras conmutativas de la categoría de álgebras sobre esta mónada.

Mónadas y adjunciones

Como se mencionó anteriormente, cualquier adjunción da lugar a una mónada. A la inversa, toda mónada surge de alguna adjunción, a saber, la adjunción libre-olvidada.

cuyo adjunto izquierdo envía un objeto X a la T -álgebra libre T ( X ). Sin embargo, normalmente hay varias adjunciones distintas que dan lugar a una mónada: sea la categoría cuyos objetos son las adjunciones tales que y cuyas flechas son los morfismos de las adjunciones que son la identidad en . Entonces la adjunción libre-olvidadiza anterior que involucra la categoría de Eilenberg-Moore es un objeto terminal en . Un objeto inicial es la categoría de Kleisli , que es por definición la subcategoría completa de que consiste únicamente en T -álgebras libres , es decir, T -álgebras de la forma para algún objeto x de C .

Adjunciones monádicas

Dada cualquier adjunción con mónada asociada T , el funtor G puede factorizarse como

es decir, G ( Y ) puede estar naturalmente dotado de una estructura de T -álgebra para cualquier Y en D . La adjunción se llama adjunción monádica si el primer funtor produce una equivalencia de categorías entre D y la categoría de Eilenberg-Moore . [11] Por extensión, se dice que un funtor es monádico si tiene un adjunto izquierdo 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 T -acción.

Teorema de monadicidad de Beck

El teorema de monadicidad de Beck establece 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 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 C tiene y G conserva coecualizadores .

Por ejemplo, el funtor olvidadizo de la categoría de espacios compactos de Hausdorff a conjuntos es monádico. Sin embargo, el funtor olvidadizo de todos los espacios topológicos a conjuntos no es conservativo ya que hay aplicaciones biyectivas continuas (entre espacios no compactos o no de Hausdorff) que no son homeomorfismos . Por lo tanto, este funtor olvidadizo 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 la descendencia . Un primer ejemplo de una adjunción comonádica es la adjunción

para un homomorfismo de anillos entre anillos conmutativos. Esta adjunción es comonádica, por el teorema de Beck, si y sólo si B es fielmente plano como un módulo A. Por lo tanto, permite descender módulos B , equipados con un dato de descenso (es decir, una acción de la comonada dada por la adjunción) a módulos A. La teoría resultante de descenso fielmente plano se aplica ampliamente en geometría algebraica.

Usos

Las mónadas se utilizan en 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/Teoría de categorías de Wikibook, más orientado a las matemáticas.

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

En lógica categórica, se ha establecido una analogía entre la teoría mónada-comónada y la lógica modal a través de operadores de cierre , álgebras interiores y su relación con los modelos de S4 y las lógicas intuicionistas .

Generalización

Es posible definir mónadas en una categoría 2. Las mónadas descritas anteriormente son mónadas para .

Véase también

Referencias

  1. ^ desde https://golem.ph.utexas.edu/category/2009/07/las_monads_me_dolieron_la_cabeza_pero_no.html
  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.
  3. ^ Klin; Salamanca (2018), "El conjunto de potencias covariantes 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. ^ Bénabou, Jean (1967). "Introducción a las bicategorías". En Bénabou, J.; Davis, R.; Dold, A.; Isbell, J.; MacLane, S.; Oberst, U.; Roos, J. -E. (eds.). Informes del Seminario de categorías del Medio Oeste . Apuntes de clase en 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 desde el original el 26 de marzo de 2015.
  7. ^ Riehl, Emily . "Teoría de categorías en contexto" (PDF) . p. 162. Archivado (PDF) del original el 5 de abril de 2021.
  8. ^ Riehl 2017, pág. 155.
  9. ^ Świrszcz, T. (1974), "Functores 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, págs. 1–19, doi : 10.1007/978-3-642-15240-5_1 , ISBN 978-3-642-15239-9
  10. ^ Basterra, M. (15 de diciembre de 1999). "Cohomología André–Quillen de 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. págs. 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. (1 de enero de 1998). "Mónadas en semántica". Notas electrónicas en informática teórica . Talleres conjuntos de Estados Unidos y Brasil sobre los fundamentos formales de los sistemas de software. 14 : 275–286. doi : 10.1016/S1571-0661(05)80241-5 . ISSN  1571-0661.

Lectura adicional

Enlaces externos