Teoría das categorías

A **teoría das categorías** é unha teoría matemática que trata de forma abstracta das estruturas matemáticas e das relacións entre elas. A teoría das categorías foi por descrita por primeira vez por Samuel Eilenberg e Saunders MacLane en 1945, como unha teoría relacionada con topoloxía alxébrica.

A teoría supón unha xeneralización da teoría de conxuntos. Nela estúdanse obxectos e morfismos entre estes. Estes obxectos poden ser entendidos como conxuntos estruturados e os morfismos (tamén chamados *frechas*) como funcións entre estes conxuntos, aínda que, nos casos máis xerais de categorías, este paralelismo non poida facerse.

A teoría das categorías pode ser entendida como un "xogo de frechas", en que se abstrae o significado das construcións.

Fornece unha descrición abstracta de problemas das matemáticas, constituíndo entón nunha contorna consistente e unificada para o estudo de diversas áreas das matemáticas. A capacidade de xeneralización, abstracción e unificación de teorías é o gran mérito de teoría das categorías.

Así, proporciona mecanismos para representar varias estruturas matemáticas, como por exemplo transformacións naturais, produtos cartesianos, funcións, topoloxías etc.

As aplicacións da teoría das categorías esténdense por áreas como a álxebra, a teoría da recursividade, a semántica formal etc.

## Historia 
A teoría das categorías foi introducida na topoloxía alxébrica por Samuel Eilenberg e Saunders Mac Lane en 1942, nun importante paso para a transición dende a homoloxía á teoría da homoloxía. Stanislaw Ulam afirma que existían ideas parecidas na escola polaca dos anos 30.

Os desenvolvementos seguintes da teoría foron impulsados polas necesidades computacionais da álxebra homolóxica e máis tarde polas necesidades axiomáticas da xeometría alxébrica. A teoría xeral (actualización da álxebra universal con moitas características novas que daban pie a unha certa flexibilidade en semántica e lóxicas de orde superior) veu máis tarde.

Estas aplicacións das categorías no campo dos fundamentos están sendo traballados en detalle e non só nas matemáticas: matemáticos como William Lawvere traballan na física, e físicos traballaron en *n*-categorías, como John Baez.

### Relación filosófica 
Escolleuse o vocábulo **categoría** de Aristóteles, mais no sentido de Kant coa intención de asocialo a unha forma pura no contexto exclusivamente matemático, é dicir, sen efectos fóra das matemáticas.

## Composición 
A única operación esixida nunha categoría é a *composición.* A composición en categorías é unha xeneralización da composición de funcións da teoría de conxuntos.

Na teoría dos conxuntos, dadas dúas funcións f:A\rightarrow B (que ten como dominio o conxunto A e como codominio o conxunto B) e g:B\rightarrow C, defínese h:A\rightarrow C como sendo a composición de f e g, h=g\circ f, desde que h(x)=g(f(x)) para todo x\in A.

## Definición de categoría 
Unha *categoría* consiste nos seguintes elementos:
* Unha clase de obxectos a, b, c, ...
* Para cada par de obxectos a,b, unha clase de *morfismos* ou *frechas* de a para b, denotados por f:a\rightarrow b (e neste caso dise que a é o obxecto *orixe* e b é o obxecto *destino* da frecha);
* Para cada obxecto a, un morfismo chamado *identidade en a*, id_a:a\rightarrow a que ten orixe e destino en a;
* Unha operación de *composición* que asocia a cada par de morfismos f:a\rightarrow b e g:b\rightarrow c un morfismo g\circ f:a\rightarrow c chamado morfismo composto de f e g, tales que se satisfán os seguintes axiomas:
:* (asociatividade) Sexan f:a \rightarrow b, g:b \rightarrow c e h:c \rightarrow d. Entón (h\circ g)\circ f=h\circ (g\circ f);
:* (identidade) Para todo obxecto a, existe un morfismo id_a:a\rightarrow a chamado *morfismo identidade* de a, tal que para todo f:a\rightarrow b, se ten f \circ id_a=f e para todo g:c\rightarrow a, tense id_a \circ g = g.

