Notation des flèches chaînées de Conway
# Notation des flèches chaînées de Conway

La notation des flèches chaînées de Conway est une notation créée par le mathématicien John Horton Conway, permettant d'exprimer de très grands nombres. Elle consiste en une suite finie d'entiers positifs séparés par des flèches, comme

    $2\rightarrow 31\rightarrow 14\rightarrow 5\rightarrow 623$.

Comme beaucoup d'autres expressions combinatoires, sa définition est récursive. Au bout du compte, elle revient à élever le nombre le plus à gauche à une puissance entière et généralement énorme.

## Définition

### Définition des chaînes

Du point de vue de la notation, une chaîne de Conway (ou chaîne) est définie récursivement de la manière suivante :

* tout entier positif constitue (à lui seul) une chaîne de longueur 1 ;
* une chaîne de longueur $n+1$ est constituée par une chaîne de longueur $n$ (la « queue »), suivie d'une flèche $\rightarrow$, suivie d'un entier positif (la « tête » de la chaîne).

Une chaîne Y qui n'est pas incluse dans une chaîne plus longue, de la forme $X\rightarrow Y$, $Y\rightarrow Z$, ou $X\rightarrow Y\rightarrow Z$, est dite chaîne complète.

### Valeur d'une chaîne

Dans la définition suivante, $p\,\!$ et $q\,\!$ sont des nombres entiers positifs et $X\,\!$ est une chaîne dont la valeur est supposée connue (en cela, la définition est récursive). On pose :

* $p\rightarrow q=p^{q}\,\!$ (exponentiation)
* $X\rightarrow 1=X\,\!$ (et donc $X\rightarrow p\rightarrow 1=X\rightarrow p\,\!$)
* $X\rightarrow (p+1)\rightarrow (q+1)=X\rightarrow \left(X\rightarrow p\rightarrow (q+1)\right)\rightarrow q=X\rightarrow \left(X\rightarrow \left(\ldots X\rightarrow \left(X\right)\rightarrow q\ldots \right)\rightarrow q\right)\rightarrow q$, avec p+1 copies de la chaîne X, p copies de q, et p paires de parenthèses.

La troisième règle (le cas général) est bien entendu le cœur de la définition. Avec ce mécanisme de réécriture, une chaîne de longueur 3 ou plus se terminant par un entier supérieur ou égal à 2 peut se réécrire sous la forme d'une chaîne de même longueur, avec un pénultième élément immensément plus grand, mais un dernier élément décrémenté d'une unité. En appliquant cette règle de manière itérative, la décrémentation du dernier élément le réduit finalement à 1, ce qui permet de réduire la longueur de la chaîne d'une unité (règle 2). Après « de très nombreuses étapes intermédiaires » (pour reprendre l'expression de Knuth), la chaîne finit par être réduite à deux éléments, ce qui permet de conclure (règle 1).

Sous forme de programme récursif, la réduction s'écrit (si la chaîne est de longueur au moins deux):

N.B. : S'il est très facile de programmer un tel algorithme, il est inutile de demander à son ordinateur de l'exécuter pour des nombres autres que les cas de base. La notation des flèches chaînées de Conway permet d'exprimer des nombres si grands que le temps d'exécution sur des nombres de taille non négligeable serait incommensurablement grand (généralement inimaginablement supérieur à l'âge de l'Univers).

### Exemples simples

En explicitant un peu :

* Une chaîne de longueur 1 est juste un nombre : $p$ ;
* Une chaîne de longueur 2 est un nombre élevé à une puissance entière : $p^{q}$ ;
* Une chaîne de longueur 3 correspond à la notation de Knuth et à l'hyper opérateur : $p\to q\to r={\mbox{hyper}}(p,r+2,q)=p\underbrace {\uparrow \dots \uparrow } _{r\ {\text{flèches}}}q=p\uparrow ^{r}q$ ;
* Une chaîne de longueur 4 est généralement trop grande pour être facilement exprimée avec un opérateur de Knuth, c'est pourquoi cette notation devient pratique.

## Propriétés

Cette notation n'est pas associative. En effet :

* $2\rightarrow 3\rightarrow 2=2\uparrow \uparrow 3=2^{2^{2}}=16$
* $2\rightarrow \left(3\rightarrow 2\right)=2^{3^{2}}=512$
* $\left(2\rightarrow 3\right)\rightarrow 2=\left(2^{3}\right)^{2}=64$

La chaîne $X\rightarrow p\rightarrow q\,\!$ peut toujours être exprimée sous la forme $X\rightarrow r\,\!$, où $r\,\!$ est un nombre entier considérablement plus grand que $p\,\!$ et $q\,\!$.

Par conséquent :

* Une chaîne commençant par $a\,\!$ est une puissance de $a$ ;
* Une chaîne commençant par 1 est égale à 1, puisqu'elle s'écrira finalement $1^n=1.$ En fait, toute chaîne contenant un 1 peut être tronquée juste avant ce 1 : $X\rightarrow 1\rightarrow Y=X$ pour toutes chaînes $X$ et $Y$. Cela se démontre par récurrence sur la taille et la dernière valeur de la chaine $Y$. On peut finalement toujours la réduire sous la forme $X\rightarrow 1\rightarrow n$ qui se réécrit en $X$ ;
* Une chaîne commençant par $2\rightarrow 2\,\!$ est de la forme $2\rightarrow 2\rightarrow p\,\!$ et donc égale à 4 (voir ci-dessous).

