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
[editar | editar código-fonte]Uma mônade numa categoria C consiste de um functor T : C → C, uma transformação natural η : 1 ⇒ T, chamada unidade, e uma transformação natural μ : T2 ⇒ T, chamada multiplicação, tais que os diagramas abaixo comutam:[4]
Diagrama do elemento neutro | Diagrama da associatividade |
---|---|
Álgebra sobre mônada
[editar | editar código-fonte]Dada mônada (T, η, μ) na categoria C, uma T-álgebra é uma dupla consistindo de objeto x ∈ C e morfismo h : T(x) → x tais que os diagramas abaixo comutam:
Compatibilidade com a unidade | Compatibilidade com a multiplicação |
---|---|
Um morfismo (x, h) → (x′, h′) entre T-álgebras é um morfismo f : x → x′ em C tal que o diagrama abaixo comuta:
Assim, as T-álgebras formam uma categoria, chamada categoria de Eilenberg–Moore para T, e denotada por CT.[5][6]
Exemplos
[editar | editar código-fonte]- Toda adjunção (F, G, η, ε) : C ⇀ D determina uma mônade, com endofunctor T = G ∘ F : C → C, unidade η : 1 ⇒ T (isto é, a mesma que a unidade da adjunção) e multiplicação μ = GεF : T2 ⇒ T. 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 T-álgebras correspondem biunivocamente a monoides, de modo que o morfismo T(A) → A corresponde à família de funções An → A, levando uma sequência (a1, …, an) ao produto a1 ∘ … ∘ an (que será a identidade se n = 0).
- 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 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 C é uma pré-ordem, uma mônada é uma função crescente T : C → C satisfazendo x ≤ T(x), T(T(x)) ≤ T(x), para cada x ∈ C; no caso em que a ordem é parcial, T é chamado operador de fecho, e as T-álgebras correspondem aos elementos fechados (isto é, aqueles satisfazendo T(x) = x).[4][6]
- Para cada monoide (M, e, ∘), há uma mônada na categoria dos conjuntos, na qual T(A) = M × A, ηA(a) = (e, a) e μA(x, (y, a)) = (x ∘ y, a). Uma T-álgebra é uma ação de monoide.[6]
Adjunções a partir de mônadas
[editar | editar código-fonte]Dada mônada (T, η, μ) em C, há uma adjunção
- (FT, GT, ηT, εT) : C ⇀ CT,
em que e ainda mais esta adjunção induz a mônada (T, η, μ) (isto é, T = GT ∘ FT, η = ηT e μ = GT εT FT).[6]
A T-álgebra (T(x), μx), aparecendo na definição de FT, é chamada T-álgebra livre.[5]
Categoria de Kleisli
[editar | editar código-fonte]A categoria de Kleisli CT para uma mônada (T, η, μ) é definida por:
- ter os seus objetos aT em correspondência biunívoca com os objetos a de C;
- ter os seus morfismos fT : aT → bT em correspondência biunívoca com os morfismos f : a → T(b), com identidades e composições
Há também uma adjunção
- (FT, GT, ηT, εT) : C ⇀ CT,
em que e ainda mais esta adjunção induz a mesma mônada.[8][5]
Functor monádico
[editar | editar código-fonte]A categoria de Eilenberg–Moore e a categoria de Kleisli satisfazem a propriedade universal a seguir. Para cada adjunção (F, G, η, ε) : C ⇀ D, denotando-se por (T, η, μ) a mônada associada, há único functor L : CT → D tal que G ∘ L = GT e L ∘ FT = F, e há único functor K : D → CT tal que GT ∘ K = G e K ∘ F = FT; com efeito, eles têm definições:[8][5]
Um functor G é dito monádico (respectivamente estritamente monádico) se e só se faz parte de uma adjunção (F, G, η, ε) : C ⇀ D (que é chamada uma adjunção monádica) para a qual o functor de comparação K : D → CT é uma equivalência de categorias (respectivamente um isomorfismo de categorias).[9][10]
Teorema de monadicidade
[editar | editar código-fonte]Dado functor G : D → C, um coequalizador que G-cinde para uma dupla de morfismos paralelos f, g : x → y em D é um coequalizador que cinde para a dupla G(f), G(g) : G(x) → G(y). O functor G : D → C é dito
- estritamente criar coequalizadores que G-cindem quando, sempre que h é coequalizador que cinde para uma dupla G(f), G(g), existe único morfismo k em D tal que G(k) = h, e ainda mais este k é coequalizador para f, g (não necessariamente que cinde).
- criar coequalizadores que G-cindem quando, sempre que f, g tem coequalizador que G-cinde, f, g tem coequalizador (não necessariamente que cinde) preservado por G, e ainda mais, sempre que k satisfaz k ∘ f = k ∘ g e é tal que G(k) é coequalizador que cinde para G(f), G(g), então k deve ser coequalizador para f, g (não necessariamente que cinde).[11][12]
(Saunders Mac Lane usa o termo criar em vez de estritamente criar.[13])
Denotando-se por (T, η, μ) a mônada associada a uma adjunção (F, G, η, ε) : C ⇀ D, o functor GT : CT → C estritamente cria coequalizadores que GT-cindem. Como, para cada T-álgebra (a, h : T(a) → a), o diagrama a seguir é coequalizador que cindetem-se o diagrama de coequalizador em CT chamado de presentação canônica da T-álgebra (a, h : T(a) → a); 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 G : D → C é monádico (respectivamente estritamente monádico) se e só se cria (respectivamente estritamente cria) coequalizadores que G-cindem.[14][13]
Há uma versão "reflexiva" do teorema de monadicidade. Uma dupla de morfismos f, g : a → b é dita ser reflexiva quando existe s : b → a tal que f ∘ s = 1b = g ∘ s. Então, dado functor G : D → C, se
- G é functor adjunto direito,
- G reflete isomorfismos (isto é, f é isomorfismo sempre que G(f) é isomorfismo),
- e D admite coequalizadores de duplas reflexivas que G-cindem e G preserva esses coequalizadores,
então o functor G é 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 P : Setop → Set de conjuntos de partes e pré-imagens.[14]
- A inclusão D → C de uma subcategoria reflexiva (plena) D em C.[10]
A utilidade do teorema de Beck é que uma equivalência entre D e CT faz com que essas duas categorias compartilhem algumas propriedades. Por exemplo:
- O functor GT : CT → C reflete isomorfismos e estritamente cria todos os limites existentes em C.[nota 2]
- O functor GT : CT → C estritamente cria todos os colimites existentes em C que são preservados por T e T2.
- Se C é cocompleta e CT admite coequalizadores, então CT também é cocompleta.[17]
Notas
Referências
- ↑ (Riehl, §5.5, rodapé): "'Triple' is an antiquated synonym for 'monad'."
- ↑ «Monad – nLab». Consultado em 27 de fevereiro de 2020
- ↑ Wadler, Philip (agosto de 2001). «Monads for functional programming» (PDF). Departamento de ciência da computação, Universidade de Glásgua. Consultado em 28 de fevereiro de 2020
- ↑ a b (Mac Lane, §VI.1)
- ↑ a b c d e (Riehl, §5.2)
- ↑ a b c d (Mac Lane, §VI.2)
- ↑ (Riehl, §5.1)
- ↑ a b (Mac Lane, §VI.5)
- ↑ (Mac Lane, §VI.3)
- ↑ a b (Riehl, §5.3)
- ↑ «Monadicity theorem – nLab». Consultado em 6 de março de 2020
- ↑ a b (Riehl, §5.4)
- ↑ a b c (Mac Lane, §VI.7)
- ↑ a b (Riehl, §5.5)
- ↑ (BARR & WELLS 2005, §3.3)
- ↑ (Mac Lane, §VI.8, §VI.9)
- ↑ (RIEHL 2014, §5.6)
Bibliografia
[editar | editar código-fonte]- RIEHL, Emily (2014). Category Theory in Context. [S.l.: s.n.]
- MAC LANE, Saunders (1998). Categories for the Working Mathematician. Col: Graduate Texts in Mathematics 2 ed. [S.l.]: Springer. ISBN 0-387-98403-8
- BARR, Michael; WELLS, Charles (2005), «Toposes, Triples and Theories», Reprints in Theory and Applications of Categories