Mónade (teoria das categorias)
Na teoria das categorias, uma mónade, mônade ou mônada (ou tripla, nome porém menos usado[1]) é um endofunctor, junto a duas transformações naturais, satisfazendo regras formalmente análogas às de um monoide. Aplicações do conceito incluem a determinação de equivalências com as categorias de álgebras sobre mônades, sendo centrais na álgebra universal,[2] além do uso na ciência da computação como modelo conveniente para, por exemplo, a manipulação de estado global e o não determinismo.[3]
Definição
Uma mônade numa categoria Predefinição:Math consiste de um functor Predefinição:Math, uma transformação natural Predefinição:Math, chamada unidade, e uma transformação natural Predefinição:Math, chamada multiplicação, tais que os diagramas abaixo comutam:[4]
| Diagrama do elemento neutro | Diagrama da associatividade |
|---|---|
Álgebra sobre mônada
Dada mônada Predefinição:Math na categoria Predefinição:Math, uma Predefinição:Math-álgebra é uma dupla consistindo de objeto Predefinição:Math e morfismo Predefinição:Math tais que os diagramas abaixo comutam:
| Compatibilidade com a unidade | Compatibilidade com a multiplicação |
|---|---|
Um morfismo Predefinição:Math entre Predefinição:Math-álgebras é um morfismo Predefinição:Math em Predefinição:Math tal que o diagrama abaixo comuta:

