ATLAS Ouvrir dans l'atlas →

Lemme 1Calculabilité et incomplétude

La fonction β de Gödel

La fonction β de Gödel est la fonction primitive récursive β(a,b,i)=r(a, 1+(i+1)b),\beta(a, b, i) = r\big(a,\ 1 + (i + 1)b\big), reste de la division euclidienne de aa par 1+(i+1)b1 + (i + 1)b.

Énoncé

Pour toute suite finie (k0,…,kn)(k_0, \dots, k_n) d'entiers, il existe des entiers aa et bb tels que β(a,b,i)=ki\beta(a, b, i) = k_i pour tout i⩽ni \leqslant n.

Démonstration

Soit s=max⁡(n,k0,…,kn)+1s = \max(n, k_0, \dots, k_n) + 1, b=s!b = s!, et mi=1+(i+1)bm_i = 1 + (i + 1)b pour i⩽ni \leqslant n. On a mi>b⩾s>kim_i > b \geqslant s > k_i.

Les mim_i sont premiers entre eux deux à deux. Soit i<j⩽ni < j \leqslant n et pp un nombre premier qui divise mim_i et mjm_j. Il divise mj−mi=(j−i)bm_j - m_i = (j - i)b. Il ne divise pas bb, sinon il diviserait mi−(i+1)b=1m_i - (i + 1)b = 1 ; par le lemme d'Euclide (Nombres premiers, (i)), il divise donc j−ij - i. Mais 1⩽j−i⩽n<s1 \leqslant j - i \leqslant n < s, donc j−ij - i divise s!=bs! = b, et pp diviserait bb.

Ainsi mim_i et mjm_j n'ont aucun diviseur premier commun ; comme tout entier d⩾2d \geqslant 2 a un diviseur premier, mi∧mj=1m_i \wedge m_j = 1.

Restes chinois. Montrons par récurrence sur l⩽nl \leqslant n qu'il existe al∈ℤa_l \in {\mathbb Z} tel que al≡kia_l \equiv k_i modulo mim_i, c'est-à-dire que mim_i divise al−kia_l - k_i, pour tout i⩽li \leqslant l. On prend a0=k0a_0 = k_0.

Supposons ala_l construit, avec l<nl < n, et soit M=m0⋯mlM = m_0 \cdots m_l. Un diviseur premier commun à MM et à ml+1m_{l+1} diviserait l'un des mim_i, par le lemme d'Euclide ; donc M∧ml+1=1M \wedge m_{l+1} = 1, et Bézout (PGCD, Bézout, (ii)) donne u,v∈ℤu, v \in \mathbb Z tels que uM+vml+1=1uM + vm_{l+1} = 1. On pose al+1=al+(kl+1−al) uM.a_{l+1} = a_l + (k_{l+1} - a_l)\, uM. Modulo chaque mim_i, i⩽li \leqslant l, on a al+1≡ala_{l+1} \equiv a_l ; modulo ml+1m_{l+1}, uM≡1uM \equiv 1 et al+1≡kl+1a_{l+1} \equiv k_{l+1}.

Soit enfin a∈ℕa \in {\mathbb N} le reste de la division de ana_n par m0⋯mnm_0 \cdots m_n. Pour chaque ii, a≡kia \equiv k_i modulo mim_i et 0⩽ki<mi0 \leqslant k_i < m_i : par unicité de la division euclidienne, kik_i est le reste de aa par mim_i, c'est-à-dire β(a,b,i)\beta(a, b, i).

□
Remarque

Pour la suite (2,0,3)(2, 0, 3), on trouve s=4s = 4, b=24b = 24, et les modules 2525, 4949 et 7373, premiers entre eux deux à deux. La construction de la preuve donne a=64 827a = 64\,827, dont les restes par 2525, 4949 et 7373 sont bien 22, 00 et 33 ; c'est le seul qui convienne entre 00 et le produit des modules, 89 42589\,425. Même pour une suite aussi courte, le code est grand devant ses termes.

Remarque

La fonction β\beta remplace le codage ⟨k0,…,kn⟩\langle k_0, \dots, k_n \rangle de Codages, qui emploie l'exponentiation : elle ne demande que l'addition, la multiplication et la division euclidienne, qui s'expriment avec les seuls symboles 00, SS, ++ et ×\times. Gödel l'a introduite dans son article de 1931 sur l'incomplétude (lemme 1), et lui a donné le nom β\beta dans ses leçons de 1934.

Ouvrir dans l'atlas interactif →