Les cas les plus simples avec quatre nombres sont :

* $a\rightarrow b\rightarrow 2\rightarrow 2=a\rightarrow b\rightarrow a^{b}\,\!$
* $a\rightarrow b\rightarrow 3\rightarrow 2=a\rightarrow b\rightarrow \left(a\rightarrow b\rightarrow a^{b}\right)$

Si pour une chaîne $X\,\!$ on définit la fonction $f(n)=X\rightarrow n\,\!$, alors $X\rightarrow p\rightarrow 2=f^{p}(1)\,\!$ (voir Composition de fonctions).

## Exemples

Il est difficile de donner des exemples pertinents, car ils requièrent 4 éléments et correspondent à des nombres beaucoup trop grands pour pouvoir être explicités. Cependant, dans les exemples suivants, les numéros entre parenthèses à la fin de chaque ligne indiquent quelle partie de la définition de la notation a été utilisée pour passer d'une ligne à l'autre.

* $4\rightarrow 3\rightarrow 2\,\!$

    = $4\rightarrow (4\rightarrow (4)\rightarrow 1)\rightarrow 1\,\!$ (3) (désormais, les paires de parenthèses inutiles, comme ici, ne seront plus systématiquement indiquées)
    = $4\rightarrow (4\rightarrow 4)\,\!$ (2)
    = $4\rightarrow \left(4^{4}\right)\,\!$ (1)
    = $4^{256}\,\!$ (1)
    = $1,34\times 10^{154}$, approximativement

Avec la notation de Knuth : $4\rightarrow 3\rightarrow 2=4\uparrow \uparrow 3=4^{4^{4}}\,\!$

* $2\rightarrow 2\rightarrow 4\,\!$

    = $2\rightarrow 2\rightarrow 3\,\!$ (3)
    = $2\rightarrow 2\rightarrow 2\,\!$ (3)
    = $2\rightarrow 2\rightarrow 1\,\!$ (3)
    = $2\rightarrow 2\,\!$ (2)
    = $2^{2}\,\!$ (1)
    = $4\,\!$

En fait, toute chaîne commençant par $2\rightarrow 2$ est égale à 4.

* $2\rightarrow 4\rightarrow 3\,\!$

    = $2\rightarrow (2\rightarrow (2\rightarrow 2\rightarrow 2)\rightarrow 2)\rightarrow 2\,\!$ (3)
    = $2\rightarrow (2\rightarrow 4\rightarrow 2)\rightarrow 2\,\!$ (d'après l'exemple précédent)
    = $2\rightarrow (2\rightarrow (2\rightarrow (2\rightarrow 2\rightarrow 1)\rightarrow 1)\rightarrow 1)\rightarrow 2\,\!$ (3)
    = $2\rightarrow (2\rightarrow (2\rightarrow (2\rightarrow 2)))\rightarrow 2\,\!$ (2)
    = $2\rightarrow (2\rightarrow (2\rightarrow (4)))\rightarrow 2\,\!$ (1)
    = $2\rightarrow (2\rightarrow 16)\rightarrow 2\,\!$ (1)
    = $2\rightarrow 65536\rightarrow 2\,\!$ (1)
    = $2\rightarrow (2\rightarrow (2\rightarrow (\ldots 2\rightarrow (2\rightarrow (2)\rightarrow 1)\rightarrow 1...)\rightarrow 1)\rightarrow 1)\rightarrow 1\,\!$ (3) avec 65 535 paires de parenthèses
    = $2\rightarrow (2\rightarrow (2\rightarrow (\ldots 2\rightarrow (2\rightarrow 2)\ldots )))\,\!$ (2)
    = $2\rightarrow (2\rightarrow (2\rightarrow (\ldots 2\rightarrow 4\ldots )))\,\!$ (1)
    = $2\rightarrow (2\rightarrow (2\rightarrow (\ldots 16\ldots )))\,\!$ (1)
    = $2\rightarrow \left(2^{N}\right)\,\!$ (1)
    = $2^{2^{N}}\,\!$

où $N\,\!$ est un nombre extrêmement grand.

Il est possible d'écrire l'expression précédente à l'aide de la notation de Knuth :

$2\rightarrow 4\rightarrow 3=2\uparrow \uparrow \uparrow 4=2\uparrow \uparrow 2\uparrow \uparrow 2\uparrow \uparrow 2=2\uparrow \uparrow 2\uparrow \uparrow 4=2\uparrow \uparrow 2\uparrow 2\uparrow 2\uparrow 2=2\uparrow \uparrow 65536\,\!$

