ATLAS Ouvrir dans l'atlas →

Lemme 1Suites codées et démonstrations dans PA

Termes fonctionnels et énoncés vrais de la classe 𝒮 dans l'arithmétique de Peano

Les conventions sont celles de Relations p.r. dans PA. Chaque fonction primitive récursive est donnée avec une construction, celle qu'écrivent les preuves des chapitres Fonctions primitives récursives et Arithmétisation de la syntaxe, et elle s'écrit dans 𝖯𝖠\mathsf{PA} par une définition naturelle du point (vi) de Fonctions p.r. dans PA, prise avec une partie VV qui contient toutes les variables en jeu ; le point (vii) du même nœud rend ce choix indifférent, à l'équivalence près dans 𝖯𝖠\mathsf{PA}. Les termes du langage sont dits ordinaires.

Les termes fonctionnels sont les mots obtenus à partir des variables et de 00 par SS, ++, ×\times et par l'application des fonctions primitives récursives : si ff est d'arité nn et si τ1,…,τn\tau_1, \dots, \tau_n sont des termes fonctionnels, f(τ1,…,τn)f(\tau_1, \dots, \tau_n) en est un. Ce ne sont pas des termes du langage, qui n'a que les symboles 00, SS, ++ et ×\times ; une formule écrite avec des termes fonctionnels, ou formule fonctionnelle, abrège une formule du langage, sa traduction, que l'on définit ainsi.

Pour une formule χ\chi, une variable xx et un terme fonctionnel τ\tau dont aucune variable n'est quantifiée dans χ\chi, on définit χ[τ/x]\chi[\tau/x] par récurrence sur τ\tau. Si τ\tau est ordinaire, c'est la substitution habituelle. Si τ=f(τ1,…,τn)\tau = f(\tau_1, \dots, \tau_n), on prend des variables nouvelles e,e1,…,ene, e_1, \dots, e_n et l'on pose χ[τ/x]=∃e (f(e1,…,en)=e∧χ[e/x])[τ1/e1]⋯[τn/en],\begin{aligned} \chi[\tau/x] = {}&\exists e\, \big(f(e_1, \dots, e_n) = e \\ &\quad \wedge \chi[e/x]\big)[\tau_1/e_1] \cdots [\tau_n/e_n], \end{aligned} où f(e1,…,en)=ef(e_1, \dots, e_n) = e est la définition naturelle de ff écrite avec ces variables, au sens de Fonctions p.r. dans PA ; quand τk\tau_k est ordinaire, on l'écrit directement à la place de eke_k. Si τ\tau est S τ1S\,\tau_1, τ1+τ2\tau_1 + \tau_2 ou τ1×τ2\tau_1 \times \tau_2, on substitue de même S e1S\,e_1, e1+e2e_1 + e_2 ou e1×e2e_1 \times e_2 à xx, puis les τk\tau_k aux eke_k. Une égalité τ=σ\tau = \sigma abrège (x=y)[τ/x][σ/y](x = y)[\tau/x][\sigma/y], pour des variables nouvelles xx et yy, et, pour une relation primitive récursive RR, la formule R^(τ1,…,τn)\hat R(\tau_1, \dots, \tau_n) abrège R^(v)[u/v][τ1/u1]⋯[τn/un]\hat R(v)[u/v][\tau_1/u_1] \cdots [\tau_n/u_n], où [u/v][u/v] est la substitution simultanée de variables nouvelles u1,…,unu_1, \dots, u_n aux vkv_k, comme au nœud Relations p.r. dans PA, de sorte que les termes τk\tau_k ne se substituent pas les uns dans les autres ; les connecteurs et les quantificateurs se traduisent par eux-mêmes, et Φ[τ/x]\Phi[\tau/x] désigne la formule fonctionnelle obtenue en écrivant τ\tau à la place des occurrences libres de xx. Les variables nouvelles sont les premières, dans l'ordre x0,x1,…x_0, x_1, \dots, qui ne figurent ni dans les formules et les termes en jeu, ni dans les définitions naturelles employées : la traduction est déterminée à l'équivalence près dans 𝖯𝖠\mathsf{PA}, et l'on prend toujours les variables nouvelles hors des termes à substituer. Deux traductions d'une même formule fonctionnelle écrites avec d'autres variables nouvelles, ou avec d'autres définitions naturelles des mêmes constructions, sont équivalentes dans 𝖯𝖠\mathsf{PA} : par récurrence sur la traduction, le renommage d'une variable existentielle (Calcul à variables libres, (iii)), appliqué dans les deux sens comme au point (ii) de Collection et forme Σ₁, le point (vii) de Fonctions p.r. dans PA et la monotonie de Récurrence dans PA, (ii), passent de l'une à l'autre. On ne les distingue donc pas.

