Proposition 1Arithmétisation de la syntaxe
Codage des mots du langage de l'arithmétique
Le langage de l'arithmétique a pour signature une constante , un symbole de fonction unaire et deux symboles de fonctions binaires et (Langage, signature). On énumère son alphabet par puis pour les variables : la lettre est une variable si et seulement si .
Le code d'un mot est l'entier , codage du point (iii) de l'extension par témoins, repris dans Codages. Tout entier est le code d'une unique suite finie d'entiers, donc d'un unique mot ; on parle du « mot de code », dont la lettre de rang est pour .
Un facteur d'un mot est un mot formé de lettres consécutives de , c'est-à-dire un mot tel que pour des mots et , éventuellement vides. On note le code du facteur , formé des lettres de rangs à , pour .
Enfin, désigne le code de la concaténation des mots de codes , obtenu par concaténations successives :
Énoncé(i) Les fonctions et sont primitives récursives, de même que pour des entiers fixés.
(ii) Facteurs. Si est un facteur de , alors , et l'inégalité est stricte si . En particulier, dès que et que ou .
(iii) Si la lettre figure dans le mot de code , alors , donc .
Démonstration
(i) Définissons, par récurrence primitive sur , avec les paramètres et , Par récurrence sur , code la suite ; on pose . La fonction est une composée de , et ; toutes sont primitives récursives par Codages, (iii).
(ii) Préfixes. Pour un mot et une lettre , on a puisque pour tout entier . Par récurrence sur la longueur de , il vient si n'est pas vide.
Suffixes. Montrons , avec inégalité stricte si n'est pas vide, par récurrence sur la longueur de . Si est vide, , et le code d'un mot non vide, de la forme , est au moins . Si , l'hypothèse de récurrence et la croissance stricte de donnent avec inégalité stricte si l'hypothèse l'est.
Si enfin , on a , et si , l'un des mots et n'est pas vide, ce qui rend stricte l'une des deux inégalités. Le facteur de code est différent du mot de code si ou , puisqu'il est alors plus court.
(iii) Le mot , réduit à une lettre, est un facteur du mot de code , et son code est ; on applique (ii).
□RemarqueLes premiers codes restent lisibles : , , puis et , puisque . Mais dès cinq lettres, le code de est une tour d'exponentielles dont le premier étage, , a déjà chiffres. Seules comptent ici l'existence de ces entiers et les inégalités du point (ii).
RemarqueLe code ne croît pas avec la longueur : dépasse , alors que le premier mot n'a qu'une lettre. Le point (ii) ne compare que des mots dont l'un est facteur de l'autre, et c'est exactement ce dont la récurrence de valeurs a besoin : un mot se reconnaît à partir de ses facteurs propres, qui ont des codes plus petits.