# Categoria (teoria das categorias)

Na matemática, uma categoria é um conceito similar a um grafo direcionado, incluindo setas entre objetos, entre elas havendo identidades e uma operação de composição, com propriedades análogas à composição de funções.
A teoria das categorias é o estudo de propriedades e classificações de categorias e conceitos relacionados. Ela provê uma linguagem que simplifica conceitos e demonstrações em várias áreas de matemática, possibilitando delinear e separar os resultados gerais dos que se aplicam a uma área específica.
Categorias foram introduzidas por Samuel Eilenberg e Saunders Mac Lane com o objetivo de dar um significado rigoroso ao conceito de "canônico" ou "natural".

## Definição

Uma categoria C consiste nos seguintes elementos:
* Uma coleção de objetos, coleção esta denotada por
    ob C ou, simplesmente, C.
* Para cada dupla a, b de objetos, uma coleção de triplas (a, b, f), chamadas setas (ou morfismos) do domínio (ou origem) a até o contradomínio (ou destino) b, para as quais são usadas as notações
    f : a → b, $a{\xrightarrow {f}}b$, (a, b, f) ∈ hom$_C$(a, b) (ou brevemente f ∈ hom$_C$(a, b)), f ∈ C(a, b), f ∈ mor$_C$(a, b) ou dom(f) = a, cod(f) = b.
* Para cada objeto a, uma seta de a até a, chamada identidade, e denotada por id$_a$ ou 1$_a$.
* Para cada tripla de objetos a, b, c, uma operação de composição, levando
    cada seta f : a → b e cada seta g : b → c a uma seta g ∘ f : a → c.
* Devem ser satisfeitas as igualdades:
    (Lei da identidade) Para todos objetos a, b e todas as setas f : a → b, 1$_b$ ∘ f = f = f ∘ 1$_a$.
    (Associatividade) Para todos objetos a, b, c, d e todas as setas f : a → b, g : b → c e h : c → d, (h ∘ g) ∘ f = h ∘ (g ∘ f).
Categorias definidas têm, comumente, nome escrito em negrito, como Cat, ou sem serifas, como ${\mathsf {Cat}}$. Nota-se que, como definido acima, hom(a, b) ∩ hom(c, d) = ∅ a menos que a = c e b = d.

### Exemplos de categorias

* A categoria dos conjuntos, denotada por Set (inglês set) ou por Ens (francês ensemble), tem como coleção de objetos a coleção de conjuntos pequenos, e, para cada dois objetos A, B seus, as setas (A, B, f) serão precisamente as funções de A a B (etiquetadas com seu domínio e contradomínio), sendo que a identidade e a composição correspondem às funções identidades e à composição de funções, respectivamente.
* A categoria dos grupos, denotada por Grp, tem como coleção de objetos a coleção de grupos (G, ⋅) para os quais G é conjunto pequeno, e as suas setas correspondem aos homomorfismos de grupos. De maneira similar, há a categoria dos monoides Mon, dos grupos abelianos Ab, dos anéis Anel, dos módulos R-Mod etc.
* A categoria dos espaços topológicos, denotada por Top, tem como objetos os espaços topológicos (X, τ) para os quais X é conjunto pequeno, e as suas setas correspondem às funções contínuas.
* Para cada monoide (M, ⋅), há uma categoria B M, com um único objeto, e cujas setas correspondem biunivocamente aos elementos de M, com seta identidade sendo o elemento neutro de M, e composição dada pela operação ⋅.
* Para cada pré-ordem (P, ≤), há uma categoria, cujos objetos são elementos de P, e tal que, para objetos a, b, há exatamente um morfismo a → b se a ≤ b, e nenhum se ¬ (a ≤ b). A existência de identidades vem de que a ≤ a, e a existência de composições segue da transitividade.
* Para cada conjunto A, há uma categoria discreta, cujos objetos são precisamente os elementos de A, e na qual os únicos morfismos são as identidades.
* Para cada grafo (V, E), há a categoria livre, cujos objetos são os vértices em V, e, dados objetos a, b, os morfismos a → b correspondem precisamente aos caminhos formados pelas arestas em E, iniciando em a e terminando em b; as identidades correspondem a caminhos de zero arestas, e as composições correspondem a concatenações de caminhos.

## Categorias pequenas e grandes