Quand les arguments tkt_k et le terme ss sont ordinaires, la formule f(t1,…,tn)=sf(t_1, \dots, t_n) = s garde le sens qu'elle a au nœud Fonctions p.r. dans PA ; sa traduction ∃e (f(t)=e∧e=s)\exists e\, (f(t) = e \wedge e = s) lui est équivalente par le point (i) de Fonctions usuelles dans PA, et l'on emploie l'une pour l'autre.

Énoncé

Soit Γ\Gamma un ensemble fini de formules, Φ\Phi et Ψ\Psi des formules fonctionnelles, et τ\tau, σ\sigma, ρ\rho des termes fonctionnels dont aucune variable n'est quantifiée dans Φ\Phi.

(i) Valeurs. Soit f(t)=f(t1,…,tn)f(t) = f(t_1, \dots, t_n) un terme fonctionnel dont les arguments tkt_k sont ordinaires, et ee une variable qui ne figure ni dans Φ\Phi, ni dans sa traduction, ni dans les tkt_k. Remplaçons par ee certaines occurrences de f(t)f(t) dans Φ\Phi, dont aucune n'est dans la portée d'un quantificateur sur une variable des tkt_k, et notons Φe\Phi_e la formule obtenue. Alors {f(t)=e}⊢𝖯𝖠Φ↔Φe\{f(t) = e\} \vdash_{\mathsf{PA}} \Phi \leftrightarrow \Phi_e.

(ii) Règles. (a) Si ee ne figure ni dans Γ\Gamma, ni dans Ψ\Psi et sa traduction, ni dans les tkt_k, et si Γ∪{f(t)=e}⊢𝖯𝖠Ψ\Gamma \cup \{f(t) = e\} \vdash_{\mathsf{PA}} \Psi, alors Γ⊢𝖯𝖠Ψ\Gamma \vdash_{\mathsf{PA}} \Psi.

(b) Si xx n'est libre dans aucune formule de Γ\Gamma et si Γ⊢𝖯𝖠Φ\Gamma \vdash_{\mathsf{PA}} \Phi, alors Γ⊢𝖯𝖠Φ[τ/x]\Gamma \vdash_{\mathsf{PA}} \Phi[\tau/x].

(c) On a ⊢𝖯𝖠τ=τ\vdash_{\mathsf{PA}} \tau = \tau, ⊢𝖯𝖠τ=σ→σ=τ\vdash_{\mathsf{PA}} \tau = \sigma \to \sigma = \tau, ⊢𝖯𝖠(τ=σ∧σ=ρ)→τ=ρ\vdash_{\mathsf{PA}} (\tau = \sigma \wedge \sigma = \rho) \to \tau = \rho et ⊢𝖯𝖠τ=σ→(Φ[τ/x]↔Φ[σ/x])\vdash_{\mathsf{PA}} \tau = \sigma \to (\Phi[\tau/x] \leftrightarrow \Phi[\sigma/x]).

(d) Si h=f∘(g1,…,gm)h = f \circ (g_1, \dots, g_m), alors ⊢𝖯𝖠h(τ1,…,τn)=f(g1(τ),…,gm(τ))\vdash_{\mathsf{PA}} h(\tau_1, \dots, \tau_n) = f(g_1(\tau), \dots, g_m(\tau)), où gj(τ)g_j(\tau) abrège gj(τ1,…,τn)g_j(\tau_1, \dots, \tau_n) ; et la formule naturelle P^\hat P de la relation P(v)  ⟺  R(g1(v),…,gm(v))P(v) \iff R(g_1(v), \dots, g_m(v)) vérifie ⊢𝖯𝖠P^(τ)↔R^(g1(τ),…,gm(τ))\vdash_{\mathsf{PA}} \hat P(\tau) \leftrightarrow \hat R(g_1(\tau), \dots, g_m(\tau)).

