Catégorie de Kleisli
# Catégorie de Kleisli

Une catégorie de Kleisli est une catégorie associée à une monade. Elle tient son nom du mathématicien suisse Heinrich Kleisli (en) qui l'a introduite à l'origine pour montrer que toute monade est issue d'une adjonction.

## Définition

On considère une monade $(T,\eta ,\mu )$ sur une catégorie ${\mathcal {C}}$. La catégorie de Kleisli ${\mathcal {C}}_{T}$ possède les mêmes objets que ${\mathcal {C}}$ mais les morphismes sont donnés par

    $\operatorname {Hom} _{{\mathcal {C}}_{T}}(X,Y)=\operatorname {Hom} _{\mathcal {C}}(X,TY)$

L'identité est donnée par $\eta$, et la composition fonctionne ainsi : si $f\in \operatorname {Hom} _{{\mathcal {C}}_{T}}(X,Y)$ et $g\in \operatorname {Hom} _{{\mathcal {C}}_{T}}(Y,Z)$, on a

    $g\circ f=\mu _{Z}\circ Tg\circ f$

qui correspond au diagramme :

    $X{\overset {f}{\longrightarrow }}TY{\overset {Tg}{\longrightarrow }}TTZ{\overset {\mu _{Z}}{\longrightarrow }}TZ$

Les morphismes de ${\mathcal {C}}$ de la forme $X\to TY$ sont parfois appelés morphismes de Kleisli.

## Monades et adjonctions

On définit le foncteur $F:{\mathcal {C}}\to {\mathcal {C}}_{T}$ par :

    $FX=X$
    $F(f:X\to Y)=\eta _{Y}\circ f$

et un foncteur $G:{\mathcal {C}}_{T}\to {\mathcal {C}}$ par :

    $GY=TY$
    $G(f:X\to TY)=\mu _{Y}\circ Tf$

Ce sont bien des foncteurs, et on a l'adjonction $F\dashv G$, la counité de l'adjonction étant $\varepsilon _{Y}=1_{TY}$.

Enfin, $T=GF$ et $\mu =G\varepsilon F$ : on a donné une décomposition de la monade en termes de l'adjonction $(F,G,\eta ,\varepsilon )$.

## T-algèbres

Avec les notations précédentes, une T-algèbre (ou T-module) est la donnée d'un objet x de ${\mathcal {C}}$ et d'un morphisme $h:Tx\to x$ tels que

    $h\circ \mu _{x}=h\circ Th$
    $h\circ \eta _{x}=1_{x}$

Un morphisme $(h,x)\to (h',x')$ de T-algèbres est une flèche $f:x\to x'$ telle que

    $h'\circ Tf=f\circ h$.

Les T-algèbres et leurs morphismes forment la catégorie d'Eilenberg-Moore ${\mathcal {C}}^{T}$.

Le foncteur d'oubli ${\mathcal {C}}^{T}\to {\mathcal {C}}$ possède un adjoint à gauche ${\mathcal {C}}\to {\mathcal {C}}^{T}$ qui envoie tout objet y de ${\mathcal {C}}$ sur la T-algèbre libre $(Ty,\mu _{Y})$. Ces deux foncteurs forment également une décomposition de la monade initiale. Les T-algèbres libres forment une sous-catégorie pleine de ${\mathcal {C}}^{T}$ qui est équivalente à la catégorie de Kleisli.

## Monades et informatique théorique

On peut réinterpréter la catégorie de Kleisli d'un point de vue informatique :

* Le foncteur T envoie tout type X sur un nouveau type $T(X)$ ;
* On dispose d'une règle pour composer deux fonctions $f:X\to T(Y)$ et $g:Y\to T(Z)$, donnée par la composition dans la catégorie de Kleisli, qui est associative et unitale. On obtient une fonction $g\circ f:X\to T(Z)$ ;
* Le rôle de l'unité est joué par l'application pure $X\to T(X)$.

## Référence

(en) Saunders Mac Lane, Categories for the Working Mathematician [détail de l’édition]

