ATTENTION CE DOCUMENT EST UN BROUILLON EN COURS DE CONSTRUCTION POUR ETRE SOUMIS A D'AUTRES VALIDATEURS. IL N'EST PAS CENSE ETRE ACCESSIBLE AU PUBLIC AUTRE QUE CELUI INVITE A DONNER SON AVIS SUR LA FORME LE FOND LA TYPOGRAPHIE LE CADRE ETC. SI VOUS TOMBEZ DESSUS PAR HASARD PARCE QUE VOUS AURIEZ TAPE L'URL, MERCI DE TENIR COMPTE DE CET AVERTISSEMENT ET DE PASSER VOTRE CHEMIN (cela dit, il ne contient pas de secret d'Etat, les curieux perdraient leur temps à le lire)

Définitions et principes de base en théorie des catégories

Introduction

J'ai fini par être tellement lassé de voir la propagande sans fondement faite par certains fans des catégories que j'ai décidé de taper rapidement une page html qui en définit les concepts les plus signalés dans les discussions. Je trouve, en effet, dommage de laisser abuser des lecteurs avec des mots savants qui ne peuvent pas se prononcer et finissent, malgré eux parfois, à être emporté par la "musique" diffusée.

Si on doit résumer le paradigme catégorique, on peut essentiellement dire qu'il s'agit d'une pétition de principe que l'étude syntaxique de la flèche (plutôt que des signes "Ap" et $\in$) est censée apporter et unifier une grande partie des maths algébriques.

En plus de ce constat objectif, on assiste à beaucoup de publicité non fondée.

Quelques remarques heuristiques

L'opération de composition des fonctions $(f,g)\mapsto f\circ g$ parait, en apparence bien pauvre. Parallèlement et analoguement, on a envie de dire que le seul axiome si A implique B et B implique C alors A implique C parait lui aussi un peu faiblard.

Il n'en est rien. Il suffit essentiellement d'ajouter non(non(A)) implique A; si A alors si A implique B alors B; et (A implique A et A) à la transitivité de l'implication pour obtenir LA TOTALITE des mathématiques (et donc de la science).

Ces vieilles connaissances de logique, réimportées plus récemment en théorie des catégories, sont pour beaucoup dans le vent de folie qui a emporté les fans des catégories. Signalons aussi que c'est une communauté dont la plupart des chercheurs sont jeunes, cherchent à publier et il est bien connu que la tolérance à la publication pour les articles sur les sujets "informatique théorique" et "catégories" est énorme par rapport aux autres sections. Un jeune chercheur peur produire plus de 50 sytèmes syntaxiques différents labellisés avec des sigles numériques savants, et produire 50 articles les officialisant là où il est peu probable qu'un analyste classique réussira à placer un seul article de recherche. Il n'est pas dans mon intention de critiquer cet état de fait, je souhaite juste informer des causes de l'inflation

