Se você é um leitor fiel dos PETiscos, já deve ter topado com categorias alguma vez. Aqui, veremos uma categoria \(\mathcal{C} \) como algo formado por objetos (\(A,B,C,…\) ) e flechas (\(f,g,h,…\)) tais que:
Cada flecha \(f \) possui um objeto de partida \(dom(f) \) e um de chegada \(cod(f) \) (por exemplo, escrevemos \(f: A \longrightarrow B\) para indicar que o domínio de \(f \) é \(A \) e seu contradomínio é \(B \));
Se duas flechas \(f,g \) são tais que \(cod(f)=dom(g) \), então está definida uma flecha \(g \circ f: dom(f) \longrightarrow cod(g)\) chamada composta de \(g \) com \(f \);
Cada objeto \(A \) possui uma flecha identidade \(1_{A} \);
Se \(f,g,h \) são flechas tais que estão definidas \(h \circ g \) e \(g \circ f \), então vale \(h \circ (g \circ f) = (h \circ g) \circ f\).
A flecha identidade de um objeto, quando puder ser composta com uma flecha, age como uma identidade para tal flecha (por exemplo, se escrevemos \(f: A \longrightarrow B\), então vale \(f \circ 1_{A}=f=1_{B} \circ f \)).
Se você consegue pensar em qualquer coisa que contenha esses dados, parabéns :D Você encontrou uma categoria. Uns bons exemplos são, na verdade, velhos conhecidos: a categoria \( \mathbf{Set} \) em que os objetos são todos os conjuntos e as flechas são funções entre conjuntos, a categoria \( \mathbf{Grp} \) em que os objetos são todos os grupos e as flechas são homomorfismos de grupo, e a categoria \(\mathbf{Vect}_{\mathbb{R}} \) em que os objetos são todos os espaços vetoriais reais e as flechas são transformações lineares entre esses espaços vetoriais.
Agora, uma das coisas que fazem da Teoria de Categorias uma coisa tão legal é o fato de podermos passar de uma categoria para outra, transitar entre elas… Isso nos é permitido por meio dos “funtores”. A rigor, se \(\mathcal{A}, \mathcal{B} \) são categorias, um funtor \(F: \mathcal{A} \longrightarrow \mathcal{B} \) é uma regra que associa a cada objeto \(A \) da categoria \(\mathcal{A} \) um objeto \(F(A) \) de \(\mathcal{B} \), e associa a cada flecha \(f: A \longrightarrow A’\) em \(\mathcal{A} \) uma flecha \(F(f): F(A) \longrightarrow F(A’) \) em \(\mathcal{B} \). Mas essas associações não são quaisquer! Para que \(F \) seja um funtor, devem valer:
- \(F(g \circ f) = F(g) \circ F(f) \), sempre que a flecha \(g \circ f \) está definida;
- \(F(1_{A}) = 1_{F(A)} \), para qualquer objeto \(A \) de \(\mathcal{A} \).
Em resumo, \(F \) deve preservar a composição das flechas — também, nesse caso, o sentido delas — e as identidades dos objetos. Vale mencionar que o funtor definido acima é um funtor “covariante”, mas existe outro tipo: os funtores “contravariantes”. Nesses, o sentido das flechas é invertido!
Voltando aos funtores covariantes: um exemplo é o funtor \(F: \mathbf{Grp} \longrightarrow \mathbf{Set} \) que associa a cada grupo o conjunto de seus elementos e a cada homomorfismo de grupo sua função associada. O chamamos de funtor esquecimento pois ele faz “esquecer” a estrutura de grupo presente em \(\textbf{Grp} \).
Fun fact: as flechas possuem um nome formal que realmente é legal: “morfismos”. Coincidentemente, hoje veremos algo que carrega morfismo em seu nome e que pode generalizar muitas estruturas que já conhecemos: são eles, os “morfismos universais”. Existem dois tipos, mas aqui vamos focar naquele “de um objeto para um funtor”.
Para começar, pense em um funtor \(S: \mathcal{D} \longrightarrow \mathcal{C} \) e em um objeto \(C \) na categoria de chegada \(\mathcal{C} \). Chamamos de morfismo universal do objeto \(C \) para o funtor \(S \) um par \((R,u)\), onde \(R \) é um objeto de \(\mathcal{D} \) e \(u: C \longrightarrow S(R) \) é uma flecha em \(\mathcal{C} \), tal que para qualquer outro par \((D,f) \), onde \(D \) também é um objeto em \(\mathcal{D} \) e \(f: C \longrightarrow S(D) \) também é uma flecha em \(\mathcal{C} \), existe uma única flecha \(f’: R \longrightarrow D \) em \(\mathcal{D} \) tal que \(S(f’) \circ u = f \),