* $2\rightarrow 3\rightarrow 2\rightarrow 2\,\!$

    = $2\rightarrow 3\rightarrow (2\rightarrow 3)\rightarrow 1\,\!$ (3)
    = $2\rightarrow 3\rightarrow 8\,\!$ (1 et 2)
    = $2\rightarrow (2\rightarrow 2\rightarrow 8)\rightarrow 7\,\!$ (3)
    = $2\rightarrow 4\rightarrow 7\,\!$ (voir ci-dessus)
    = $2\rightarrow (2\rightarrow (2\rightarrow 2\rightarrow 6)\rightarrow 6)\rightarrow 6\,\!$ (3)
    = $2\rightarrow (2\rightarrow 4\rightarrow 6)\rightarrow 6\,\!$ (voir ci-dessus)
    = $2\rightarrow (2\rightarrow (2\rightarrow 4\rightarrow 5)\rightarrow 5)\rightarrow 6\,\!$ (id.)
    = $2\rightarrow (2\rightarrow (2\rightarrow (2\rightarrow 4\rightarrow 4)\rightarrow 4)\rightarrow 5)\rightarrow 6\,\!$ (id.)
    = $2\rightarrow (2\rightarrow (2\rightarrow (2\rightarrow (2\rightarrow 4\rightarrow 3)\rightarrow 3)\rightarrow 4)\rightarrow 5)\rightarrow 6\,\!$ (id.)
    = $2\rightarrow (2\rightarrow (2\rightarrow (2\rightarrow 2^{2^{N}}\rightarrow 3)\rightarrow 4)\rightarrow 5)\rightarrow 6\,\!$ (d'après l'exemple précédent)

Ici, il devient impossible d'expliciter le nombre plus avant.

À l'aide de la notation de Knuth : $2\rightarrow 3\rightarrow 2\rightarrow 2=2\uparrow \uparrow \uparrow \uparrow \uparrow \uparrow 2\uparrow \uparrow \uparrow \uparrow \uparrow 2\uparrow \uparrow \uparrow \uparrow 2\uparrow \uparrow \uparrow 2\uparrow \uparrow 65536\,\!$.

* $3\rightarrow 2\rightarrow 2\rightarrow 2\,\!$

    = $3\rightarrow 2\rightarrow (3\rightarrow 2)\rightarrow 1\,\!$ (3)
    = $3\rightarrow 2\rightarrow 9\,\!$ (1 et 2)
    = $3\rightarrow 3\rightarrow 8\,\!$ (3)

Ce qui correspond à un nombre proprement gigantesque.

À l'aide de la notation de Knuth : $3\rightarrow 2\rightarrow 2\rightarrow 2=3\uparrow \uparrow \uparrow \uparrow \uparrow \uparrow \uparrow 3\uparrow \uparrow \uparrow \uparrow \uparrow \uparrow 3\uparrow \uparrow \uparrow \uparrow \uparrow 3\uparrow \uparrow \uparrow \uparrow 3\uparrow \uparrow \uparrow 3\uparrow \uparrow 7,6\times 10^{12}\,\!$

## Fonction d'Ackermann

La fonction d'Ackermann peut être exprimée à l'aide de la notation de Conway :

    $A(m,n)=(2\rightarrow n+3\rightarrow m-2)-3\,\!$ pour $m>2\,\!$

et donc :

    $2\rightarrow n\rightarrow m=A(m+2,n-3)+3\,\!$ pour $n>2\,\!$

(les cas $n=1\,\!$ et $n=2\,\!$ peuvent être considérés en posant $A(m,-2)=-1\,\!$ et $A(m,-1)=1\,\!$).

## Nombre de Graham

Le nombre de Graham $G\,\!$ — qui fut longtemps le plus grand nombre utilisé dans une démonstration mathématique — ne peut pas être exprimé de façon succincte dans la notation de Conway, mais si l'on définit la fonction $f(n)=3\rightarrow 3\rightarrow n\,\!$, alors :

* $G=f^{64}(4)\,\!$ et
* $3\rightarrow 3\rightarrow 64\rightarrow 2<G<3\rightarrow 3\rightarrow 65\rightarrow 2\,\!$

Il est possible de prouver le deuxième point :

$3\rightarrow 3\rightarrow 64\rightarrow 2\,\!$

    = $3\rightarrow 3\rightarrow (3\rightarrow 3\rightarrow (\ldots 3\rightarrow 3\rightarrow (3\rightarrow 3)\rightarrow 1\ldots )\rightarrow 1)\rightarrow 1\,\!$ (3), avec 128 fois le chiffre 3
    = $3\rightarrow 3\rightarrow (3\rightarrow 3\rightarrow (\ldots 3\rightarrow 3\rightarrow (3\rightarrow 3)\ldots ))\,\!$ (1)
    = $f^{64}(1)\,\!$

De même, $3\rightarrow 3\rightarrow 65\rightarrow 2=f^{65}(1)=f^{64}(27)\,\!$

Comme $f\,\!$ est strictement croissante, $f^{64}(1)<f^{64}(4)<f^{64}(27)\,\!$, ce qui conduit à l'inégalité recherchée.

On peut noter que la simple expression $3\rightarrow 3\rightarrow 3\rightarrow 3\,\!$ est immensément plus grande que le nombre de Graham.