Assim, as Predefinição:Math-álgebras formam uma categoria, chamada categoria de Eilenberg–Moore para Predefinição:Math, e denotada por Predefinição:Math.[5][6]
Exemplos
- Toda adjunção Predefinição:Math determina uma mônade, com endofunctor Predefinição:Math, unidade Predefinição:Math (isto é, a mesma que a unidade da adjunção) e multiplicação Predefinição:Math. A seguir, exemplos de mônades provenientes de adjunções:
- A adjunção entre o functor livre e o functor "esquecidiço" , em que denota a categoria de monoides, origina a mônade de lista (como chamada na ciência da computação), na qual
- , isto é, o conjunto de sequências finitas de elementos de ,
- , a sequência de um elemento,
- e pode ser descrito por concatenação de sequências.
- As Predefinição:Math-álgebras correspondem biunivocamente a monoides, de modo que o morfismo Predefinição:Math corresponde à família de funções Predefinição:Math, levando uma sequência Predefinição:Math ao produto Predefinição:Math (que será a identidade se Predefinição:Math).
- Denotando-se a categoria dos conjuntos com um dos elementos selecionado, chamado "base", e com morfismos as funções de conjuntos que levam uma base a outra base, há a adjunção entre e , onde (adiciona uma base) e (esquece qual é a base). A mônade correspondente é chamada de mônade "talvez", na qual:
- , uma união disjunta com um novo elemento,
- ,
- , .
- A categoria Predefinição:Math, neste caso, é isomorfa à categoria .[nota 1][7][5]
- A adjunção entre o functor livre e o functor "esquecidiço" , em que denota a categoria de monoides, origina a mônade de lista (como chamada na ciência da computação), na qual
- Quando Predefinição:Math é uma pré-ordem, uma mônada é uma função crescente Predefinição:Math satisfazendo Predefinição:Math, Predefinição:Math, para cada Predefinição:Math; no caso em que a ordem é parcial, Predefinição:Math é chamado operador de fecho, e as Predefinição:Math-álgebras correspondem aos elementos fechados (isto é, aqueles satisfazendo Predefinição:Math).[4][6]
- Para cada monoide Predefinição:Math, há uma mônada na categoria dos conjuntos, na qual Predefinição:Math, Predefinição:Math e Predefinição:Math. Uma Predefinição:Math-álgebra é uma ação de monoide.[6]
Adjunções a partir de mônadas
Dada mônada Predefinição:Math em Predefinição:Math, há uma adjunção
em que e ainda mais esta adjunção induz a mônada Predefinição:Math (isto é, Predefinição:Math, Predefinição:Math e Predefinição:Math).[6]
A Predefinição:Math-álgebra Predefinição:Math, aparecendo na definição de Predefinição:Math, é chamada Predefinição:Math-álgebra livre.[5]
Categoria de Kleisli
A categoria de Kleisli Predefinição:Math para uma mônada Predefinição:Math é definida por:
- ter os seus objetos Predefinição:Math em correspondência biunívoca com os objetos Predefinição:Math de Predefinição:Math;
- ter os seus morfismos Predefinição:Math em correspondência biunívoca com os morfismos Predefinição:Math, com identidades e composições
Há também uma adjunção
em que e ainda mais esta adjunção induz a mesma mônada.[8][5]
Functor monádico
A categoria de Eilenberg–Moore e a categoria de Kleisli satisfazem a propriedade universal a seguir. Para cada adjunção Predefinição:Math, denotando-se por Predefinição:Math a mônada associada, há único functor Predefinição:Math tal que Predefinição:Math e Predefinição:Math, e há único functor Predefinição:Math tal que Predefinição:Math e Predefinição:Math; com efeito, eles têm definições:[8][5]
Um functor Predefinição:Math é dito monádico (respectivamente estritamente monádico) se e só se faz parte de uma adjunção Predefinição:Math (que é chamada uma adjunção monádica) para a qual o functor de comparação Predefinição:Math é uma equivalência de categorias (respectivamente um isomorfismo de categorias).[9][10]
Teorema de monadicidade
Dado functor Predefinição:Math, um coequalizador que Predefinição:Math-cinde para uma dupla de morfismos paralelos Predefinição:Math em Predefinição:Math é um coequalizador que cinde para a dupla Predefinição:Math. O functor Predefinição:Math é dito
- estritamente criar coequalizadores que Predefinição:Math-cindem quando, sempre que Predefinição:Math é coequalizador que cinde para uma dupla Predefinição:Math, existe único morfismo Predefinição:Math em Predefinição:Math tal que Predefinição:Math, e ainda mais este Predefinição:Math é coequalizador para Predefinição:Math (não necessariamente que cinde).
- criar coequalizadores que Predefinição:Math-cindem quando, sempre que Predefinição:Math tem coequalizador que Predefinição:Math-cinde, Predefinição:Math tem coequalizador (não necessariamente que cinde) preservado por Predefinição:Math, e ainda mais, sempre que Predefinição:Math satisfaz Predefinição:Math e é tal que Predefinição:Math é coequalizador que cinde para Predefinição:Math, então Predefinição:Math deve ser coequalizador para Predefinição:Math (não necessariamente que cinde).[11][12]
(Saunders Mac Lane usa o termo criar em vez de estritamente criar.[13])
Denotando-se por Predefinição:Math a mônada associada a uma adjunção Predefinição:Math, o functor Predefinição:Math estritamente cria coequalizadores que Predefinição:Math-cindem. Como, para cada Predefinição:Math-álgebra Predefinição:Math, o diagrama a seguir é coequalizador que cindetem-se o diagrama de coequalizador em Predefinição:Math chamado de presentação canônica da Predefinição:Math-álgebra Predefinição:Math; ela generaliza, por exemplo, a representação de um grupo como um quociente de um grupo livre.[12][13]
O teorema de monadicidade de Beck diz que um functor adjunto direito Predefinição:Math é monádico (respectivamente estritamente monádico) se e só se cria (respectivamente estritamente cria) coequalizadores que Predefinição:Math-cindem.[14][13]
Há uma versão "reflexiva" do teorema de monadicidade. Uma dupla de morfismos Predefinição:Math é dita ser reflexiva quando existe Predefinição:Math tal que Predefinição:Math. Então, dado functor Predefinição:Math, se
- Predefinição:Math é functor adjunto direito,
- Predefinição:Math reflete isomorfismos (isto é, Predefinição:Math é isomorfismo sempre que Predefinição:Math é isomorfismo),
- e Predefinição:Math admite coequalizadores de duplas reflexivas que Predefinição:Math-cindem e Predefinição:Math preserva esses coequalizadores,
então o functor Predefinição:Math é monádico.[15]
O resultado permite demonstrar que os seguintes functores são monádicos:
- Os functores "esquecidiços" da categoria de monoides, grupos, anéis, e outras estruturas algébricas, para a categoria dos conjuntos.
- O functor "esquecidiço" da categoria de espaços compactos de Hausdorff para a categoria dos conjuntos.[16]
- O functor Predefinição:Math de conjuntos de partes e pré-imagens.[14]
- A inclusão Predefinição:Math de uma subcategoria reflexiva (plena) Predefinição:Math em Predefinição:Math.[10]
A utilidade do teorema de Beck é que uma equivalência entre Predefinição:Math e Predefinição:Math faz com que essas duas categorias compartilhem algumas propriedades. Por exemplo:
- O functor Predefinição:Math reflete isomorfismos e estritamente cria todos os limites existentes em Predefinição:Math.[nota 2]
- O functor Predefinição:Math estritamente cria todos os colimites existentes em Predefinição:Math que são preservados por Predefinição:Math e Predefinição:Math.
- Se Predefinição:Math é cocompleta e Predefinição:Math admite coequalizadores, então Predefinição:Math também é cocompleta.[17]
Predefinição:Notas Predefinição:Referências
Bibliografia
Predefinição:Teoria das categorias
Predefinição:Esboço-matemática
- ↑ Predefinição:Harv: "'Triple' is an antiquated synonym for 'monad'."
- ↑ Predefinição:Citar web
- ↑ Predefinição:Citar periódico
- ↑ 4,0 4,1 Predefinição:Harv
- ↑ 5,0 5,1 5,2 5,3 5,4 Predefinição:Harv
- ↑ 6,0 6,1 6,2 6,3 Predefinição:Harv
- ↑ Predefinição:Harv
- ↑ 8,0 8,1 Predefinição:Harv
- ↑ Predefinição:Harv
- ↑ 10,0 10,1 Predefinição:Harv
- ↑ Predefinição:Citar web
- ↑ 12,0 12,1 Predefinição:Harv
- ↑ 13,0 13,1 13,2 Predefinição:Harv
- ↑ 14,0 14,1 Predefinição:Harv
- ↑ Predefinição:Harv
- ↑ Predefinição:Harv
- ↑ Predefinição:Harv
Erro de citação: Existem etiquetas <ref> para um grupo chamado "nota", mas não foi encontrada nenhuma etiqueta <references group="nota"/> correspondente