stringtranslate.com

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

En teoría de categorías , una rama de las matemáticas , una mónada (también triple , tríada , construcción estándar y construcción fundamental ) [1] es un monoide en la categoría de endofunctores de alguna categoría fija. Un endofunctor es un funtor que asigna una categoría a sí mismo, y una mónada es un endofunctor junto con dos transformaciones naturales necesarias para cumplir ciertas condiciones de coherencia . 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 los lenguajes de programación imperativos y en los lenguajes de programación funcionales , permitiendo que los lenguajes sin estado mutable hagan cosas como simular bucles for; ver Monad (programación funcional) .

Introducción y definición

Una mónada es un cierto tipo de endofuntor . Por ejemplo, si y son un par de functores 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 importa como parte del esfuerzo por captar qué es lo que las adjunciones "preservan". La otra mitad de la teoría, de lo que también se puede aprender considerando , se analiza en la teoría dual de las comonadas .

Definicion formal

A lo largo de este artículo se denota una categoría . Una mónada on consta de un endofunctor junto con dos transformaciones naturales : (donde denota el funtor de identidad on ) y (donde es el funtor de a ). Estos deben cumplir las siguientes condiciones (a veces llamadas condiciones de coherencia ):

Podemos reescribir estas condiciones usando los siguientes diagramas conmutativos :

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

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

La mónada del conjunto de poderes.

La mónada del conjunto de potencias es una mónada en la categoría : Para un conjunto, sea el conjunto de potencias de y, para una función, sea la función entre los conjuntos de potencias inducida al tomar imágenes directas debajo . Para cada conjunto , tenemos un mapa , que asigna a cada uno 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 monoides . De hecho, las mónadas son casos especiales de monoides, es decir, son precisamente los monoides entre los endofunctores , que están equipados con la multiplicación dada por la composición de los endofunctores.

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

Comonadas

La definición dual categórica es una definición formal de comonada (o cotriple ); Esto se puede decir rápidamente en términos de que una comonada para una categoría es una mónada para la categoría opuesta . Por lo tanto, es un functor de hacia sí mismo, con un conjunto de axiomas de cuenta y comultiplicación que surgen de invertir las flechas en todas partes de la definición que acabamos de dar.

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

Historia terminológica

La noción de mónada fue inventada por Roger Godement en 1958 con el nombre de "construcción estándar". Monad ha sido denominada "construcción de doble estándar", "triple", "monoide" y "tríada". [3] El término "mónada" es utilizado a más tardar en 1967, por Jean Bénabou . [4] [5]

Ejemplos

Identidad

El funtor de 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

Este endofunctor se ve rápidamente como una mónada, donde el mapa de unidades surge del mapa de unidades de la conjunción, y el mapa de multiplicación se construye usando el mapa de unidades de la conjunción:

De hecho, cualquier mónada se puede encontrar como un complemento explícito de funtores utilizando la categoría de Eilenberg-Moore (la categoría de -álgebras). [6]

Doble dualización

La mónada de doble dualización , para un campo fijo k surge de la conjunció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 . Kock (1970) analiza esta mónada con mucha mayor generalidad.

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 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 .

Adjunciones libres y olvidadizas

Por ejemplo, sea el funtor olvidadizo de la categoría Grupo de grupos a la categoría Conjunto de conjuntos, y sea el funtor de grupo libre de la categoría de conjuntos a la categoría de grupos. Luego queda adjunto a . En este caso, la mónada asociada toma un conjunto y devuelve el conjunto subyacente del grupo libre . El mapa unitario de esta mónada está dado por los mapas.

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

hecho de una concatenación natural o "aplanamiento" de "cadenas de cuerdas". Esto equivale a dos transformaciones naturales . El ejemplo anterior sobre grupos libres se puede generalizar a cualquier tipo de álgebra en el sentido de una variedad de álgebras del álgebra universal . Por tanto, cada tipo de álgebra 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 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 asignaciones lineales a su producto tensorial. Entonces tenemos una transformación natural correspondiente a la incorporación de en su álgebra tensorial , y una transformación natural correspondiente al mapa de a obtenido simplemente expandiendo todos los productos tensoriales.

Mónadas de codensidad

En condiciones suaves, los functores 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 de conjuntos que envía cualquier conjunto X al conjunto de ultrafiltros de X . Este y otros ejemplos similares se analizan en Leinster (2013).

Mónadas utilizadas en 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 imperativos , y se utilizan construcciones análogas en la programación funcional.

La mónada tal vez

El endofunctor de la mónada quizás o parcialidad añade un punto disjunto: [7]

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 el de .

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

La mónada estatal

Dado un conjunto , el endofunctor de la mónada estatal 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 ambiental.

Dado un conjunto , el endofunctor de la mónada lectora o ambiental asigna cada conjunto al conjunto de funciones . Así, el endofunctor de esta mónada es exactamente el funtor 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 ambiental modela cálculos con acceso a algunos datos de solo lectura.

La lista y el conjunto de mónadas.

La lista o mónada de no determinismo 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 de potencias covariante también se conoce como mónada de conjuntos 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 sobre los que actúa de una manera que sea compatible con la unidad y multiplicación de la mónada. Más formalmente, un -álgebra es un objeto de junto con una flecha de llamado mapa de estructura del álgebra tal que los diagramas

desplazarse.

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

viaja. -Las álgebras forman una categoría llamada categoría de Eilenberg-Moore y denotada por .

Ejemplos

Álgebras sobre la mónada de grupo libre

Por ejemplo, para la mónada de grupo libre analizada anteriormente, un -álgebra es un conjunto y un mapa del grupo libre generado por sujeto a condiciones de asociatividad y unidad. Semejante estructura equivale a decir que es un grupo en sí mismo.