## Diagramas 
miniatura|Diagrama conmutativo da propiedade da asociatividade
Os diagramas serven para representar categorías. Se a composición de todos os camiños entre dous obxectos dun diagrama son iguais, dise que o diagrama *conmuta* ou que é *comutativo*.

Pódense expresar as propiedades de teoría das categorías a través de diagramas conmutativos. Un exemplo é o diagrama ilustrado ao lado. Datos h:a\rightarrow b, g:b\rightarrow c e f:c\rightarrow d que representa a propiedade asociativa, (f\circ g)\circ h=f\circ (g\circ h).

## Exemplos de categorías 
* A categoría dos conxuntos, denotada por **Set** ou **Ens**. Ten por obxectos conxuntos e por morfismos as funcións entre conxuntos. A composición de morfismos é reparada na composición usual de funcións.
* A categoría dos grupos. Ten por obxectos  grupos e por morfismos os homomorfismos de grupos. A composición é dada pola composición de funcións; a composición de homomorfismos de grupo é tamén un homomorfismo de grupo.
* A categoría dos espazos topolóxicos. Os obxectos son os espazos topolóxicos; os morfismos son as aplicacións continuas. A composición é a usual.
* A categoría dos espazos vectoriais. Os obxectos son os espazos vectoriais; os morfismos son as transformacións lineares.
* Un grafo orientado define unha categoría, tendo por obxectos os  nós ou vértices do grafo e por morfismos os camiños ao longo do grafo. A composición de morfismos é definida pola concatenación de camiños. Así, existe un morfismo entre dous nós se existir un camiño, no grafo, que ligue os dous nós.  
* Un conxunto parcialmente ordenado A define unha categoría que ten por obxectos os elementos do conxunto A. Un único morfismo entre dous elementos a e b defínese se a\leq b. A lei de composición dedúcese da transitividade da relación de orde.

## Dualidade 
A dualidade é unha das nocións máis poderosas da teoría das categorías. Permite herdar resultados da categoría orixinal para a dual e viceversa. Nese caso dada unha definición nunha categoría, para obter o concepto dual basta inverter as frechas.

## Monomorfismos, epimorfismos e isomorfismos 
Sexa unha categoría **C** e obxectos a e b desta categoría.

Unha frecha h:a\rightarrow b chámase *monomorfismo* se e soamente se h\circ g=h\circ f\Rightarrow g=f. Ou sexa, unha frecha é monomorfismo se pode ser cancelada á esquerda dunha composición.

En **Set** unha frecha monomorfismo pode ser entendida como unha función inxetora.

Unha frecha h:a\rightarrow b chámase *epimorfismo* se e soamente se g\circ h=f\circ h\Rightarrow g=f. Ou sexa, unha frecha é epimorfismo se pode ser cancelada á dereita dunha composición.

En **Set** unha frecha epimorfismo é unha función sobrexetora.

Finalmente, unha frecha h:a\rightarrow b é *isomorfismo* se e soamente se existe g:b\rightarrow a tal que g\circ h=id_a e h\circ g=id_b.

Toda frecha isomorfismo é monomorfismo e epimorfismo, aínda que o contrario non sexa necesariamente verdade. Por exemplo, na categoría formada por dous obxectos a e b, os morfismos identidade, e un único morfismo f:a\rightarrow b, f é un monomorfismo e un epimorfismo, porén non é un isomorfismo.

En **Set** podemos pensar unha frecha isomorfismo como unha función bixectora.

## Obxectos isomórficos 
Dous obxectos a e b dunha categoría son *isomórficos*, a\cong b, se existe unha frecha h:a\rightarrow b que é isomorfismo.

Un isomorfismo establece, en certo grao de abstracción, unha relación de "semellanza" ou "equivalencia" entre obxectos.

## Obxectos inicial e terminal 
O obxecto inicial e o obxecto terminal son as construcións máis simples en teoría das categorías.

