Les causeries de Poincaré : le plus petit entier qu’on ne peut pas définir

Paradoxe de Berry — Carte de la série Les causeries de Poincaré : « Quel est le plus petit nombre entier qui ne peut pas être défini par une phrase de moins de cent mots français ? », Henri Poincaré, La logique de l’infini

Au début du XXe siècle, les mathématiques traversent une crise. La théorie des ensembles de Cantor, qui permet enfin de raisonner sur l’infini, produit des contradictions : des raisonnements apparemment corrects qui aboutissent à des absurdités. Russell, Zermelo, Hilbert cherchent comment réparer les fondations. Poincaré s’en mêle dans plusieurs articles de ses dernières années, dont « La logique de l’infini », repris dans Dernières pensées. Il y pose une question simple : les règles ordinaires de la logique restent-elles valables quand on parle de collections infinies ?

Dernières pensées d’Henri Poincaré, édition annotée des Éditions Dupleix.
Le livre de cet épisode : Dernières pensées d’Henri Poincaré, en édition annotée aux Éditions Dupleix. « La logique de l’infini » en est le quatrième chapitre.

Des soldats qui changent de régiment

Pour Poincaré, toute la logique classique repose sur l’art de classer. Si deux soldats sont dans le même régiment, ils sont dans la même brigade : c’est le syllogisme. Mais la conclusion n’est valable qu’à une condition :

Nous apprenons que deux soldats font partie du même régiment, et nous voulons en conclure qu’ils font partie de la même brigade ; nous en avons le droit pourvu que pendant le temps que nous mettons à faire notre raisonnement, l’un des deux hommes n’ait pas été transféré d’un régiment dans un autre.

Henri Poincaré, Dernières pensées, 1913

Toutes les contradictions, selon lui, viennent de là. On a raisonné sur une classification en la croyant fixe, alors qu’elle changeait pendant qu’on raisonnait.

Le plus petit entier qu’on ne peut pas définir

Il le montre sur un exemple que Russell lui avait opposé, et qu’il choisit « parce qu’il est amusant ». Quel est le plus petit entier qui ne peut pas être défini par une phrase de moins de cent mots ? Il existe forcément : avec moins de cent mots, on ne peut écrire qu’un nombre fini de phrases, donc définir qu’un nombre fini d’entiers, et parmi tous les autres il y en a un plus petit que tous. Mais il ne peut pas exister :

Non ; car si cet entier existait, son existence impliquerait contradiction, puisqu’il se trouverait défini par une phrase de moins de cent mots français, à savoir par la phrase même qui affirme qu’il ne peut pas l’être.

Le diagnostic de Poincaré est précis. Pour trouver ce nombre, il faut d’abord trier toutes les phrases de moins de cent mots, pour savoir quels entiers elles définissent. Mais parmi ces phrases, il y a justement celle qui parle de ce tri. On ne peut donc finir le tri qu’après avoir trouvé le nombre, et trouver le nombre qu’après avoir fini le tri. D’où sa conclusion : « ni la classification, ni le triage ne pourront jamais être terminés ».

Le programme montre la contre-épreuve. Dans un petit langage qui ne sait pas parler de lui-même, la même question a une réponse parfaitement claire. On n’y dispose que des chiffres 1 à 9 et de trois opérations, l’addition, la multiplication et la puissance. On cherche le plus petit entier qu’on ne peut pas écrire avec 1, 3, 5 ou 7 symboles au plus, sans compter les parenthèses :

from fractions import Fraction
from math import log10

# 1. Le paradoxe de Berry, rendu inoffensif.
#    Un petit langage : les chiffres 1 à 9 et les opérations +, ×, ^ (puissance).
#    Une écriture de k symboles combine deux écritures plus courtes par une opération.
PLAFOND = 10**7
ecritures = {1: set(range(1, 10))}               # avec 1 symbole : un chiffre
for k in (3, 5, 7):
    valeurs = set()
    for i in range(1, k - 1, 2):
        for a in ecritures[i]:
            for b in ecritures[k - 1 - i]:
                valeurs.add(a + b)
                valeurs.add(a * b)
                if a == 1 or b * log10(a) <= 7:        # a^b sans dépasser le plafond
                    valeurs.add(a ** b)
    ecritures[k] = {v for v in valeurs if v <= PLAFOND}