(iii) Énoncés vrais de 𝒮\mathcal S. Tout énoncé de la classe 𝒮\mathcal S de Forme Σ₁ des r.e. qui est vrai dans 𝒩\mathcal N est démontrable dans 𝖯𝖠\mathsf{PA}.

(iv) Calculs clos. Soit Φ\Phi un énoncé fonctionnel obtenu, par ∧\wedge et ∨\vee, à partir d'égalités τ=σ\tau = \sigma et de formules R^(τ1,…,τn)\hat R(\tau_1, \dots, \tau_n) ou ¬R^(τ1,…,τn)\neg\hat R(\tau_1, \dots, \tau_n), où les termes fonctionnels sont clos. Si Φ\Phi est vrai dans 𝒩\mathcal N quand on y lit chaque symbole ff comme la fonction ff et chaque R^\hat R comme la relation RR, alors ⊢𝖯𝖠Φ\vdash_{\mathsf{PA}} \Phi. En particulier, pour des entiers a1,…,ana_1, \dots, a_n, on a ⊢𝖯𝖠f(a1‾,…,an‾)=b‾\vdash_{\mathsf{PA}} f(\underline{a_1}, \dots, \underline{a_n}) = \underline b, où b=f(a1,…,an)b = f(a_1, \dots, a_n), et ⊢𝖯𝖠R^(a1‾,…,an‾)\vdash_{\mathsf{PA}} \hat R(\underline{a_1}, \dots, \underline{a_n}) ou ⊢𝖯𝖠¬R^(a1‾,…,an‾)\vdash_{\mathsf{PA}} \neg\hat R(\underline{a_1}, \dots, \underline{a_n}) selon que R(a1,…,an)R(a_1, \dots, a_n) est vraie ou non.

Démonstration

(i) Par récurrence sur les termes, la définition de la traduction montre que chaque occurrence de f(t)f(t) produit, dans la traduction de la formule atomique où elle figure, une sous-formule ∃e′ (f(t)=e′∧β)\exists e'\, (f(t) = e' \wedge \beta), où e′e' est une variable nouvelle et β\beta la traduction du reste, écrite avec e′e' à la place de f(t)f(t) ; comme ee est un terme ordinaire, la traduction de Φe\Phi_e, écrite avec les mêmes variables nouvelles, ce que permet l'équivalence des traductions établie dans le texte, porte au même endroit la formule β[e/e′]\beta[e/e'], où ee est substituable puisque les variables nouvelles de la traduction sont prises hors de ee.