Na teoria de conjuntos (mais precisamente axiomas de Zermelo-Fraenkel), não há conjunto incluindo todos os conjuntos. Similarmente, não há categoria incluindo todos os conjuntos (ou grupos, espaços topológicos etc.) Isso pode ser resolvido, usando universos de Grothendieck. Dado $U$ universo, chame um conjunto de ($U$-)pequeno se ele for membro de $U$. Então, $U{\text{-}}{\mathsf {Set}}$ será a categoria dos conjuntos pequenos. Dado o axioma de universos, temos uma sequência: $U_{0}{\text{-}}{\mathsf {Set}}\subsetneq U_{1}{\text{-}}{\mathsf {Set}}\subsetneq U_{2}{\text{-}}{\mathsf {Set}}\subsetneq \cdots$ em que $U_{0}\in U_{1}\in U_{2}\in \cdots$ são universos.
Uma categoria é ($U$-)pequena quando o conjunto de objetos e todos os conjuntos de setas hom(a, b) são ($U$-)pequenos. Notar que $U{\text{-}}{\mathsf {Set}}$ é assim uma categoria $U$-grande.
Na prática, o prefixo "$U$-" é omitido.
Esta, porém, não é a única forma de resolver esse problemas lógicos. Adámek, Herrlich e Strecker, por exemplo, supõem somente a existência de conjuntos, classes e conglomerados (que correspondem, respectivamente, a elementos de um universo, subcoleções do universo e coleções de subcoleções do universo); nesse contexto, os hom são sempre conjuntos (não podem ser classes quaisquer), e uma categoria pequena é definida como uma categoria cuja coleção de objetos é um conjunto.

## Categoria oposta

Para cada categoria $C$, temos a categoria oposta (ou dual) $C^{\mathrm {op} }$, obtida invertendo a direção das setas de $C$. Mais precisamente, $C^{\mathrm {op} }$ tem os mesmos objetos que $C$, e cada morfismo $b\to a$ em $C^{\mathrm {op} }$ é denotado por $f^{\mathrm {op} }:b\to a$ para exatamente um morfismo $f:a\to b$; identidades são $(1_{a})^{\mathrm {op} }$, e composição é definida por $g^{\mathrm {op} }\circ f^{\mathrm {op} }=(f\circ g)^{\mathrm {op} }$ para setas de domínio e contradomínio adequados.
A cada teorema do formato "para toda categoria $C$, $\phi (C)$ é verdade", há o costume de expressar o caso particular "$\phi (C^{\mathrm {op} })$" sem envolver a definição de categoria oposta (por exemplo, trocando "domínio" com "contradomínio", "monomorfismo" com "epimorfismo" etc.). Isso pode deixar mais fácil de encontrar demonstrações de outros resultados.

## Produto de categorias

A categoria ${\mathsf {Cat}}$ das categorias pequenas (e functores como morfismos) tem produtos binários. Eis uma construção explícita. Dadas categorias $B,C$, os objetos de $B\times C$ são as duplas $(b,c)$, com $b$ objeto de $B$ e $c$ objeto de $C$, e os morfismos $(b,c)\to (b',c')$ são as duplas de morfismos $f:b\to b'$ e $g:c\to c'$. A identidade de $(b,c)$ é $(1_{b},1_{c})$, e composições são dadas por: $(f',g')\circ (f,g)=(f'\circ f,g'\circ g)$

## Tipos de morfismos

Um morfismo f : a → b numa categoria C é chamado:
* um monomorfismo quando é cancelável à esquerda, isto é,
    para todo objeto c e morfismos g, h : c → a satisfazendo f ∘ g = f ∘ h, vale g = h.
* um epimorfismo quando é cancelável à direita, isto é,
    para todo objeto c e morfismos g, h : b → c satisfazendo g ∘ f = h ∘ f, vale g = h.
* um bimorfismo quando é um monomorfismo e um epimorfismo.
* uma seção quando é um inverso direito, isto é,
    existe g : b → a tal que g ∘ f = 1$_a$.
* uma retração quando é um inverso esquerdo, isto é,
    existe g : b → a tal que f ∘ g = 1$_b$.
* um endomorfismo quando a = b.
* um isomorfismo quando é um inverso, isto é,
    existe g : b → a tal que g ∘ f = 1$_a$ e f ∘ g = 1$_b$.
* um automorfismo quando é um isomorfismo e um endomorfismo.
* um idempotente quando a = b e f ∘ f = f.
* um idempotente que cinde quando a = b e
    há objeto c e morfismos g : a → c e h : c → a tais que f = h ∘ g e g ∘ h = 1$_c$.