Sexa **C** unha categoría. Un obxecto 0 é *inicial* se e soamente se para calquera obxecto b existe un único f:0\rightarrow b. O obxecto inicial é unha noción *universal*, ou sexa, definida pola existencia e unicidade de morfismos.

Un exemplo de obxecto inicial en **Set** é o conxunto baleiro, \emptyset, pois existe unha única función total que ten como orixe \emptyset e ten como destino calquera outro conxunto, e esta é a *función baleira* (ou sexa, aquela en que o gráfico da función é baleiro).

O obxecto inicial é único, a non ser por isomorfismos.

O obxecto terminal, t, é simplemente a noción dual de obxecto inicial. Significa que, dado un obxecto b da categoría, existe un único f:b\rightarrow t.

En **Set** calquera conxunto unitario (conxunto cun único elemento) é terminal. Isto ocorre porque, dado calquera outro conxunto, só existe unha función total con orixe neste conxunto e destino no conxunto unitario, que é a *función constante* (aquela en que os valores da función para todo o dominio son iguais).

## Produtos e límites 
O concepto de límite incorpora a idea dunha construción universal, ou sexa, unha construción que ten un comportamento privilexiado ("óptimo") en relación a todas as outras que satisfán determinada propiedade. O límite está dado pola existencia dunha frecha única entre todas estas construcións e a construción que é considerada óptima.
miniatura|Diagrama conmutativo do produto categorial.
Un dos exemplos máis simples de límite en teoría das categorías é o produto categorial, que é unha xeneralización do produto cartesiano. O produto categorial tamén é unha noción *universal*.

Sexa **C** unha categoría e a e b dous obxectos da categoría **C**. O *produto categorial* de a e b é un obxecto a\times b e dous morfismos p_a:a\times b\rightarrow a e p_b:a\times b\rightarrow b, tal que dado calquera obxecto c da categoría e para calquera morfismos f:c\rightarrow a e g:c\rightarrow b existe exactamente un h:c\rightarrow a\times b tal que o diagrama da figura ao lado conmuta.

Os morfismos p_a e p_b chámanse proxeccións.

Pódese chamar o obxecto c xunto coas frechas f e g *pre-produto*.

Naturalmente pódese definir o concepto dual ao produto categorial que se chama *coproduto*. Para iso basta inverter as frechas do diagrama do produto.

O produto categorial é un exemplo de límite, pois vén dado pola existencia dunha frecha única (neste caso a frecha h) entre calquera outro pre-produto e el.

Outros exemplos da noción de límites en teoría das categorías son o equalizador, o produto fibrado, e o cono.

## Functores 
Os functores son aplicacións entre categorías que preservan estruturas. Poden ser entendidos como homomorfismos na categoría de todas as categorías pequenas (ou sexa, a categoría que ten como obxectos todas as categorías compostas por obxectos que son conxuntos).

Un *functor* (*covariante*) F da categoría **C** para a categoría **D**:
# asocia para cada obxecto x en **C** un obxecto F(x) en **D**;
# asocia para cada morfismo f : x \rightarrow y un morfismo F(f):F(x)\rightarrow F(y)

tal que son válidas as seguintes propiedades:
# F(id_x)=id_{F(x)}
# F(g\circ f)=F(g)\circ F(f) para todos os morfismos f:x\rightarrow y e g:y\rightarrow z.

## Notas 
## Véxase tamén 
### Bibliografía 
* BARR, Michael; WELLS, Charles. *Category Theory for Computing Science*, Prentice Hall, Londres, 1990.
* MAC LANE, Saunders. *Categories for the Working Mathematician.* 2.ª ed. Graduate Texts in Mathematics 5. Springer, 1998. ISBN 0-387-98403-8.
### Outros artigos 
* Ciencias da computación
### Ligazóns externas 
* [ftp://ftp.di.ens.fr/pub/users/longo/CategTypesStructures/book.pdf Categories, Types and Structures por Andrea Asperti e Giuseppe Longo]
* Lâminas para un curso curto de Teoría das Categorías por Carlos Campani