# Teoria delle categorie

La teoria delle categorie è una teoria matematica che studia in modo astratto le strutture matematiche e le relazioni tra esse. La nozione di categoria fu introdotta per la prima volta da Samuel Eilenberg e Saunders Mac Lane nel 1945 nell'ambito della topologia algebrica. Le categorie ora appaiono in molte discipline della matematica e in alcune aree dell'informatica teorica e della fisica matematica costituendo una nozione unificante. Informalmente, una categoria è costituita da determinate strutture matematiche e dalle mappe tra esse che ne conservano le operazioni.

## Categorie
### Definizione

Una categoria ${\mathcal {C}}$ consiste di quanto segue.
* Una classe ${\text{ob}}({\mathcal {C}})$ i cui elementi sono chiamati oggetti.
* Una classe ${\text{mor}}({\mathcal {C}})$ i cui elementi sono chiamati morfismi, mappe o frecce. Ogni morfismo ha associati un unico oggetto sorgente $a$ e un unico oggetto destinazione $b$ in ${\text{ob}}({\mathcal {C}})$. La scrittura $f:a\to b$ indica che $f$ è un morfismo con sorgente $a$ e destinazione $b$. La classe dei morfismi da $a$ a $b$ è indicata con ${\text{mor}}(a,b)$.
* Per ogni terna di oggetti $a$, $b$ e $c$ di ${\mathcal {C}}$, è definita una funzione ${\text{mor}}(b,c)\times {\text{mor}}(a,b)\to {\text{mor}}(a,c)$, chiamata composizione di morfismi. La composizione di $f:b\to c$ con $g:a\to b$ si indica con $f\circ g:a\to c$ (talvolta si indica semplicemente $fg$).
La composizione deve soddisfare i seguenti assiomi:
* (associatività) se $f:a\to b$, $g:b\to c$ e $h:c\to d$, allora $h\circ (g\circ f)=(h\circ g)\circ f$
* (identità) per ogni oggetto $x$ esiste un morfismo ${\text{id}}_{x}:x\to x$, chiamato morfismo identità su $x$, tale che per ogni morfismo $f:a\to x$ vale ${\text{id}}_{x}\circ f=f$ e per ogni morfismo $g:x\to b$ si ha $g\circ {\text{id}}_{x}=g$.
Dagli assiomi si deduce che ad ogni oggetto è associato un unico morfismo identità. Questo permette di dare una definizione diversa di categoria, data dalla sola classe dei morfismi: gli oggetti vengono identificati a posteriori con i corrispondenti morfismi identità.
Una categoria si dice piccola se la classe dei morfismi (e quindi quella degli insiemi, in corrispondenza biunivoca coi morfismi identità come detto sopra) è un Insieme e grande altrimenti, ovvero se i morfismi formano una classe propria. Se per ogni coppia di oggetti $a,b$ in una categoria la classe dei morfismi ${\text{mor}}(a,b)$ tra di essi è un insieme, la categoria si dice localmente piccola (in particolare, ogni categoria piccola è localmente piccola). Molte importanti categorie sono grandi ma localmente piccole, come ad esempio la categoria degli insiemi e le funzioni tra di essi.

### Esempi

Negli esempi le categorie sono indicate tramite i loro oggetti e i corrispondenti morfismi.
* Come sopra, gli insiemi e le funzioni tra essi
* I monoidi e gli omomorfismi tra essi
* I gruppi coi loro omomorfismi
* Gli spazi vettoriali e le funzioni lineari
* Gli spazi topologici e le funzioni continue
* Gli spazi misurabili e le funzioni misurabili
* Le varietà differenziabili e le funzioni differenziabili
* Ogni monoide forma una categoria piccola con un singolo oggetto $X$ (il monoide stesso) avendo come morfismi le traslazioni associate agli elementi del monoide. (L'azione di un elemento di X su un qualunque altro elemento è definita dall'operazione binaria del monoide).
* Se I è un insieme, la categoria discreta su I è la categoria piccola che ha come oggetti gli elementi di I e come morfismi solo i morfismi identità.
* Da ogni categoria C si può definire una nuova categoria, la categoria duale $C^{*}$ che ha per oggetti gli stessi oggetti di C, ma che inverte la direzione dei morfismi (l'insieme $Mor(A,B)$ diventa l'insieme $Mor(B,A)$).
* Se (C,o') e (D,o") sono categorie, si può definire la categoria prodotto, i cui oggetti sono coppie (c,d) aventi per primo elemento un oggetto di C e per secondo un oggetto di D, i morfismi sono analoghe coppie di morfismi; la composizione viene definita componente per componente: $(c_{1},d_{1})\circ (c_{2},d_{2}):=(c_{1}\circ 'c_{2}\,,\,d_{1}\circ ''d_{2})$.
Sebbene esistano dei "morfismi" tra le categorie (i funtori) non è possibile definire la "categoria delle categorie", in quanto le categorie che sono classi proprie non possono appartenere ad altre classi (per definizione). È possibile invece parlare della categoria delle categorie piccole, le quali, essendo insiemi, possono appartenere a una classe e quindi essere oggetti di una categoria.

### Tipi di morfismi

Un morfismo f: A → B si chiama
* monomorfismo se $fg_{1}=fg_{2}\Rightarrow g_{1}=g_{2}$ per tutti i morfismi $g_{1},g_{2}:X\rightarrow A$.
* epimorfismo se g$_1$f = g$_2$f implica g$_1$ = g$_2$ per tutti i morfismi g$_1$, g$_2$ : B → X.
* isomorfismo se esiste un morfismo g : B → A con fg = id$_B$ e gf = id$_A$.
* endomorfismo se A = B.
* automorfismo se f è insieme un endomorfismo e un isomorfismo.

## Funtori

I funtori sono mappe tra le categorie che ne conservano le strutture.
Un funtore covariante dalla categoria C alla categoria D è una mappa che associa:
* ad ogni oggetto X in C un oggetto F(X) in D
* ad ogni morfismo f:X→Y un morfismo F(f):F(X)→F(Y)
in modo tale che valgano le seguenti proprietà:
* F(id$_X$) = id$_{F(X)}$ per ogni oggetto X in C.
* F(g $\circ$ f) = F(g) $\circ$ F(f) per tutti i morfismi f : X → Y e g : Y → Z.
Un funtore contravariante è definito in maniera analoga, ma inverte i morfismi, cioè se f:X→ Y, allora F(f):F(Y)→ F(X). Dato un funtore covariante da C a D, il corrispondente funtore da C$^*$ a D è contravariante.

## Trasformazioni e Isomorfismi naturali

Due funtori F, G : C → D ci danno due rappresentazioni di C in D. Una trasformazione naturale è una associazione che permette di "tradurre" l'immagine che ne dà F in quella che ne dà G.
Se F e G sono funtori (covarianti) tra le categorie C e D, allora una trasformazione naturale da F a G associa a ogni oggetto X di C un morfismo η$_X$ : F(X) → G(X) in D tale che per ogni morfismo f : X → Y in C abbiamo η$_Y$ $_{\circ }$ F(f) = G(f) $_{\circ }$ η$_X$; vale a dire che η rende commutativo il diagramma
I due funtori F e G si dicono naturalmente isomorfi se esiste una trasformazione naturale da F a G tale che η$_X$ sia un isomorfismo tra oggetti in D per ogni oggetto X in C.