O que esta definição e seu diagrama estão querendo dizer é que existe uma única maneira de se fatorar a flecha \(f \) a partir do funtor \(S \) por meio de \(u \). Se isso parecer chato, deixe-me reformular: a partir dessa flecha universal \(u \), podemos descrever qualquer outro morfismo \(f \) que satisfaz as condições impostas e, ainda, de modo único… Claro que dá para sermos mais exigentes, mas os morfismos universais já estão entregando bastante!
Vejamos, como exemplo, algo que é estudado desde os primeiros anos da graduação em Matemática, mas pelo viés dessa propriedade universal: uma base para um espaço vetorial real. O funtor, nesse caso é o funtor esquecimento \(U: \mathbf{Vect}{\mathbb{R}} \longrightarrow \mathbf{Set} \), que associa a cada espaço vetorial em \(\mathbf{Vect}{\mathbb{R}} \) o conjunto de seus elementos em \(\mathbf{Set} \), e a cada transformação linear em \(\mathbf{Vect}{\mathbb{R}} \) sua função associada em \(\mathbf{Set} \). O morfismo universal do conjunto \(X \) para o funtor \(U \) é o par \((R,u):=(\langle X \rangle{\mathbb{R}}, X \overset{u}{\longrightarrow} U(\langle X \rangle_{\mathbb{R}})) \), onde \(\langle X \rangle_{\mathbb{R}} \) é o espaço vetorial real livre sobre o conjunto \(X \). Se temos \(W \in \mathbf{Vect}{\mathbb{R}} \) qualquer, então toda função \(f: X \longrightarrow U(W) \) pode ser estendida para uma única transformação linear \(f’: \langle X \rangle{\mathbb{R}} \longrightarrow W \) tal que \(U(f’) \circ u = f \).
Obviamente, tudo isso pode ser verificado, mas por ora acredite em mim e foquemos aqui no que isso tem a ver com bases. Bem, o que essa propriedade universal nos diz é que toda função de \(X \) em \(U(W) \) se fatora de modo único a partir do universal \(u: X \longrightarrow U(\langle X \rangle_{\mathbb{R}}) \).
Em outras palavras, se \(X \) é uma base para um espaço vetorial \(V \), o espaço vetorial livre \(\langle X \rangle_{\mathbb{R}} \) é isomorfo a \(V \) e a propriedade universal — unicidade da flecha \(f’ \) — reflete a unicidade dos coeficientes na combinação linear. Assim, o conceito de base em Álgebra Linear pode ser visto como um exemplo de morfismo universal na Teoria de Categorias.
Embora esse exemplo reflita a essência das propriedades universais, poderíamos ir mais a fundo e enxergar de que maneira os morfismos universais se conectam com (o que quem vos escreve julga ser) a essência da própria Teoria de Categorias: levar um problema para uma categoria mais simples, resolvê-lo lá e, de alguma forma, retornar à categoria original.
A fim de se explorar isso, é possível que, muito em breve, o leitor fiel venha a conhecer (juntamente com os “funtores fiéis”) uma pálida família de categorias: as categorias concretas.
Referências:
[1] AWODEY, Steve. Category Theory. Oxford University Press, 2010.
[2] MAC LANE, Saunders. Categories for the Working Mathematician. Springer-Verlag, 1971.


