Saltar para o conteúdo

Mónade (teoria das categorias)

Origem: Wikipédia, a enciclopédia livre.
 Nota: Se procura por outros significados das palavras Mónade ou Mônada, veja Mônada (desambiguação).

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]

Uma mônade numa categoria C consiste de um functor T : CC, uma transformação natural η : 1 ⇒ T, chamada unidade, e uma transformação natural μ : T2T, 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 xC 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 : xx′ 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]

  • Toda adjunção (F, G, η, ε) : CD determina uma mônade, com endofunctor T = GF : CC, unidade η : 1 ⇒ T (isto é, a mesma que a unidade da adjunção) e multiplicação μ = GεF : T2T. 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 AnA, 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 categoria CT, neste caso, é isomorfa à categoria .[nota 1][7][5]
  • Quando C é uma pré-ordem, uma mônada é uma função crescente T : CC satisfazendo xT(x), T(T(x)) ≤ T(x), para cada xC; 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)) = (xy, 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) : CCT,

em que e ainda mais esta adjunção induz a mônada (T, η, μ) (isto é, T = GTFT, η = η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 : aTbT em correspondência biunívoca com os morfismos f : aT(b), com identidades e composições

Há também uma adjunção

(FT, GT, ηT, εT) : CCT,

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, η, ε) : CD, denotando-se por (T, η, μ) a mônada associada, há único functor L : CTD tal que GL = GT e LFT = F, e há único functor K : DCT tal que GTK = G e KF = 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, η, ε) : CD (que é chamada uma adjunção monádica) para a qual o functor de comparação K : DCT é uma equivalência de categorias (respectivamente um isomorfismo de categorias).[9][10]

Teorema de monadicidade

[editar | editar código-fonte]

Dado functor G : DC, um coequalizador que G-cinde para uma dupla de morfismos paralelos f, g : xy em D é um coequalizador que cinde para a dupla G(f), G(g) : G(x) → G(y). O functor G : DC é 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 kf = kg 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, η, ε) : CD, o functor GT : CTC 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 : DC é 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 : ab é dita ser reflexiva quando existe s : ba tal que fs = 1b = gs. Então, dado functor G : DC, 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 : SetopSet de conjuntos de partes e pré-imagens.[14]
  • A inclusão DC 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 : CTC reflete isomorfismos e estritamente cria todos os limites existentes em C.[nota 2]
  • O functor GT : CTC 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

  1. Acima, denota-se por e as inclusões no coproduto.
  2. Quando G : DC é monádico mas não estritamente monádico, G cria limites existentes em C, mas é possível que não os crie estritamente, diferentemente de GT.

Referências

  1. (Riehl, §5.5, rodapé): "'Triple' is an antiquated synonym for 'monad'."
  2. «Monad – nLab». Consultado em 27 de fevereiro de 2020 
  3. 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 
  4. a b (Mac Lane, §VI.1)
  5. a b c d e (Riehl, §5.2)
  6. a b c d (Mac Lane, §VI.2)
  7. (Riehl, §5.1)
  8. a b (Mac Lane, §VI.5)
  9. (Mac Lane, §VI.3)
  10. a b (Riehl, §5.3)
  11. «Monadicity theorem – nLab». Consultado em 6 de março de 2020 
  12. a b (Riehl, §5.4)
  13. a b c (Mac Lane, §VI.7)
  14. a b (Riehl, §5.5)
  15. (BARR & WELLS 2005, §3.3)
  16. (Mac Lane, §VI.8, §VI.9)
  17. (RIEHL 2014, §5.6)


Ícone de esboço Este artigo sobre matemática é um esboço. Você pode ajudar a Wikipédia expandindo-o.