Parallèlement, d'autres mouvements, essentiellement philosophiques ou métaphysiques, bien que composés de mathématiciens tout à fait professionnels et sérieux, souhaitent développer ce qu'ils appellent des "maths constructives". Pour ce but, ils ont importé la logique intuitionniste, en espérant qu'elle est constructive et l'entourent de tout leur amour créateur (axiomes et systèmes divers). Et quand ils sortent de leur labo, ils font eux aussi de la pub pour leur chapelle (ce qui n'a rien de criticable).

Notons aussi un point technique qui contribue à l'engouement pour ce paradigme. Soit $E$ un ensemble doté de 4 opérations: $*; \circ; K; \sigma$ dont les deux dernières sont unaires et les deux premières sont binaires et supposons qu'elles vérifient: $x*(y*z) = (x\circ y)*z$ et $K(x)*y=x$ et $\sigma(K(x)) = x$, pour toutes $x,y,z$. On alors $x\circ K(y) = K(x*y)$ donc $x*y = \sigma (x\circ K(y))$, ce qui montre qu'on peut se passer de $*$, ou plus précisément qu'on peut le définir à partir des 3 autres. Or toutes les maths reposent bien évidemment sur $*$ (si on choisit le bon $(E,*,\circ, K,\sigma)$ ). Je rappelle au passage que $a\in b$ est une notation (qui abrège $b*a$) qui a été introduite pour emphaser l'honnêteté scientifique, qui a reconnu que $b*a$ peut paraitre un peu trop discret dans l'utilisation quotidienne de la science, car contrairement à mon signe $*$, la "vraie" opération scientifique $*$ est représentée par un espace (ie on écrit couramment Medor mange plutôt que Mange$*$Medor ou que Medor$\in$ Manger).

Le fait de pouvoir retrouver $*$ à partir de $\circ, K$ et $\sigma$ est peut-être la sucrerie ou l'extasy qui a achevé de rendre les fans du paradigme catégorique extrêmement prolixes et offensifs dans les médias scientifiques.

Rappels mathématiques de base

$(x,y)$ est une abréviation de $\{\{x\};\{x;y\}\}$

a=b est una abréviation de Tout ensemble qui contient a contient aussi b

$f$ est une fonction abrège $f$ est un ensemble des couples et $\forall x,y,z: $ si $(x,y)\in f$ et $(x,z)\in f$ alors $y=z$

$dom(a)$ abrège $\{x\mid \exists y: (x,y)\in a\}$. Quand on parle en français, on dit que $dom(a)$ est le domaine de $a$ et si $a$ est une fonction, il arrive qu'on dise que c'est son ensemble de définition.

$ImageDirecte(a)$ abrège $\{y\mid \exists x: (x,y)\in a\}$. image directe et codomaine sont synonymes.

$a\circ b$ abrège $\{(x,y\mid \exists z: (x,z)\in b$ et $(z,y)\in a\}$

Par convention, on considère que $(a,b,c):=((a,b),c)$

Une suite est une fonction dont le domaine est $\mathbb{N}$. Une suite finie est une fonction dont le domaine est un entier naturel.

a est à valeurs dans b abrège l'image directe de a est incluse dans b

Nous profitons d'une petite différence avec bourbaki sur le mot fonction (= famille) pour utiliser le mot application dans son sens "boubakisto-catégorique-universitaire". On appelle application de $E$ dans $F$ un triplet $(E,F,f)$ tel que $f$ est une fonction d edomaine $E$ à images dans $F$. En outre, lorsqu'il s'agit de composer des applications, on décrète que la composée de 2 applications $(E,F,f)$ et $(E',F',g)$ n'est pas définie quand $F\neq E'$. Si $F=E'$ par contre, on définit $(E',F',g) \circ_{applications} (E,F,f) := (E,F', g\circ_{ensembles} g)$

Idées de la notion de catégorie

Mathématiquement, une catégorie, c'est quelque chose de très simple: c'est la donnée d'un ensemble $E$ et d'une fonction $hom$ de domaine $E^2$ telle que pour tous $a,b$ dans $E: hom(a,b)\subset Applications(a,b)$ et vérifiant que pour tous $a,b,c$ dans $E$, $f,g$ respectviement dans $hom(a,b), hom(b,c)$, l'application $g\circ f\in hom(a,c)$. On impose en outre que $id_a$ doit toujours appartenir à $hom(a,a)$.

Hélas, à ma connaissance, les catégoriciens n'aiment pas trop cette définition, qui rappelle trop sa dépendance ensembliste. On donne à la section suivante une définition assimilable par la logique du 1er ordre

Pour avoir une idée (de départ) de ce que fait "un peu" une catégorie, il suffit de penser aux ensembles ordonnés. Je donne un panorama des mots les plus souvent mentionnés dans les médias. Si $E,F$ sont des ensembles (pré)ordonnés, ce sont des catégories particulières (il se passe juste, voir section suivante, que $card(hom(a,b))\leq 1$ pour les éléments $a,b$ de E (ou de F).

Un foncteur de $E$ vers $F$ est une application croissante de $E$ dans $F$. Si $f,g$ sont deux fonctions croissantes avec $f\leq_{all(F)} g$ de $E$ dans $F$, il y a une unique transformation naturelle qui va de $f$ vers $g$ et qui est $x\mapsto (f(x),g(x))$. Si par contre il existe $x\in E$ tel que $f(x)$ n'est pas $\leq g(x)$ alors il n'y a pas du tout de transformation naturelle de $f$ vers $g$

soient maintenant $f,g$ allant respectivement de $E$ dans $F$ et de $F$ dans $E$ et on ne les suppose pas forcément croissantes à priori. On les déclare adjointes l'une de l'autre quand pour tout $x\in E, y\in F: (f(x)\leq y)\iff (x\leq g(y))$. C'est un cas particulier (très particulier, puisque c'est pour l'ordre "=") de réduction de Tukey, mais regardé sous un autre angle, puisque l'adjectif porte sur le couple $f,g$ (qui est appelé une adjonction) alors que $E,F$ sont fixés en arrière-plan.

Le lecteur peut s'amuser à tenter l'exercice-punition de prouver que si $(f,g)$ est une adjonction alors $f,g$ sont toutes les deux obligatoirement croissantes.

Les préordre peuvent être naturellement quotientés pour donner un ordre et bien il en est de même avec les catégories: quand 2 objets seront isomorphes (section2), ils pourront être identifiés sans que ça fasse s'écrouler grand chose. après itération, on obtient "le squelette" de la catégorie initiale. Le squelette d'un préordre est l'ordre que tout le monde imagine

Ensembles virtuels des catégories

Un des premiers phénomènes les plus connus en théorie des ensembles est qu'étudier les ensembles c'est juste étudier "intellement" toutes les relations binaires possibles et imaginables (ie l'un des premier résultats de consistance relative problement est que si ZF est consistant alors ZF + pour toute graphe orienté simple extensionnel $(S,A\subset S^2)$, il existe une fonction $f$ de domaine $S$ telle que pour tous $x\in S: f(x)=\{f(y)\mid (x,y)\in A\}$. (Attention: on ne peut pas en même temps ajouter AF à ZF). Cela montre qu'un ensemble n'est rien d'autre qu'une classe d'équivalence de graphes extensionnels et qu'étudier les ensembles, c'est étudier les graphes extensionnels (c'est un peu trop méconnu, alors que ça donne une illusion de concrétude des ensembles). L'appartenance d'un graphe à un autre, (conçus comme des noms d'ensembles) est G dans H := il existe dans H un sommet dont le sous-graphe plein de H de ses voisins est (isomorphe à) G

Il suit que dans une catégorie admettant des produits cartésiens, si on singe l'ensemblisme, "ses ensembles" sont les couples $(A,B),f)$ où "$(B,p_1,p_2)$" est un produit cartésien "A×A" et $f\in hom(A,B)$. Même si on ne la voit pas (et si ça n'a pas de sens...), on "s'attache provisoirement à l'idée" que les arêtes sont le codomaine de $f$ (perçu comme une partie de $A×A$. Plus bas, on verra que les topos essaient de récupérer cette astuce dans des catégories très particulières (appelées "topos" justement). On laisse au lecteur le soin de définir le $\in$ d'une catégorie cartésienne.

Définition de la notion de catégorie

La phrase $((O,F),(Source, But),\circ)$ est une catégorie est une abréviation pour dire la longue chose suivante:

$Source$ et $But$ sont des fonctions dont le domaine est $F$ et dont l'image directe est incluse dans $O$ et $\circ$ est une fonction dont le domaine est $\{(f,g)\in F\times F\mid Source(f)=But(g)\}$.
De plus, $\circ$ est associative, ie si $(f,g)$ et $(g,h)$ sont dans $dom(\circ)$ alors $f\circ (g\circ h) = (f\circ g)\circ h$.
De plus, si $(f,g)\in dom(\circ)$ alors $Source(f\circ g)=Source(g)$ et $But(f\circ g)=But(f)$.
De plus, pour tout $A\in O$, il existe $f\in F$ telle que $Source(f)=But(f)=A$ et $\forall g\in F: $ si $(f,g)\in dom(\circ)$ alors $f\circ g = g$ et si $(g,f)\in dom(\circ)$ alors $g\circ f = g$. (Cette $f$ est unique et notée $id_A$).

Dans le texte précédent, on a abrégé par $a\circ b$ l'expression $\circ (a,b)$.

Soit $C:=((O,F),(Source, But), \circ)$ une catégorie; on note: $Obj(C)=O$ et $Fl(C):=F$.

Les éléments de $Obj(C)$ sont appelés les objets de $C$ et les éléments de $Fl(C)$ sont appelés les flèches de $C$.

Soit $C:=((O,F),(Source, But), \circ)$ une catégorie. La notation $C^{op}$ désigne la catégorie $((O,F), (But, Source), ((a,b)\mapsto (b\circ a)))$ et s'appelle catégorie opposée de C

Pour $A,B$ dans $Obj(C)$, on abrège par hom(A,B) l'ensemble $\{f\in F \mid mid (Source(f),But(f))=(A,B)\}$

Soit $C:=((O,F),(Source, But), \circ)$ une catégorie. La phrase $A$ est un objet initial de $C$ abrège pour tout $B\in O: card(hom(A,B))=1$.

La phrase $A$ est un objet terminal de $C$ abrège $A$ est un objet initial de $C^{op}$

Les catégories ENS

Rappel: $A^B$ désigne l'ensemble des fonctions dont le domaine est $B$ et dont l'image directe est incluse dans $A$. Soit $E$ un ensemble transitif vérifiant $\forall (A,B)\in E^2: A^B\in E$, tel que $\mathbb{N}\in E$ et tel que toute partie $X$ de $E$ telle qu'il n'y a pas de surjection de $X$ sur $E$ est un élément de $E$. Il est presque évident (donc laissé au lecteur) que $(E,\in_{|E})$ est un modèle de ZF. On garde le même $E$ pendant toute cette section.

Soit $F$ l'ensemble des $(X,Y,f)\in E^2\times E$ tel que $f$ est une fonction et $dom(f)=X$ et $f\subset X\times Y$. Soient $a:=(X,Y,f); b:=(Y,Z,g)$ dans $F$. On pose $b\circ a$ le triplet $c:=(X,Z,\{(u,v) \mid \exists s: (u,s)\in f$ et $(s,v)\in g\})$. On laisse au lecteur le soin de justifier que $c\in F$. On pose aussi $Source(X,Y,f):=X$ et $But(X,Y,f):=Y$ pour tous triplets dans $F$. Alors $(E,F,Source, But, \circ)$ est une catégorie. On la nomme souvent "ENS", sans parler de $E$, mais dans la suite, je préfère éviter cet abus dangereux et la noter $ENS(E)$.

Diagrammes

Soit $C:=((O,F),(Source, But), \circ)$ une catégorie. On appelle diagramme de $C$ un couple $((S,A),(\sigma,\phi))$ tel que $A\subset S^2$, $\sigma$ est une fonction de domaine $S$ à valeurs dans $Obj(C)$ et $\phi$ est une fonction de domaine $A$ et dont l'image directe est incluse dans $Fl(C)$ telle que pour tout $(a,b)\in A: Source(\phi(a,b)) = \sigma(a)$ et $But(\phi(a,b)) = \sigma(b)$

Comme $G:=(S,A)$ est un graphe, les livres de catégories dessinnent le graphe $G$ et le décorent en écrivant dans chacun de ses sommets $s$ un nom de $\sigma(s)$ et sur chacune de ses arêtes $b$ un nom de $\phi(b)$.

Soit $D:=((S,A),(\sigma,\phi))$ un diagramme de $C$. On appelle chemin dans $D$ une suite finie $u$ de sommets de $D$ (éléments de $S$) telle que pour tout entier naturel $i$ et tous $x,y$, si $\{(i,x);(i+1,y)\}\subset u$ alors $(x,y)\in A$. Soit $u$ un chemin dont le domaine est $n+1$. Alors le début de $u$ est $u(0)$ et la fin de $u$ est $u(n)$. On ne s'intéressera pas au chemin vide.

On laisse au lecteur le soin de prouver qu'il existe une unique application que l'on notera $val_D$ qui vérifie que pour tous chemins $c,d$ dont la fin de $c$ est le début de $d: val_D(e)=val_D(d)\circ val_D(c)$ en notant $e$ le chemin obtenu en mettant $c,d$ bout à bout et qui vérifie de plus que si $u$ est un chemin de longueur 2 alors $val_D(u) = \phi(u(0),u(1))$.

Un diagramme est dit commutatif quand il existe une fonction $f$ dont le domaine est la cloture transitive de $A$ et qui est telle que pour tout chemin $c$, $val_D(c)=f(Debut(c), Fin(c))$.

Remarque: dans le chapitre catégories, tous les diagrammes évoqués le sont parce qu'ils sont commutatifs ou qu'on demande qu'ils le soient, etc.

Vocabulaire un peu plus élaboré

Soit $D:=(S,A,\sigma,\phi)$ un diagramme commutatif d'une catégorie $C$. Soit $s\notin S$. Soit $S'=S\cup \{s\}$ et $A':=A\cup (\{s\}\times S)$. Si $\sigma',\phi'$ sont telles que $(S',A',\sigma',\phi')$ est un diagramme commutatif de $C$ on dira qu'on a minoré $D$ (sous-entendu dans $C$). On le note provisoirement $(S+s, A^{+s}, \sigma', \phi')$. Une limite projective de $D$ est un minorant $D':=(S+s, A^{+s}, \sigma', \phi')$ de $D$ ayant la propriété que pour tout autre minorant $D_2:=(S+s_2, A^{+s_2}, \sigma_2, \phi_2)$ de $D$, il existe un unique diagrame commutatif $(S\cup \{s';s_2\}, A^{+s_2}\cup A^{+s'}\cup \{(s_2,s)\}, \sigma_3,\phi_3)$ qui prolonge $D'$ et $D_2$. (On laisse au lecteur le soin de définir le mot "prolonger").

Soit $X$ une partie de la catégorie $C$. Soit $D:=(X,\emptyset, \sigma,\phi)$ un diagramme de $C$. Une limite projective de $D$ s'appelle un produit cartésien des objets de $X$. Plus généralement, la limite projective d'un diagramme de $C$ qui n'a pas d'arête (on peut donc le voir comme une famille f d'éléments de $Obj(C)$) s'appelle un produit cartésien de la famille f.

La phrase $C$ est une catégorie cartésienne abrège $C$ est une catégorie dont toutes les parties finies admettent un produit cartésien

Le tableau suivant donne une correspondance de vocabulaire quand on passe à la catégorie opposée suivant la rèlge suivante: un machin de C est un truc de $C^{op}$, le machin étant dans la colonne de gauche et le truc étant dans celle de droite (désolé pour cet avachissement, c'est d'un pénible.... ). On laisse au lecteur corriger l'erreur dans la règle. Elle se corrige naturellement (s'il y en a une, j'ai la flemme de vérifier, enfin oui, il y en a une)

produit cartésiencoproduit cartésien
produit cartésiensomme
limite projectivelimite inductive
objet initialobjet terminal

Exercice: montrer que le produit cartésien de l'ensemble vide, quand il existe est un objet terminal de la catégorie.

Remarque: dans une catégorie, on utilise usuellement le nom "1" pour noter un objet terminal et "0" pour noter un objet initial.

Soit $P$ un produit cartésien de $\{(0,A); (1,B)\}$ et $Q$ un produit cartésien de $\{(0,A'); (1,B')\}$. Soient $f,g$ respectivement dans $hom(A,A')$ et $hom(B,B')$. L'unique application telle que blabla (exercice) qui est dans $hom(P,Q)$ est souvent notée $(f|g)$.

Mono, epi, iso

Soit $C$ une catégorie et $f\in Fl(C)$.

$f$ est un monomorphisme abrège toutes flèches $g,h$ ayant le comme but la source de $f$ et vérifiant $f\circ g = f\circ h$ vérifient $g=h$

$f$ est un épimorphisme abrège toutes flèches $g,h$ ayant le comme source le but de $f$ et vérifiant $g\circ f = h\circ f$ vérifient $g=h$

$f\in hom(a,b)$ est un isomorphisme abrège il existe $g\in hom(b,a)$ telle que $f\circ g= id_b$ et $g\circ f=id_a$

Notion d'exponentielle

Soit $C:=(O,F,Source, But, \circ)$ une catégorie cartésienne. Soit le diagramme $G(A,B):=(\{0;1\}, \emptyset , \{(0,A) ;(1,B) \}, \emptyset)$, pour chaque $(A,B)\in O^2$. On suppose que (et ce pour chaque $(A,B)$ ) le diagramme $$(\{0;1;2\}, \{(2,0); (2,1)\}; \{(0,A); (1,B), (2,A*B)\}, \{((2,0), p_1(A,B)); ((2,1),p_2(A,B))\})$$ est un produit cartésien de $G(A,B)$. La phrase $C$ est cartésienne fermée abrège il existe une fonction $ev$ et une fonction notée $(A,B)\in O^2\mapsto B^A\in O$ telle que pour tous $A,B, X$ dans $O$ et tout $f\in hom(X*A, B)$, il existe une unique $g\in hom(X, B^A)$ telle que $ev(A,B)\in hom(B^A*A,B)$ et $$ f = ev(A,B) \circ ( g | id_A ) $$

Les catégories cartésiennes fermées sont appréciées parce qu'elles ressemblent aux catégories ENS(..), qui sont toutes cartésiennes fermées. Un exercice figurant dans le cours d'Alain Prouté est très rigolo (et plus facile qu'il en a l'air), le voici:

Soit $C$ une catégorie telle que $C$ et $C^{op}$ sont cartésiennes fermées. Prouver que $C$ est "un ordre", ie que pour tous $A,B$ dans $Obj(C): card(hom(A,B)\leq 1$.

Soit $C$ une catégorie telle que tout diagramme sans arête a une limite projective. (Je ne sais pas si on dit que $C$ est complète ou supercomplète, peu importe). Montrer qu'alors $C$ a un objet initial. Ce phénomène est rigolo en ce qu'il montre que "le produit de tout le monde répété ad nauseum est forcément nul".

Carré cartésien, produit fibré, pullback

Soit $G$ un diagramme de la forme $ ( \{1;2;9\} , \{(1,9) ; (2,9) \} , \sigma, \phi )$. On dira qu'il est une fibre. On appelle produit fibré le fait d'être une limite projective d'une fibre. Le diagramme avec 4 sommets obtenu s'appelle un carré cartésien. La flèche allant du nouveau sommet vers 2 s'appelle pullback de la flèche allant de 1 vers 9 le long de la flèche allant de 2 vers 9

Exemples usuels

Foncteurs et transformations naturelles

Lemme de Yoneda

Topos

Soit $C$ une catégorie cartésienne fermée ayant un objet initial $0$. Elle a forcément un objet terminal $1$ à cause du produit vide).

On note $L$ l'ensemble des monomorphismes de $C$. On définit sur $L$ la relation d'équivalence suivante: $But(f)=But(g)$ et il existe $h\in Isommorphisme(Source(f), Source(g))$ tel que $f = g\circ h$.

On appelle classifiant, un couple $(v,\Omega)$ où $\Omega\in C$ et $v\in hom(1,\Omega)$ ayant en plus la propriété suivante: pour tout monomorphisme $f$ de $C$, il existe un unique élément $\sigma(f)\in hom(But(f), \Omega)$ tel que le diagramme Carré(Unique(Source(f), 1); \sigma(f); f; v ) soit un carré cartésien, la flèche $f$ étant un pullback de la flèche $v$ le long de $\sigma(f)$. De plus pour tous homomorphismes $f,g$ : $f==g$ ssi $\sigma(f)=\sigma(g)$.

Intuitivement, $\sigma(f)$ est la "fonction caractéristique de l'image directe de $f$" si on pense à $f$ comme à une application.

Un topos est une catégorie cartésienne fermée ayant un classifiant, un objet initial, et admettant toutes les limites projectives finies.

Catégories qui singent le produit tensoriel (monoidales je crois)

Précisions paradigmatiques pour connecter la présente page aux docs officiels

J'ai essayé de respecter les conventions usuelles. Il y a quelques différences qui ne changent rien à la recherche dans ce domaine, je dirais même sans aucun égard, "quelques petites améliorations" par rapport à la littérature courante: il n'y a que des petites catégories dans ce qui précède. C'est normal et ça ne change rien au schmilblick. Lorsqu'on veut étudier (plus précisément faire semblant) des prétendues grosses catégories, on se place dans un inaccessible et c'est tout. C'est aussi pour ça que j'ai préféré dire qu'il y a plusieurs catégories ENS (une par modèle de ZF). A noter qu'on n'a pas besoin d'avoir tout ZF pour avoir une catégorie vérifiant tout ce qu'on attend d'une catégorie ENS.

Les autres différences ne peuvent que résulter que de ma béotie sur le sujet, elles ne sont pas volontaires. Je n'ai donné aucune démonstration (on les trouve partout), et ça a déjà été un travail (pas fini) pour moi de taper cette page.

Commentaires et sujets de réflexions

Une algèbre de Heyting est une catégorie cartésienne fermée $C$ telle que pour tous objets $A,B$ de $C$, $card(hom(A,B))\leq 1$. Les algèbres de Heyting sont les modèles de la logique intuitionniste (enfin plus poitilleusement "logique minimale") où l'implication "A implique B" est $B^A$ et où le "et" est le produit cartésien (enfin "un" produit cartésien).

Dans une catégorie $C$, 2 objets isomorphes sont indiscernables (ils vérifient les mêmes propriétés sans paramètres définies dans $C$ sur le langage de la théorie des catégories). On peut ainsi s'amuser à les identifier, itérer le processus jusqu'à avoir une catégorie dans laquelle 2 objets isomorphes sont forcément égaux. On dira que la catégories obtenue est un squelette (bigre..., le film d'horreur) de $C$. Par exemple, un squelette d'un topos est un topos et les catégories ens peuvent être regardées comme formées uniquement des cardinaux (pour objets) et des applications de l'un dans l'autre. Cela montre que l'idée qu'un topos "représente en partie" l'activité mathématique est tout entière concentrée dans les flèches. en même temps, ça réhabilité l'idée que les maths ne s'occupent que de nombres (les cardinaux sont les nombres, éventuellement infinis)

Comme dit dans l'introduction, on peut économiser pas mal d'encre pour formaliser la science et ne pas passer par un topos booléen (ie essentiellement un truc qui ressemble à la TDE bridée à moins que ZF(C)), il suffit de sortir des catégories, sans les rejeter complètement, ie de réaliser un petit programme très rapide où il y a encore "pas mal d'histoires de flèches", mais en introduisant les "K" et "$\sigma$" de l'introduction, qui permettent de définir en une ligne $a\in b$ (c'est à dire $b(a)$) par $\sigma (b\circ K(a))$. Les militants (qui ont payé leur adhésion au parti catégoricien chaque année lol), puristes n'aiment évidemment pas ce genre de passe-droit puisqu'il fait revenir par la fenètre un $\in$ qui était sorti par la porte sous leurs sifflets. Chaque lecteur qui aura maturé ça se fera son idéologie personnelle. Je fais cette page pour informer les gens qui ne veulent pas commencer par "lire 300 pages", dans lesquelles en plus, la plupart du temps sont oubliées 70% des quantificateurs (Il parait que Bourbaki sortirait un livre de catégories... Bon, mais vu que les composants humains de cet être moral sont tous morts, faut voir)

Appendice ensembliste, définition des mathématiques

le mot mathématique est une abréviation de recherche de certitudes absolues

on considère qu'une certitude ne peut être qu'un énoncé prouvé

On appelle preuve de maths ou encore preuve mathématique un texte $p$ dans lequel tout ce qui n'est pas justifié est supposé, attention: absolument TOUT. Le théorème issu de $p$ est l'implication toutes les hypothèses faites dans $p$ entrainent sa dernière phrase

Exemple: Toto mange donc Lea boit est considérée comme une preuve irréfutable du théorème suivant:

Théorème: si Toto mange alors si si Totomange alors Lea boit alors Lea boit

L'histoire de la pensée (même si elle s'est exprimée avec maldresse et lourdeur), a toujours oublié "pudiquement" de remarquer que le langage génère ses propres axiomes. Cependant, l'avantage des preuves de maths est que tout ce qui est supposé se voit, donc sera mis en hypothèse, y compris, les axiomes générés automatiquement par le langage

Ca n'a pas empéché qu'on a dû croire à un moment (pour atteindre le côté "absolu" présent dans la définition du mot "mathématique") qu'il était important de réduire le langage à sa plus simple expression et à ne garder que ce qui est indispensable pour commencer à dire la moindre chose. En effet, toute élaboration est autant de risque pris pour détruire le statut certain des choses qu'on raconte. Cela a donné la chose suivante:

Règles linguistiques initiales des maths

(1) En maths, il ne peut y avoir qu'un seul mode: le présent de l'indicatif

Les certitudes absolues ne sont pas "dans le temps", ce qui explique la première règle

(2) Il n'y a que des sujets et des verbes... Euuu non, c'est encore trop compliqué et risqué. Il n'y a que des sujets. Et tous les sujets sont des verbes. Et en bref, ce sont des mots.

(3) Toute phrase trop longue risque de nous faire commettre des erreurs et détruire le caractère absolu des maths. La longueur d'une phrase doit donc être de 2 mots au plus. Au delà, c'est de la loghorrhée risquée

(4) Il ne doit pas y avoir de règles d'exception qui viendraient troubler la simplicité du langage. Donc, dès qu'on met deux mots l'un à côté de l'autre, ça doit donner une phrase.

C'est la règle (4) qui explique plus en détail la fin de (2).

(5) On ne peut exclure que le langage, même réduit à sa plus simple expression ci-dessus, génère des axiomes tacites. On prévoit donc un signe permettant d'assumer avec honnêteté scientifique qu'on en est conscient. Quand le contexte sera à la prudence scientifique on écrira donc $a\in b$ à la place de $b\ a$. Pourquoi l'inversion? Bin tout bêtement parce qu'on dispose grammaticialement d'un mot déjà très courant dans le langage qui est ensemble. Sauf que les ensembles sont des verbes et se situent généralement en deuxième position dans les phrases de 2 mots. Par ailleurs, en maths (enfin en logique d'aujourd'hui, pour des raisons de rapidité de parsing par ordinateur, on met le verbe (qui s'appelle un prédicat) devant l'argument). Idem avec les fonctions, etc.

Exemple: en LM rouge bil; en français bil est rouge; en mode "prudence scientitifique": $bil\in rouge$

Bon bin, une fois qu'on a dit tout ça, faudrait pas oublier la possibilité de créer des nouveaux mots. On s'autorise donc des définitions. Les définitions sont paramétrées. Par exemple l'adjectif / verbe / prédicat / ensemble / propriété paire est une abréviation, mais pour la définir on annonce au lecteur la chose suivante: (paire x) abrège (x est un entier naturel et il existe un entier naturel qui peut dire sans mentir que son double est x)

L'exemple précédent n'est pas mathématique, c'est juste pour illustrer que le côté gauche est (paire x):= et non paire:=

Nous allons voir en fait que les paramètres ne sont pas nécessaires à la condition de rajouter ce que j'appellerai des "ponctuations" mais dont le nom officiel est "combinateurs".

Mais avant, nous allons respecter une règle PRIMORDIALE: toute suite de mots doit avoir un statut. On ne peut pas prétendre faire de la science, surtout à l'époque où on délègue aux ordinateurs un certain nombre de calculs et se retrouver à devoir répondre snif, vous zêtes méchant, vous m'avez donné une suite de symboles incorrectes et ça m'a fait me planter

Cette règle n'a hélas pas été respectée historiquement. Le droit que se sont arrogés nos ancètres scientifiques de ne pas le respecter explique en grande partie pourquoi ils ont choisi la voie de l'évitement face à ce qu'ils ont appelé des paradoxes de fondement et qui n'étaient que des théorèmes (qui ont attendu entre 30 et 50ans pour être timidement traduits en les théorèmes de Cantor et de Gödel)

En s'adressant aujourd'hui à des matheux, cela revient à dire que tout mot est à la fois une fonction et sert d'argument à n'importe quelle autre fonction et une suite de mots ou de signes a b c ... n'est rien d'autre que (((...a(b))(c))(d))...)

Nos définitions usuelle et paramétrées font usage de variable liées, ie de lettres qui indiquent ce que la nouveau mot abrège: exemple eva x y : = y(x) définit le nouveau mot "eva" et les lecteurs sont censé traduire ensuite eva toto chien en chien(toto).

Cette activité s'appelle le lambda-calcul pur. En fait, on n'a pas besoin des lettres x,y pour définir eva (ou n'importe quoi d'autre) dès lors qu'on a définitivement admis (ce sera notre (presque) seule concession à la simplicité) dans notre langage les combinateurs suivants:

K x y abrège x (pour tout x)

C x y z abrège y(x z) (pour tout x,y,z)

B x y abrège y x (pour tout x,y)

J x abrège x (pour tout x)

W x y abrège x y y (pour tout x,y,z)

Les gens ne sont pas habitués, donc peuvent trouver ça un peu cryptique, mais ces "ponctuations" permettent d'éviter tout simplement l'usage de lettres pour définir de nouvelles notions. Par exemple, je souhaite définir un nouveau mot G ayant comme signification que G x y z = x z y

Et bien il me suffit de dire** que G := C B. Au début, c'est un peu pénible, mais on s'habitue vite. D'autant qu'on ne va que peu l'utiliser dans cette page

** x z y = B y (x z) = C x (B y ) z = C B x y z

C'est un peu la philosophie du lambda calcul pur: tout est fonction. A noter que dire "tout est fonction" ou dire "tout est ensemble" est techniquement équivalent.

Afin de faciliter les intertraductions, je vais donc rajouter des mots-clé et un peu platoniciens pour passer quand on veut des fonctions aux ensembles.

Les ensembles posent un apparent problème qui est que la mise de 2 ensembles l'un à côté de l'autre doit donner une phrase. Et on n'est pas habitué à mettre un 3 ième mot à côté d'une phrase, comme par exemple : Paris dort Medor, au plutôt si si on est habitué mais pour des raisons que notre exigence de certitude et de simplicité ne peut pas accepter.

Habituellement, la fonction $f$ est l'ensemble des couples tels que $(x,y)\in f$. Ce n'est évidemment pas le processus grammaticial que nous allons retenir car, si un nom qui n'a pas vocation à désigner une fonction est à gauche d'un autre, on ne saurait plus correctement comment penser la juxtaposition

Nous considérons donc que le regard de f comme est un ensemble est l'ensemble des couples $(x,y)$ tels que $y\in f(x)$. Cela donne une règle syntaxique très simple: Set a x := Set(a (x K)) (x F)

On voit apparaitre une des premières récursivités (le dictionnaire des langues vivantes en est plein) grammaticales de notre langage.

Ainsi qu'un des tous premiers axiomes: pour tous x,y: Set x y est toujours une phrase (qui signifie y appartient à x)

Nous allons attribuer à K et à K J un statut de phrase. Tout d'abord, une abréviation définitive: F:= K J. K sera nommé "valeur vraie" et F sera nommé "valeur fausse".

Ce choix est de ma part tout à fait arbitraire. C'est parce qu'on est à l'époque de l'informatique et que je m'arrange pour ressembler aux implémentations habituelles des langages fonctionnels. En effet, cette convention permet de comprendre, quand a est une phrase a b c comme if a then b else c, ce qui est économique. Par exemple K 3 x qui vaut 3 est bien égal à ce qu'on attend de if vrai then 3 else x

Attention: on vient de trouver deux valeurs possibles pour les phrase, les plus connues, le vrai et le faux, mais on n'a absolument pas de raison de penser qu'elles ne sont que 2. Cette idée qu'elles ne doivent être que 2 est un axiome auquel tous les mathématiciens se sont raccrochés jusqu'au 19ième siècle.

On peut remarquer qu'en définissant Imp x y := (x y K), on obtient ce qu'on attend tous de l'implication mathématique. Exercice: donner un abréviation de Imp sans utiliser de variable. Pour écrire de manière imagée, en général, on écrit plutôt $(a \to b)$ que Imp a b

C'est vers la fin du 19ième siècle qu'est apparu la crise des fondements. Je vais la présenter de 2 manières différentes:

Manière1: prenons n'importe quelle phrase P. Définissons a x:= Imp (x x) P. On se retrouve alors avec la phrase a a, je l'abrège par Z, qui est telle que Z=(Z implique P). Il suit l'évidence que Z implique (Z implique P), donc Z implique P, donc Z, donc P. Je viens de prouver la phrase P en une ligne sans même savoir ce qu'elle dit.

Manière2: soit f quelconque. Définissons a x := f (x x). Je note maintenant e:= a a. Il suit que e =f(e). Je viens d'obtenir un point fixe de f en une demi-ligne.

Quels enseignements tirer de ces arguments?

Le premier est important et n'a pas été assez regardé (il a fallu que la physique nous bouscule pour qu'on commence un peu à se remttre en cause sur nos admis univoques): ce qui vient d'arriver sous vos yeux ne vient pas de l'utilisation de variables. En fait j'aurais pu écrire: je nomme a := C (W J) f et je m'intéresse à e:= a a (autrement dit e est bêtement C (W J) f (C (W J) f )). La conclusion aurait été la même.

La conclusion à tirer de ces arguments est, scientifiquement, la plus naturelle: on a prouvé un théorème qui dit que toute fonction admet un point fixe.

Oui, oui, je sais ça parait bizarre, mais ne vous inquiétez pas, on va villégiaturer un peu mais pas longtemps dans ce monde exotique.

L'autre option, celle qui a été suivie (à tort) historiquement, consisterait à "censurer" certaines suites de mots. Mais ça contrevient à notre règle que toute suite de mots doit être acceptées comme ayant un statut (imaginez un logiciel avec un shell où le vendeur vous dirait "attention, ne tapez jamais des expressions incorrectes sinon, il explose et c'est fini"

Du fait que l'opérateur "non" admet un point fixe, il faut se rendre à l'évidence, il existe (du moins dans notre paradigme de phrases) une phrase EGALE à sa négation.

J'attire l'attention sur le fait nous avons ajouté beaucoup d'audace logique pour arriver à des contradictions ou du moins des conclusions spectaculaires. Nous allons la recenser minutieusement, cette audace, et on va voir que le pouvoir du langage n'est pas si grand que ça.

A COMPLETER, mise en place du langage universel

Un théorème très important

Comme il a été vu ci-dessus, une phrase égale à sa négation donne une moitié de chemin vers $super\infty$: il faut pouvoir la cloner une fois pour accéder au paradis. Je laisse en exercice (trivial) aux lecteurs de contruire des phrases qui donnent un 14ième de chemin menant à $super\infty$. Ou encore une phrase qui donne $1/\mathbb{N}$ ième de chemin menant à $super\infty$.

On doit à un chercheur nommé JYGirard la lucidité d'avoir décidé d'assumer le clonage des ressources dans l'expression logique. Par exemple, il a invité à nommer $a\otimes a$ la phrase dont les garanties sont exactement les paquets de 2 garanties chacune de $a$. Il a aussi inventé*** un symbole noté $!$ pour représenter la puissance de reproduire à volonté une garantie. Par exemple $!a$ est une phrase dont chaque garantir est un producteur à volonté de garantie de $a$, et même 0 fois de $a$ si on le désire de sorte que ça induit $(!a) \leq (!a)\otimes (!a)$ et $(!a)\leq a$ et $(!a)\leq 1$

Hélas, pour ce dernier symbole, il s'est trompé comme l'illustrerait un point fixe $e$ vérifiant $e=(!(e\to Tout))$.

toute fonction logique admet évidemment un point fixe. Sauf qu'ici problème: la fonction $f(x):=!(x\to Tout)$ .... n'est pas une fonction logique, puisqu'on n'a en effet aucune garantie que $(a=b)\leq (f(a)=f(b))$.

Cette erreur a été à l'origine des difficultés qui ont accompagné l'acceptation de la MQ. Une petite faiblesse, même espérée infiniment petite explose littéralement si on la reproduit à l'infini. En particulier la transitivité du signe "=" qui parait évidente a été complètement mise à mal par la révolution quantique sans que personne ne réussisse vraiment à ne pas s'en étonner (ce qui est, soit dit en passant, peu excusable quand on "grossit" des objets infiniment petits, mais bon l'école primaire nous formate)

*** JYG n'a pas inventé ce symbole, il l'a DECOUVERT (on n'invente pas les maths on les découvre, comme les exemples des 2 sections précédentes l'ont illustrées), j'en donne donc une définition. Par récurrence ordinale, let echel(a)= let $u$ in $u_0:=1$, puis $u_{\alpha+1}:=u_{\alpha}$, puis aux étape limites on prend la borne inférieure. On attend que ça stabilise, pour $\kappa$ assez grand, et c'est ce $u_{\kappa}$ que l'on appelle $(!a)$.

Selon les phrases dont on part, on a bien sûr aucun moyen de savoir quand ça va s'ârrêter et surtout, de toute façon, on ne parviendra jamais à prouver que $(a=b) \leq echel(a)(i)=\echel(b)(i)$ quand $i$ devient trop grand.

Avant de fermer ce paragraphe, je prouve que $a+a=a$. Il n'y aura donc JAMAIS aucun espoir que la superposition de phrases ait une structure de groupe commutatif. Je note $a\wedge b:=$ la borne inférieure de $\{a;b\}$. On est face à une fonction logique, donc additive donc $a\wedge (a+a) = (a\wedge a)+(a\wedge a) = a+a$, ce qui montre que $a\geq a+a$. En faisant de même avec la borne supérieure, on obtient $a\leq a+a$ et finalement $a=(a+a)$

Exercice: je reviens sur les phrases $a+(non(a))$ qui sont points fixes de non (vue l'additivité de non et la commutativité de +). Peut-on les supposer toutes égales sans collapser tout le système?

Exercice: soient $f,g$ qui commutent. A-t-on forcément l'existence de $x$ tel que $x=f(x)=g(x)$?

A COMPLETER, mise en place de ZF(C)

Théorie "usuelle" des ensembles

A SUIVRE

Je m'arrête provisoirement là pour faire vérifier la page par des experts avant de la continuer.