Proposition 5Arithmétisation de la syntaxe
Substitution et substituabilité
On reprend les définitions de Substitution : est le mot obtenu en remplaçant chaque occurrence libre de dans par le terme , et est substituable à dans si aucune occurrence libre de ne se trouve dans une sous-formule où est une variable de . Les occurrences et les sous-formules sont celles de Variables libres.
(i) Il existe une fonction primitive récursive telle que, si code une formule , un terme et si est une variable , alors
(ii) La relation : « le terme de code est substituable à la variable dans la formule de code » est primitive récursive.
(iii) Soit un terme et une variable. Si l'on remplace par certaines occurrences de , au sens de Variables libres, dans un terme, on obtient un terme ; dans une formule, on obtient une formule. En particulier, est une formule si en est une.
Démonstration
(i) On parcourt les lettres de de gauche à droite. Par récurrence primitive sur , posons et où est la condition . C'est une récurrence primitive dont l'étape est une définition par cas (Clôture, (ii)), et l'on pose .
Par récurrence sur , code le mot obtenu à partir des premières lettres de en remplaçant par chacune de celles qui sont des occurrences libres de , et en gardant les autres. Pour , c'est .
(ii) La définition se traduit, avec , par : pour tout , si et , alors il n'existe pas et tels que , que la lettre figure dans , c'est-à-dire que , et que . Une occurrence libre n'est jamais la variable d'un bloc, et elle n'est pas la lettre ; se trouver dans la sous-formule , c'est donc se trouver dans . La relation obtenue est primitive récursive par Variables libres et Clôture.
(iii) Remplacer des lettres d'un mot revient à remplacer celles de , puis celles de , et à concaténer. De plus, un rang de qui est une occurrence de variable dans en est encore une dans : la condition sur la lettre qui précède ne peut que s'affaiblir quand on retire . On raisonne par récurrence sur la longueur, avec l'inversion de Termes et de Formules, (i).
Termes. Une variable devient ou reste elle-même, et reste ; ce sont des termes. Dans , ou , les rangs remplacés sont dans ou dans , et le résultat est , ou suivi des termes que donne l'hypothèse de récurrence : c'est un terme.
Formules. Dans , les rangs remplacés sont dans les termes et , et l'on conclut par le cas des termes. Dans et , ils sont dans ou , et l'hypothèse de récurrence conclut. Dans , le rang porte la lettre et le rang , qui suit , n'est pas une occurrence : les rangs remplacés sont dans , et le résultat est suivi d'une formule.
Enfin s'obtient en remplaçant les occurrences libres de , qui sont des occurrences de .
□Pour , le calcul de ne remplace que l'occurrence libre de rang , et donne : l'occurrence de rang est liée et reste en place.
Le terme n'est pas substituable à dans : l'occurrence libre de , au rang , se trouve dans la sous-formule , et est une variable de . Le mot calculé par se termine alors par , c'est-à-dire : c'est la capture décrite au nœud Substitution.
La fonction est définie pour tous les entiers, et non seulement pour les codes de formules, de termes et de variables ; elle ne vérifie pas la substituabilité, qui est une relation à part. Toutes deux serviront à reconnaître les axiomes du groupe (2) de Démonstrations formelles.