atteints = set()
for k in (1, 3, 5, 7):
    atteints |= ecritures[k]
    n = 1
    while n in atteints:
        n += 1
    print(f"avec {k} symbole(s) au plus, le plus petit entier impossible à écrire est {n}")

# 2. Autant de nombres pairs que d'entiers : n ↔ 2n, une loi qui ne change jamais.
print([(n, 2 * n) for n in range(1, 8)])

# 3. Autant de fractions que d'entiers : on les range en diagonales, p + q = 2, 3, 4…,
#    en sautant celles déjà vues (2/4 = 1/2). Chaque fraction reçoit un rang, une fois pour toutes.
def rang(cible):
    r, s = 0, 2
    while True:
        for p in range(1, s):
            f = Fraction(p, s - p)
            if f.numerator == p:           # fraction irréductible : pas encore vue
                r += 1
                if f == cible:
                    return r
        s += 1

for f in (Fraction(1, 1), Fraction(1, 2), Fraction(2, 1), Fraction(3, 7), Fraction(22, 7), Fraction(355, 113)):
    print(f"{str(f):>7} porte le numéro {rang(f)}")

Avec un seul symbole, on écrit les chiffres de 1 à 9 : le premier entier impossible est 10. Avec trois symboles, on atteint tous les entiers jusqu’à 18 (9 + 9), mais pas 19, qui est premier et trop grand pour une somme de deux chiffres. Avec cinq symboles, le premier trou est 92, avec sept, 239. Aucune contradiction : la phrase « le plus petit entier qu’on ne peut pas écrire avec 7 symboles » n’est pas une écriture du langage, elle ne peut donc pas se désigner elle-même. Le paradoxe ne naît que lorsque la langue peut parler de ses propres phrases, ce qui est le cas du français.

Il n’y a pas d’infini actuel

Avec les collections infinies, le problème s’aggrave, et Poincaré dit clairement comment il les conçoit :

Il n’y a pas d’infini actuel, et quand nous parlons d’une collection infinie, nous voulons dire une collection à laquelle on peut sans cesse ajouter de nouveaux éléments (semblable à une liste de souscription qui ne serait jamais close dans l’attente de nouveaux souscripteurs).

Une liste jamais close ne peut être classée une fois pour toutes, sauf si le classement de chaque élément ne dépend pas de ceux qui viendront après. Poincaré appelle ces classements « prédicatifs ». Ranger les entiers selon qu’ils sont plus petits ou plus grands que 10 est prédicatif : l’arrivée de 101 ne déplace personne. Ranger les nombres selon la première phrase qui les définit, dans l’ordre alphabétique, ne l’est pas : une phrase nouvelle peut passer en tête et tout bouleverser.

Cela ne l’empêche pas d’accepter une bonne partie de Cantor. Il y a autant de nombres pairs que d’entiers, parce qu’à chaque entier n on associe le pair 2n, « quand j’introduirai de nouveaux entiers, ce sera toujours le même nombre 2n qui correspondra à n ». La loi ne change jamais, elle est prédicative. Il en va de même pour la preuve de Cantor qu’il y a autant de fractions que d’entiers. La fin du programme la réalise : on range les fractions en diagonales et chacune reçoit un numéro définitif. \tfrac{1}{2} porte le numéro 2, \tfrac{3}{7} le numéro 29, \tfrac{22}{7} le numéro 263, et \tfrac{355}{113}, la célèbre approximation de π, le numéro 66 677. Aucune fraction nouvelle ne viendra changer ces numéros.

Ce qu’on lit aujourd’hui