Sous l'hypothèse f(t)=ef(t) = e, montrons ∃e′ (f(t)=e′∧β)↔β[e/e′]\exists e'\, (f(t) = e' \wedge \beta) \leftrightarrow \beta[e/e']. Sous l'hypothèse supplémentaire f(t)=e′∧βf(t) = e' \wedge \beta, le point (ii) de Fonctions p.r. dans PA donne e′=ee' = e, et le remplacement d'un terme (Calcul à variables libres, (v)) donne β[e/e′]\beta[e/e'] ; l'élimination de e′e', qui n'est libre ni dans f(t)=ef(t) = e ni dans β[e/e′]\beta[e/e'], donne un sens. Pour l'autre, (f(t)=e′∧β)[e/e′](f(t) = e' \wedge \beta)[e/e'] est f(t)=e∧β[e/e′]f(t) = e \wedge \beta[e/e'], et l'introduction de l'existentiel, avec le terme ee, conclut.

Les variables liées au-dessus de cette sous-formule, dans la traduction de Φ\Phi, sont des variables quantifiées dans Φ\Phi ou introduites par la traduction ; par hypothèse et par le choix des variables nouvelles, aucune n'est ee ni une variable des tkt_k, et aucune n'est donc libre dans f(t)=ef(t) = e. Une récurrence sur la formule, avec la règle des tautologies pour les connecteurs et la monotonie du point (ii) de Récurrence dans PA pour les quantificateurs, permise sous l'hypothèse f(t)=ef(t) = e, remplace la sous-formule par son équivalente. On traite ainsi les occurrences choisies une à une.

(ii) (a) Par le point (ii) de Fonctions p.r. dans PA, ⊢𝖯𝖠∃e f(t)=e\vdash_{\mathsf{PA}} \exists e\ f(t) = e, puisque ee ne figure pas dans les tkt_k. L'élimination de l'existentiel (Récurrence dans PA, (i)), permise puisque ee n'est libre ni dans Γ\Gamma ni dans Ψ\Psi, donne Γ∪{∃e f(t)=e}⊢𝖯𝖠Ψ\Gamma \cup \{\exists e\ f(t) = e\} \vdash_{\mathsf{PA}} \Psi, puis Γ⊢𝖯𝖠Ψ\Gamma \vdash_{\mathsf{PA}} \Psi.

(b) Par récurrence sur le nombre de symboles de fonctions primitives récursives de τ\tau. Si τ\tau est ordinaire, la traduction de Φ[τ/x]\Phi[\tau/x] est celle de Φ\Phi où l'on a substitué τ\tau à xx, puisqu'on prend les variables nouvelles de la traduction hors de τ\tau, ce que permet l'équivalence des traductions établie dans le texte. La généralisation sous hypothèses (Récurrence dans PA, (i)) donne Γ⊢𝖯𝖠∀x Φ\Gamma \vdash_{\mathsf{PA}} \forall x\, \Phi, et l'axiome (2), avec le terme τ\tau, qui est substituable puisqu'aucune de ses variables n'est quantifiée dans la traduction, donne Γ⊢𝖯𝖠Φ[τ/x]\Gamma \vdash_{\mathsf{PA}} \Phi[\tau/x]. Sinon, soit f(t)f(t) un sous-terme de τ\tau dont les arguments sont ordinaires, ee une variable nouvelle, et τe\tau_e le terme obtenu en remplaçant cette occurrence par ee. L'hypothèse de récurrence donne Γ⊢𝖯𝖠Φ[τe/x]\Gamma \vdash_{\mathsf{PA}} \Phi[\tau_e/x]. Les occurrences de f(t)f(t) qui viennent de τ\tau ne sont dans la portée d'aucun quantificateur sur une variable des tkt_k, puisqu'aucune variable de τ\tau n'est quantifiée dans Φ\Phi ; le point (i) donne donc {f(t)=e}⊢𝖯𝖠Φ[τ/x]↔Φ[τe/x]\{f(t) = e\} \vdash_{\mathsf{PA}} \Phi[\tau/x] \leftrightarrow \Phi[\tau_e/x], d'où Γ∪{f(t)=e}⊢𝖯𝖠Φ[τ/x]\Gamma \cup \{f(t) = e\} \vdash_{\mathsf{PA}} \Phi[\tau/x], et (a) conclut.

(c) Par des applications répétées de (i), en commençant par les termes intérieurs, on remplace τ\tau, σ\sigma et ρ\rho, sous des hypothèses f(t)=ef(t) = e portant sur des variables nouvelles, par des variables eτe_\tau, eσe_\sigma, eρe_\rho : on dit qu'on écrit avec les valeurs. Les quatre formules deviennent eτ=eτe_\tau = e_\tau, eτ=eσ→eσ=eτe_\tau = e_\sigma \to e_\sigma = e_\tau, la transitivité, et eτ=eσ→(Φ[eτ/x]↔Φ[eσ/x])e_\tau = e_\sigma \to (\Phi[e_\tau/x] \leftrightarrow \Phi[e_\sigma/x]), qui découlent des points (v) et (vi) de Calcul à variables libres, appliqués à la traduction de Φ\Phi, où eτe_\tau et eσe_\sigma sont substituables. Le point (a) élimine les hypothèses.

(d) Par le point (i) de Fonctions usuelles dans PA, dernière assertion, on a, pour des variables nouvelles eje_j, {g1(v)=e1,…,gm(v)=em}⊢𝖯𝖠h(v)=w↔f(e1,…,em)=w\{g_1(v) = e_1, \dots, g_m(v) = e_m\} \vdash_{\mathsf{PA}} h(v) = w \leftrightarrow f(e_1, \dots, e_m) = w. Sous les mêmes hypothèses, le point (i) donne f(g1(v),…,gm(v))=w↔f(e1,…,em)=wf(g_1(v), \dots, g_m(v)) = w \leftrightarrow f(e_1, \dots, e_m) = w, et (a) élimine les hypothèses : ⊢𝖯𝖠h(v)=w↔f(g1(v),…,gm(v))=w\vdash_{\mathsf{PA}} h(v) = w \leftrightarrow f(g_1(v), \dots, g_m(v)) = w. Écrite avec la valeur ww de h(v)h(v), c'est l'égalité annoncée pour les variables vv, et (b) la donne pour les termes τ\tau. Pour la relation, le point (iii) de Relations p.r. dans PA donne ⊢𝖯𝖠P^(v)↔∃z1⋯∃zm (g1(v)=z1∧⋯∧gm(v)=zm∧R^(z))\vdash_{\mathsf{PA}} \hat P(v) \leftrightarrow \exists z_1 \cdots \exists z_m\, \big(g_1(v) = z_1 \wedge \cdots \wedge g_m(v) = z_m \wedge \hat R(z)\big), et la traduction de R^(g1(v),…,gm(v))\hat R(g_1(v), \dots, g_m(v)) imbrique les gjg_j dans l'ordre inverse, puisque la dernière substitution est la plus extérieure : c'est ∃zm (gm(v)=zm∧⋯∃z1 (g1(v)=z1∧R^(z))⋯)\exists z_m\, \big(g_m(v) = z_m \wedge \cdots \exists z_1\, (g_1(v) = z_1 \wedge \hat R(z)) \cdots\big). Elles sont équivalentes par la logique pure. D'une part, si zz n'est pas libre dans α\alpha, alors ⊢∃z (α∧β)↔(α∧∃z β)\vdash \exists z\, (\alpha \wedge \beta) \leftrightarrow (\alpha \wedge \exists z\, \beta), par l'introduction et l'élimination de l'existentiel du point (iii) de Calcul à variables libres et la règle des tautologies ; cela fait sortir chaque gj(v)=zjg_j(v) = z_j, où les autres zlz_l ne figurent pas, de la portée des quantificateurs qu'il précède ou qui le suivent. D'autre part, ⊢∃z ∃z′ γ↔∃z′ ∃z γ\vdash \exists z\, \exists z'\, \gamma \leftrightarrow \exists z'\, \exists z\, \gamma, par deux introductions et deux éliminations, ce qui permet de ranger les quantificateurs dans le même ordre. Le point (b) conclut.

(iii) Soit σ\sigma un énoncé de 𝒮\mathcal S, vrai dans 𝒩\mathcal N. Par le point (ii) de Collection et forme Σ₁, une construction de σ\sigma lui associe une formule ∃y δ\exists y\, \delta, où δ\delta est Δ₀ et n'a pas d'autre variable libre que yy, telle que ⊢𝖯𝖠σ↔∃y δ\vdash_{\mathsf{PA}} \sigma \leftrightarrow \exists y\, \delta ; c'est un énoncé Σ₁. La structure 𝒩\mathcal N est un modèle de 𝖯𝖠\mathsf{PA} (Gödel-Rosser, (iii)), et le théorème de correction y rend vraie cette équivalence : ∃y δ\exists y\, \delta est vrai dans 𝒩\mathcal N. La Σ₁-complétude, (iii), donne 𝖰⊢∃y δ\mathsf Q \vdash \exists y\, \delta, donc ⊢𝖯𝖠∃y δ\vdash_{\mathsf{PA}} \exists y\, \delta, puisque 𝖯𝖠\mathsf{PA} démontre tout ce que démontre 𝖰\mathsf Q (Récurrence dans PA), et la règle des tautologies donne ⊢𝖯𝖠σ\vdash_{\mathsf{PA}} \sigma.

(iv) Remplaçons dans Φ\Phi chaque formule ¬R^(τ1,…,τn)\neg\hat R(\tau_1, \dots, \tau_n) par χR(τ1,…,τn)=0\chi_R(\tau_1, \dots, \tau_n) = 0, et notons Φ′\Phi' le résultat. Par le point (i) de Relations p.r. dans PA, ⊢𝖯𝖠¬R^(v)↔χR(v)=0\vdash_{\mathsf{PA}} \neg\hat R(v) \leftrightarrow \chi_R(v) = 0, et (b), appliqué d'abord à des variables nouvelles uku_k substituées aux vkv_k, puis aux termes τk\tau_k substitués aux uku_k, donne ces équivalences pour les termes τk\tau_k, en une substitution simultanée ; la règle des tautologies donne ⊢𝖯𝖠Φ↔Φ′\vdash_{\mathsf{PA}} \Phi \leftrightarrow \Phi'. La traduction de Φ′\Phi' est dans 𝒮\mathcal S : elle s'obtient par ∧\wedge, ∨\vee et des quantifications existentielles à partir de formules atomiques, de formules f(e1,…,en)=ef(e_1, \dots, e_n) = e, qui sont dans 𝒮\mathcal S par le point (i) de Fonctions p.r. dans PA, et de formules R^(e1,…,en)\hat R(e_1, \dots, e_n), qui y sont aussi. Par le lemme de substitution et parce que chaque définition naturelle définit le graphe de sa fonction et chaque formule naturelle sa relation, une récurrence sur les termes montre que la traduction de τ=σ\tau = \sigma est vraie dans 𝒩\mathcal N si et seulement si les valeurs de τ\tau et de σ\sigma, calculées avec les fonctions ff, sont égales, et de même pour R^(τ)\hat R(\tau) et χR(τ)=0\chi_R(\tau) = 0. La traduction de Φ′\Phi' est donc vraie dans 𝒩\mathcal N, et (iii) donne ⊢𝖯𝖠Φ′\vdash_{\mathsf{PA}} \Phi', puis ⊢𝖯𝖠Φ\vdash_{\mathsf{PA}} \Phi. Les cas particuliers sont ceux d'une seule égalité et d'une seule formule R^\hat R ou ¬R^\neg\hat R.

□
Remarque

C'est l'élimination des symboles définis : 𝖯𝖠\mathsf{PA} n'a pas de symbole pour les fonctions primitives récursives, mais, parce qu'elle démontre l'existence et l'unicité de leurs valeurs, on raisonne comme si elle en avait, et chaque égalité entre termes fonctionnels abrège une formule de 𝒮\mathcal S à quantificateurs existentiels. L'erreur la plus répandue est d'oublier la condition du point (i) sur la portée des quantificateurs : dans ∀y lg(y)⩽y\forall y\ \mathrm{lg}(y) \leqslant y, l'occurrence de lg(y)\mathrm{lg}(y) ne peut pas être remplacée par une valeur ee, qui dépendrait de yy. Les preuves des nœuds suivants écrivent donc avec les valeurs après avoir éliminé les quantificateurs qui portent sur les arguments, et réintroduisent ceux-ci à la fin.

Remarque

Le point (iv) fait de la Σ₁-complétude un outil de calcul : toute valeur d'une fonction primitive récursive en des entiers donnés est démontrée dans 𝖯𝖠\mathsf{PA}, quelle que soit sa taille. Pour ⌜S 0⌝=18 432\ulcorner S\, 0 \urcorner = 18\,432 (Codage des mots), on a ⊢𝖯𝖠lg(18 432‾)=S S 0\vdash_{\mathsf{PA}} \mathrm{lg}(\underline{18\,432}) = S\,S\,0 dès que les fonctions lg\mathrm{lg} et (N)j(N)^j sont prises avec leurs constructions, et de même ⊢𝖯𝖠Tm^(18 432‾)\vdash_{\mathsf{PA}} \widehat{\mathrm{Tm}}(\underline{18\,432}). Mais ce point ne dit rien d'une formule à variables libres comme lg(conc(M,N))=lg(M)+lg(N)\mathrm{lg}(\mathrm{conc}(M, N)) = \mathrm{lg}(M) + \mathrm{lg}(N) : ce sont de telles formules que demandent les conditions de dérivabilité, et les nœuds suivants les démontrent par récurrence. Le point (iv) ne dit rien non plus d'un énoncé vrai qui commence par ¬∃\neg\exists, comme le rappelle la seconde remarque du nœud voisin Démontrabilité (D1).

Ouvrir dans l'atlas interactif →