Álgebras sobre la mónada de distribución.

Otro ejemplo es la mónada de distribución de 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 notación constructora de conjuntos, este es el conjunto

conjuntos convexos[8]

Álgebras sobre la mónada simétrica

Otro ejemplo útil de mónada es el funtor de álgebra simétrico en la categoría de módulos para un anillo conmutativo .

tensoriales simétricas

Álgebras conmutativas en espectros de anillos E-infinito

Existe una construcción análoga para álgebras conmutativas [9] pg 113 que proporciona álgebras conmutativas para un álgebra conmutativa . Si es la categoría de -módulos, entonces el funtor es la mónada dada por

Mónadas y adjunciones

Como se mencionó anteriormente, cualquier adjunción da lugar a una mónada. Por el contrario, cada mónada surge de alguna adjunción, a saber, la adjunción libre-olvidable.

cuyo adjunto izquierdo envía un objeto X a la T -álgebra libre T ( X ). Sin embargo, generalmente hay varios complementos distintos que dan lugar a una mónada: sea la categoría cuyos objetos son los complementos tales que y cuyas flechas son los morfismos de los complementos que son la identidad en . Entonces, la conjunción libre-olvidable 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 que consta únicamente de T -álgebras libres , es decir, T -álgebras de la forma para algún objeto x de C.

Adjunciones monádicas

Dada cualquier conjunción con la mónada T asociada , el funtor G se puede factorizar como

es decir, G ( Y ) puede estar dotado naturalmente de una estructura de álgebra T para cualquier Y en D. La adjunción se denomina adjunción monádica si el primer functor produce una equivalencia de categorías entre D y la categoría de Eilenberg-Moore . [10] Por extensión, se dice que un functor es monádico si tiene un adjunto izquierdo que forma una conjunción monádica. Por ejemplo, la conjunción libre y olvidadiza 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 conjunción es monádica permite reconstruir objetos en D a partir de objetos en C y la acción T.

Teorema de la monadicidad de Beck

El teorema de monádica de Beck da 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ádico si es conservador (o G refleja isomorfismos, es decir, un morfismo en D es un isomorfismo si y sólo 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 conservador ya que existen mapas biyectivos continuos (entre espacios no compactos o no de Hausdorff) que no logran ser homeomorfismos . Por tanto, este funtor olvidadizo no es monádico. [11] La versión dual del teorema de Beck, que caracteriza las conjunciones comonádicas, es relevante en diferentes campos como la teoría del topos y temas de geometría algebraica relacionados con la descendencia . Un primer ejemplo de adjunción comonádica es la adjunción

para un homomorfismo de anillo entre anillos conmutativos. Esta conjunción es comonádica, según el teorema de Beck, si y sólo si B es fielmente plano como un módulo A. Permite así descender los módulos B , dotados de un punto de referencia de descenso (es decir, una acción de la comonada dada por la conjunción) hasta los módulos A. La teoría resultante del descenso fielmente plano se aplica ampliamente en geometría algebraica.

Usos

Las mónadas se utilizan en programación funcional para expresar tipos de cálculo secuencial (a veces con efectos secundarios). Consulte mónadas en programación funcional y el módulo b de Wikibook, más orientado matemáticamente: Haskell/Teoría de categorías.

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

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

Generalización

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

Ver también

Referencias

  1. ^ 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.
  2. ^ Klin; Salamanca (2018), "El conjunto de potencias covariante iterado no es una mónada", Notas electrónicas en informática teórica , 341 : 261–276, doi : 10.1016/j.entcs.2018.11.013
  3. ^ MacLane 1978, pág. 138.
  4. ^ 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.
  5. ^ "RE: Mónadas". Gmane . 2009-04-04. Archivado desde el original el 26 de marzo de 2015.
  6. ^ Riehl, Emily . "Teoría de categorías en contexto" (PDF) . pag. 162. Archivado (PDF) desde el original el 5 de abril de 2021.
  7. ^ Riehl 2017, pag. 155.
  8. ^ Świrszcz, T. (1974), "Functores monádicos y convexidad", Bull. Acad. Polon. Ciencia. Ser. Ciencia. Matemáticas. Astron. Física. , 22 : 39–42, SEÑOR  0390019, Jacobs, Bart (2010), "Convexidad, dualidad y efectos", Informática teórica , IFIP Advances in Information and Communication Technology, vol. 323, págs. 1 a 19, doi : 10.1007/978-3-642-15240-5_1 , ISBN 978-3-642-15239-9
  9. ^ Basterra, M. (15 de diciembre de 1999). "Cohomología de André-Quillen de álgebras S conmutativas". Revista de Álgebra Pura y Aplicada . 144 (2): 111-143. doi : 10.1016/S0022-4049(98)00051-6 . ISSN  0022-4049.
  10. ^ MacLane (1978) utiliza una definición más sólida, donde las dos categorías son isomórficas en lugar de equivalentes.
  11. ^ MacLane (1978, §§VI.3, VI.9)
  12. ^ Wadler, Philip (1993). "Mónadas para programación funcional". En Broy, Manfred (ed.). Cálculos de diseño de programas . Serie ASI de la OTAN. 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."Moggi ha aplicado el concepto de mónada, que surge de la teoría de categorías, para estructurar la semántica denotacional de los lenguajes de programación".
  13. ^ Mulry, Philip S. (1 de enero de 1998). "Mónadas en Semántica". Apuntes Electrónicos en Informática Teórica . Talleres conjuntos entre 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.

Otras lecturas

enlaces externos