Un bibliothécaire, et une preuve d’incomplétude. Le paradoxe que cite Poincaré s’appelle aujourd’hui le paradoxe de Berry. Russell le tenait de G. G. Berry, un bibliothécaire de la Bodléienne, à Oxford, et l’a publié en 1906. Il a eu une descendance inattendue. Dans les années 1970, Gregory Chaitin en a tiré une démonstration d’un résultat d’incomplétude. On ne peut pas démontrer qu’une suite de chiffres est « vraiment compliquée », c’est-à-dire qu’aucun programme court ne la produit, au-delà d’un certain seuil. Le paradoxe amusant est devenu un théorème sur les limites de ce qu’on peut démontrer.

« Il ne pouvait le faire » : Gödel lui a donné raison. Poincaré examine aussi les sept axiomes que Zermelo propose en 1908 pour fonder la théorie des ensembles. Il lui reproche de ne pas avoir démontré qu’ils ne mènent à aucune contradiction, et ajoute : « il ne pouvait le faire, car, pour cela, il lui aurait fallu s’appuyer sur d’autres vérités déjà établies ». En 1931, Gödel démontre qu’un système d’axiomes assez riche pour contenir l’arithmétique ne peut pas prouver sa propre cohérence. L’intuition de Poincaré est devenue un théorème. Les axiomes de Zermelo, complétés par Fraenkel, sont pourtant restés le fondement admis des mathématiques. On les utilise sans preuve de cohérence, parce qu’aucune contradiction n’est apparue depuis plus d’un siècle.

Ce que ça change, concrètement

Faire chercher le premier entier impossible. Avec les chiffres de 1 à 9 et deux opérations, trouver le premier entier qu’on ne peut pas écrire avec trois symboles est un défi de calcul mental qui tient en dix minutes. La réponse, 19, oblige à raisonner sur les nombres premiers. C’est un bon complément aux séries de calcul mental.

Raconter l’infini sans le cacher. Autant de pairs que d’entiers, autant de fractions que d’entiers : ces résultats étonnent toujours une classe, et la numérotation des fractions en diagonales se fait au tableau. La séquence Plus grand que l’infini de l’option Maths-Philo va plus loin, jusqu’à l’argument de Cantor qui montre qu’il y a « plus » de nombres réels.

Montrer une phrase qui parle d’elle-même. « Cette phrase est fausse », « le plus petit entier qu’on ne peut pas définir en moins de cent mots » : les paradoxes autoréférents fascinent les élèves. Ils montrent que le problème n’est pas l’infini lui-même, mais la façon d’en parler.

À vous

  • parlez-vous de l’infini en classe ? À partir de quel niveau ?
  • avez-vous un paradoxe préféré pour faire réfléchir une classe ?
  • et la question qui fâche : faut-il enseigner des mathématiques dont on sait qu’on ne pourra jamais prouver la cohérence ?

Les commentaires sont ouverts.

Dans la même série. Les causeries de Poincaré parcourent les quatre livres qu’Henri Poincaré a écrits pour le grand public. L’épisode sur le raisonnement par récurrence défendait déjà l’idée que l’arithmétique repose sur une intuition de l’infini que la logique seule ne fournit pas. Le précédent ouvrait Dernières pensées avec les figures mal faites. Tous les épisodes : la série complète.


« La logique de l’infini », chapitre IV de Dernières pensées (Flammarion, 1913). Poincaré est mort en 1912 : le texte est dans le domaine public, et se lit en entier sur Wikisource. Les citations sont reproduites telles quelles, vérifiées sur le fac-similé de l’édition Flammarion de 1920. Pour le lire sur papier : Dernières pensées en édition annotée aux Éditions Dupleix, ou en réimpression chez Forgotten Books.

Votre commentaire

Pas de compte à créer. Votre adresse ne sera ni publiée, ni transmise : elle ne sert qu’à vous prévenir si je vous réponds.

Le premier message d’un nouveau visiteur attend ma relecture avant d’apparaître ; les suivants sont publiés aussitôt.