 En 1982, l'Hori Kirby et Jeff Paris réinventent dans leur article Résultat d'indépendance accessible pour la rythmétique de Péano, le mythe de Hercules contre l'Hydre de Lernes. Un problème qui fournit pour la première fois un exemple plutôt concret de ce que peut être un problème indécidable. Ça tombe bien, j'ai 2 minutes pour en parler. Voici l'Hydre de Lernes, un monstre fabuleux qui possède de nombreux stêtes et de nombreux coups. Dans le cadre du deuxième de ces 12 travaux, Hercules doit l'affronter et le vaincre et doit pour cela couper chacune de ses têtes. Le hic, c'est que lorsque l'Hydre se fait décapiter, des têtes repoussent et, contrairement à la légende, il ne pourra pas appeler son neveu à la rescousse. Existe-t-il pour notre héros une stratégie qui permettrait d'empêcher à tout jamais cet horrible monstre de nuire ? Eh bien oui, et les nombres transfinis sont là pour nous aider. Détayons un peu le mécanisme de régénération des têtes. Mathématiquement, l'Hydre peut être représenté comme un graphe et plus précisément comme un arbre enraciné. Un arbre est une structure mathématique composée de différents nœuds reliés par des arêtes mais qui ne possèdent aucun cycle. Sur un arbre, les neues situées aux extrémités sont appelées les feuilles. On dit que l'arbre est enraciné lorsque l'un des nœuds a été choisi pour en être la racine. On peut assimiler l'Hydre à un arbre où son corps est la racine de l'arbre, ses têtes sont ses feuilles, ses coups sont ses arêtes et les jonctions entre les coups sont les autres nœuds du graphe. La régénération s'effalique de l'Hydre fonctionne de la façon suivante. Lorsqu'une tête est découpée, la feuille et l'arrête correspondante sont retirées du graphe. L'Hydre se renouvellera à partir d'une nœud située en dessous de l'arrêt retiré, en générant plusieurs copies de la partie de l'arbre située au-dessus de ce nœud. Le nombre de copies créés par l'Hydre sera à chaque étape le nombre de coups donnés par Hercules. Ainsi, l'Hydre fabriquera une seule copie lors de sa première régénération, puis deux à la deuxième et ainsi de suite. A noter tout de même que lorsque Hercules découpe une tête directement reliée au corps de la bête, celle-ci ne pourra pas se régénérer. La question que Hercules se pose est évidente, quelle stratégie doit-il accomplir pour réduire à Néan le mastodonte ? Assez étonnamment, il existe des stratégies, et ça, quelle que soit la taille initiale de l'Hydre. Encore plus étonnant, une stratégie qui fonctionne toujours est de couper les têtes complètement au hasard jusqu'à extinction complète du monstre. Mais ce qui est encore plus étonnant, c'est que ce résultat est vrai, mais qu'il est impossible de le démontrer avec les outils de la rythmétique comme la démonstration par récurrence, ce qui fait que ce résultat est un indécidable de la rythmétique. Heureusement, on peut le prouver dans la théorie des ensembles et on va même le faire tout de suite. Pour vaincre l'Hydre, nous avons besoin des nombres transfinis, qui font partie de la classe des nombres ordinaux. Si vous pensez que les raisonnements sur les cardinaux infinis auxquels on a eu recours lors de cette histoire d'hôtel de Hilbert qui possédait une infinité de chambres était tordue, accrochez-vous, les nombres transfinis, c'est ton corps pire. Qu'ont-on les nombres le plus loin possible ? 0, 1, 2, 3, 4 et ainsi de suite. On peut aller aussi loin que l'on veut, mais qu'est-ce qui arrive juste après ? Eh bien c'est à ce moment-là que les nombres transfinis rentrent en jeu, après tous les nombres entiers viennent naturellement l'infini, que l'on appellera ici omega. Omega, c'est donc l'ordinal qui vient juste après l'ensemble de tous les nombres entiers. Et après, eh bien il n'y a pas de raison qui pourrait nous empêcher de compter plus loin. Et non qu'ensuite, omega plus 1, omega plus 2, omega plus 3, etc. Tous ces nombres-là sont appelés les ordinaux, parmi lesquels on distingue d'un côté les nombres entiers, et de l'autre côté les nombres transfinis et, comme souvent d'un qu'il s'agit d'infini, ces nombres ont été créés par le génial Georg Cantor. Cette construction peut sembler complètement absurde au premier abord, mais elle a du sens dès qu'on cherche à décrire des ensembles infinis bien ordonnés, c'est-à-dire des ensembles où l'on peut toujours dire entre plusieurs éléments lequel est le plus petit. Reprenons l'hôtel d'Hilbert qui possède un nombre infinie dénombrable de chambres. Les affaires étant floriscentes, un deuxième étage a été créé dans cet hôtel, deuxième étage qui lui aussi possède une infinité dénombrable de chambres. Tous les matins, le service des tâches passe dans chacune des chambres pour refaire le lit, arroser les plantes, remplir le mini-bar et changer les échantillons de champoing. Ils visiteront donc chacune des chambres en commençant par le rez-de-chaussée puis en visitant ensuite le second étage. De cette façon, les chambres sont bien ordonnées, et on peut du coup les numérotés à l'aide des ordinaux. Il y a d'abord les chambres du rez-de-chaussée numérotées par 0, 1, 2, 3, 4 et ainsi de suite. Puis, une fois que l'intégralité du rez-de-chaussée aura été visitée, on pourra passer au chambre du premier étage, que l'on numérotera par des ordinaux transfinis, omega, omega plus 1, omega plus 2, omega plus 3 et ainsi de suite. Bref, les ordinaux permettent de numéroter, même au-delà de l'infini, mais ils ne s'arrêtent pas là. Après omega, omega plus 1, omega plus 2, omega plus 3 et ainsi de suite, il y a un ordinal encore plus grand, omega plus omega, que l'on nommera plutôt omega fois 2. Viens ensuite, omega fois 2 plus 1, omega fois 2 plus 2, omega fois 2 plus 3 et ainsi de suite. Tous ces nombres permettraient de numéroter des chambres d'un hôtel d'Hilbert à deux étages. Et on peut continuer encore et ainsi parler de omega fois 3, de omega fois 4 et ainsi de suite pour numéroter les chambres d'un hôtel d'Hilbert avec davantage d'étages. Mais rien ne nous empêche de continuer et on peut donc parler de l'ordinal omega fois omega, que l'on note plus commandément omega carré. Les ordinaux inférieurs à omega carré permettent de numéroter les chambres d'un hôtel d'Hilbert possédant une infinité d'étages. Viens ensuite, omega carré plus 1, puis omega carré plus 2 et si on va toujours plus loin, on pourra parler de omega carré fois 2, qui correspondrait à un deuxième hôtel d'Hilbert possédant une infinité d'étages avec une infinité de chambres par étages construits juste en face du premier hôtel. Mais après omega carré, viennent des ordinaux comme omega carré fois 2, omega carré fois 3 et on peut poursuivre jusqu'à omega carré fois omega, c'est-à-dire de omega cube. Un tel ordinal permettrait de numéroter les chambres d'un complexe hôtelier possédant une infinité d'hôtels d'Hilbert. Gardons tout de même en tête une chose, les ordinaux ne servent pas à dénombrer mais bien à numéroter. Pour dénombrer un ensemble, c'est-à-dire compter le nombre d'objets que contient cet ensemble infini au nom, on utilisera les nombres cardinaux. Par exemple, le cardinal 5 correspond au nombre de doigts d'une main, le cardinal alef 0 correspond au nombre de nombres entiers ou au nombre de chambres dans l'hôtel d'Hilberte tandis que le cardinal alef 1 correspond au nombre de nombres réels. Les ordinaux, eux, permettent de préciser la position d'un objet au sein d'un ensemble bien ordonné. L'ordinal 4 correspond à la position de l'auriculaire sur une main, l'ordinal omega précise la position de la première chambre de l'étage de l'hôtel d'Hilberte tandis que omega plus 1 est la position de la chambre juste à côté. Évidemment, on peut continuer toujours plus loin et parler de omega puissance 4, de omega puissance 5, de omega puissance 6 et ainsi de suite jusqu'à omega puissance omega. La métaphore de l'hôtel d'Hilberte commence à devenir difficile à tenir à présent, surtout que l'on peut toujours trouver des ordinaux plus grands comme omega puissance omega plus 1, voire omega puissance omega carré, voire même omega puissance omega puissance omega, ou encore omega puissance omega puissance omega puissance omega. Je m'arrête ici dans la construction des ordinaux, mais on pourrait continuer toujours plus loin et même continuer une infinité de fois. D'ailleurs, si vous poursuivez la construction une infinité de fois, elle pourra toujours être poursuivie, mais je m'égare. Retournons simplement que l'on peut additionner et multiplier des ordinaux et même former des puissances. Les ordinaux partagent avec les entiers une propriété réellement remarquable. Tout de suite, strictement décroissante d'ordinaux atteint 0 en un nombre fini d'étape. Cela signifie que si on prend une séquence de nombreux ordinaux où chaque ordinal est strictement plus petit que le précédent, on finira toujours par atteindre tôt ou tard le nombre 0. Prenons l'exemple du room service dans un hôtel de Hilbert ayant un étage. Chaque chambre est donc numérotée par un ordinal, soit un nombre entier pour le réchausser, soit un nombre de la forme omega plus k, avec quarantier, pour le deuxième étage. Notre agent est situé quelque part dans une des chambres de l'étage, et sa perçoit qu'il a oublié ses lunettes dans l'une des chambres précédentes. Il doit donc faire marche arrière et retourner voir certaines chambres en suivant un ordre strictement décroissant. Dans un premier temps, ce sont des chambres de l'étage qu'il revisitera, jusqu'à ce qu'il atteigne la chambre omega. Dans un second temps, ce sont les chambres du réchausser qu'il faut retourner voir. Seulement, il y a une infinité de chambres. Il est donc impossible de recommencer par la dernière d'entre elles, mais seulement par une des chambres avec un très grand numéro. Si ils visitent les chambres en suivant un ordre décroissant, c'est donc un nombre fini de chambres qu'il visitera finalement au réchausser avant de s'arrêter à 0. Bref, si on décompte des ordinaux, on retombe toujours sur 0, et ça, ça permettra à Hercule de vaincre cet affreuse hydre. Revenons justement à notre hydre et mesurons sa force. Cette mesure ne se fera pas avec des nombres entiers ou réels, mais avec des nombres ordinaux. On va définir la mesure de la force d'une hydre en associant à chaque tête, à chaque coup et à chaque nœud une certaine force. Pour cela, on commence par affecter à chaque tête le nombre 0 et à chacun des coups menant à une tête le nombre 1. Ensuite, pour chaque nœud où sont basés 1 ou plusieurs de ces coups, on y associe le nombre de coups. Pour les autres coups et les autres nœuds, on procède de façon similaire. On associe à chacun des coups l'ordinal Omega-Puissance X, où X est la force d'une nœud juste au-dessus, et on associe enfin à chaque nœud la somme des forces des coups qui y reposent. Par exemple, ce morceau de coup mène à un nœud de force 2, il aura donc pour force Omega-Puissance 2, c'est-à-dire Omega-4. Sur le nœud juste en dessous repose un coup de force 1 et un coup de force Omega-4, il aura donc pour force Omega-4 et plus 1. Le coup inférieur aura donc pour force Omega-Puissance Omega-4 et plus 1. On calcule la force des autres éléments du corps de l'hydre de la même façon, ce qui permet finalement de dire que cet hydre a pour force Omega-Puissance Omega-4 et plus 1 plus Omega-Cube plus 2. Cette définition de la force permet d'associer un ordinal à chaque hydre imaginable. Celle-ci a, par exemple, pour force Omega-Puissance Omega-Puissance Omega-Plus 1, tandis que celle-ci a pour force Omega-Puissance Omega-Cube plus Omega-4. Puisque l'on peut toujours comparer deux ordinaux, on peut par exemple affirmer ici que l'hydre de gauche est plus puissante que l'hydre de droite. Hercules entre en scène et coupe l'une des têtes. Quelle que soit la tête qu'il attaquera, il en résultera que la force globale de l'hydre diminuera. Par exemple, si la première tête qu'il attaque est celle-ci, la force de l'hydre deviendra Omega-Puissance Omega-4 plus 1 plus Omega-4-2 plus 2 qui est une force strictement plus petite puisque Omega-4-2 est un ordinal strictement inférieur à Omega-Cube. S'il attaque ensuite cette tête-là, la force de l'hydre deviendra Omega-Puissance Omega-4-3 plus 1 plus Omega-4-2 plus 2 qui est à nouveau strictement inférieur à la force précédente. En fait, quand une tête est coupée, bien que la largeur de l'arbre augmente, sa hauteur diminue. Ce que l'on mesure avec les ordinaux, c'est justement cette hauteur qui diminue donc à chaque étape. En poursuivant sans relâcher ses attaques, la force de l'hydre ne cessera de décroître. Puisqu'il s'agit d'une suite strictement décroissante d'ordinaux, elle finira forcément par tomber à zéro après un nombre non-infini de décapitations. Bien sûr, le combat sera certainement très long, mais on ne peut pas abattre un monstre mythologique sans un minimum de patience. Finalement, on vient démontrer que quelle que soit la forme de l'hydre et quelle que soit la stratégie de Hercules, celui-ci parviendra toujours à auxir son opposant. Pour démontrer ce théorème de l'hydre, il nous a fallu passer par les ordinaux. Mais ce que Kirby et Paris ont prouvé dans leur article est en réalité bien plus génial. Pour prouver que Hercules est toujours plus fort que l'hydre, on ne peut pas faire autrement que d'utiliser les ordinaux. La démonstration du théorème de l'hydre est en fait absolument impossible à réaliser avec les outils de la rythmétique que l'on connaît, comme les opérations sont les nombres entiers ou la démonstration par récurrence. Le théorème de l'hydre est en fait ce que l'on appelle en logique un théorème indécidable pour la rythmétique, un théorème qui est 100% vrai, mais qui ne peut pas être démontré au sein de cette théorie. C'est d'ailleurs ce qui est nonce le théorème de Gödel, la plupart des théories mathématiques contiennent des énoncés qui sont vrais, mais qui ne peuvent pas y être démontrés. Mais ça, c'est une autre histoire.