Files
cours/fonction d'ackermann de cori et lascar.md
2026-03-23 00:40:03 +01:00

12 KiB
Raw Blame History

up, tags, aliases
up tags aliases
fonction récursive primitive
s/maths/logique
s/informatique

[!definition] fonction d'ackermann de cori et lascar fonction d'Ackermann modifiée pour la simplicité des preuves. On la note \xi, et on la définit comme suit :

  • \forall x \in \mathbb{N},\quad \xi(0, x) = 2^{x}
  • \forall y,\quad \xi(y, 0) = 1
  • \forall x, y \in \mathbb{N},\quad \xi(y+1, x+1) = \xi(y, \xi(y+1, x))

On pourra aussi noter : \xi _{n}(x) = \xi(n, x) (définie comme \xi _{n} := \lambda x. \xi(n, x)) La relation de récurrence est alors : \xi _{n+1}(x+1) = \xi _{n}(\xi _{n+1}(x)) ^definition

Propriétés

[!proposition]+ Unicité La définition donnée désigne bien une unique fonction.

[!démonstration]- Démonstration On utilise la notation \xi _{n} et la récurrence : \begin{cases} \xi _{n}(0) = 1\\ \xi _{n}(x+1) = \xi _{n-1}(\xi _{n}(x)) \end{cases} Cela établit clairement que chaque \xi _{n} est bien définie, et donc que \xi est unique.

[!proposition]+ Lemme 1 : \xi _{n}(x)>x Pour tout entiers x et n on a \xi _{n}(x) > x

[!démonstration]- Démonstration On utilise deux récurrences emboîtées : Par récurrence sur n, on montre que \forall x \in \mathbb{N},\quad \xi _{n}(x)>x

  • Initialisation : Pour n = 0 la propriété est évidente : \xi_0(x) = 2^{x} > x
  • Récurrence : Fixons n>0 et supposons que \forall x \in \mathbb{N},\quad \xi_{n-1}(x)>x On veut alors montrer que \forall x \in \mathbb{N},\quad \xi _{n}(x)>x Pour cela, on fait une récurrence sur x :
    • Initialisation sur x : La propriété est claire pour x=0, puisque \xi _{n}(0) = 1
    • Récurrence sur x : On suppose que \xi _{n}(x)>x et on va montrer que \xi _{n}(x+1)>x+1 On sait que \xi _{n}(x+1) = \xi _{n-1}(\xi _{n}(x)) Par nos suppositions, on sait que \xi _{n-1}(\xi _{n}(x)) > \xi _{n}(x) (puisque \forall x \in \mathbb{N},\quad \xi _{n-1}(x)>x). On peut donc affirmer que \xi _{n-1}(\xi _{n}(x)) \geq \xi _{n}(x)+1 (on ajoute 1 artificiellement) Encore par suppositions, on a que \xi _{n}(x)>x Ainsi on obtient : \xi _{n}(x+1) = \xi _{n-1}(\xi _{n}(x)) \geq \xi _{n}(x)+1 > x+1 Ce qui montre bien la relation de récurrence

^lemme 1 ^lemme-1

[!proposition] Lemme 2 \xi _{n}(x+1) > \xi _{n}(x) Pour tout entiers x et n on a \xi _{n}(x+1) > \xi _{n}(x)

[!démonstration]- Démonstration On procède par récurrence sur n :

  • Initialisation n=0 : \xi_0(x+1) = 2^{x+1} > 2^{x} = \xi _{0}(x+1)
  • Récurrence pour un n fixé on suppose \xi _{n}(x+1) > \xi _{n}(x) On veut alors montrer que \xi _{n+1}(x+1) > \xi _{n+1}(x) \xi _{n+1}(x+1) = \underbrace{\xi _{n}(\xi _{n+1}(x)) > \xi _{n+1}(x)}_{\text{par le lemme 1}} (fonction d'ackermann de cori et lascar#^lemme-1) ^lemme-2

[!proposition] Lemme 3 \xi_{n}(x) \geq \xi_{n-1}(x) Pour tout n \geq 1 et pour tout x on a \xi_{n}(x) \geq \xi_{n-1}(x)

[!démonstration]- Démonstration On procède par récurrence sur x :

  • Initialisation : pour x=0 On a \xi_{n}(0) = 1 \geq 1 = \xi_{n-1}(0)
  • Récurrence : pour un x fixé, on suppose \xi_{n}(x)\geq \xi_{n-1}(x) On veut alors montrer que \xi_{n}(x+1)\geq \xi_{n-1}(x+1) On sait que \xi_{n}(x) \geq x+1 (fonction d'ackermann de cori et lascar#^lemme-1) Et comme \xi_{n-1} est croissante (fonction d'ackermann de cori et lascar#^lemme-2) on a \xi_{n-1}(\xi_{n}(x)) \geq \xi_{n-1}(x+1) Or \xi_{n}(x+1) = \xi_{n-1}(\xi_{n}(x)) (par la définition par récurrence de \xi_{n}) Donc \xi _{n}(x+1) = \xi _{n-1}(\xi _{n}(x)) \geq \xi _{n-1}(x+1) ^lemme-3

[!definition] Fonctions \xi _{n}^{k} (itération de \xi _{n}) Si k est un entiers, notons \xi _{n}^{k} la fonction \xi _{n} itérée k fois :

  • \xi _{n}^{0} = \lambda x.x
  • \xi _{n}^{1} = \xi _{n}
  • \vdots
  • \xi _{n}^{k+1} = \xi _{n} \circ \xi _{n}^{k}

[!proposition] Lemme 4 propriétés trivialles des \xi _{n}^{k}

  • Les fonctions \xi _{n}^{k} sont strictement croissantes
  • \xi _{n}^{k}(x) < \xi _{n}^{k+1}(x)
  • \xi _{n}^{k}(x) \geq x
    • dem \xi _{n}^{0}(x) = x \geq x, or on vu plus haut que \xi _{n}^{k+1}(x) > \xi _{n}^{k}(x)
  • \xi _{n}^{k} \circ \xi _{n}^{h} = \xi _{n}^{k+h}
    • dem cela est assez évident par définition
  • si m \leq n alors \xi _{m}^{k}(x) \leq \xi _{n}^{k}(x)

    [!démonstration]- Démonstration On procède par récurrence sur k :

    • Initialisation : \xi _{m}^{0} = \xi _{n}^{0} = \lambda x. x donc l'inégalité est triviallement vraie
    • Récurrence : On suppose \xi _{m}^{k}(x) \leq \xi _{n}^{k}(x) et on veut montrer que \xi _{m}^{k+1}(x) \leq \xi _{n}^{k+1}(x). On sait (par définition) que : \xi _{m}^{k+1}(x) = \xi _{m} \circ \xi _{m}^{k}(x) \xi _{n}^{k+1}(x) = \xi _{n} \circ \xi _{n}^{k}(x) Or, par le fonction d'ackermann de cori et lascar#^lemme-3 on sait que \xi _{n}(X) \geq \xi _{n-1}(X) \geq \xi _{n-2}(X) \geq \cdots \geq \xi _{m}(X), ce qui permet d'obtenir \xi _{n}(X) \geq \xi _{m}(X). Comme toutes ces fontions \xi _{n} \dots \xi _{m} sont strictement croissantes, cela nous donne aussi que : X \geq Y \implies \xi _{n}(X) \geq \xi _{n}(Y) \geq \xi _{m}(Y) ce qui établit que X \geq Y \implies \xi _{n}(X) \geq \xi _{m}(Y) Et, en particulier, comme on a supposé que \xi _{n}^{k}(x) \geq \xi _{m}^{k}(x), on peut donc conclure que \xi _{n}\circ \xi _{n}^{k}(x) \geq \xi _{m} \circ \xi _{m}^{k}(x), autrement dit : \xi _{n}^{k+1}(x) \geq \xi _{m}^{k+1}(x)

^lemme-4

Domination

[!definition] fonction dominant une autre Soient f \in \mathscr{F}_{1} et g \in \mathscr{F}_{p} On dit que f domine $g$ s'il existe un entier A tel que pour tout (x_1, x_2, \dots, x_{p}) on aie g(x_1, x_2, \dots, x_{p}) \leq f(\sup\limits(x_1, x_2, \dots, x_{p}, A)). en une ligne : \boxed{f \text{ domine } g \iff \exists A \in \mathbb{N},\quad \forall \overline{x} \in \mathbb{N}^{p},\quad g(\overline{x}) \leq f(\sup\limits(\overline{x}, A))}

[!definition]+ C_{n} On appellera C_{n} l'ensemble des fonctions qui sont dominées par au moins une itérée de \xi _{n} : \boxed{C_{n} = \{ g \mid \exists k \in \mathbb{N} ,\quad \xi _{n}^{k} \text{ domine } g \}}

[!proposition]+ Quelques fonctions dans C_{0} Les fonctions suivantes appartiennent à C_0 :

  • Les fonctions de projection P_{p}^{i}
    • dem P_{p}^{i}(\overline{x}) \leq \xi _{0}^{0}(\sup\limits(\overline{x}, 0)) puisque \xi _{0}^{0} = \lambda x.x
  • Les fonctions constantes
    • dem (\lambda \overline{x}. c) \leq \xi_0^{0}(\sup\limits(\overline{x}, c)) puisque \xi_0^{0} = \lambda x.x
  • La fonction successeur S
    • dem S(x) \leq \xi_0^{1}(\sup\limits(x, 0)) puisque \xi_0^{1}(x) = 2^{x} \geq x+1
  • La fonction addition \lambda xy. x+y
    • dem (\lambda xy. x+y)(x, y) \leq \xi _{0}^{1}(\sup\limits(x, y, 1)) puisque x+y \leq 2^{\sup\limits(x, y, 1)}
  • Les fonction linéaires \lambda x. kxk est un entier quelconque
    • dem (\lambda x. kx)(x) \leq f(\sup\limits(x, k))
  • i on utilise la notation \overline{x}, voir fonction récursive primitive#^notations

[!proposition]+ \xi _{n} \in C_{n} La fonction \xi _{n} appartient à C_{n}

[!démonstration]- Démonstration On sait que \forall x,\quad \xi _{n}(x) \geq x (fonction d'ackermann de cori et lascar#^lemme-1) Donc, \forall x,\quad, \xi _{n}^{2}(x) = \xi _{n}(\xi _{n}(x)) \geq \xi _{n}(x) Ainsi, on peut affirmer que \exists k,\quad \exists A,\forall x,\quad \xi _{n}(x) \leq \xi _{n}^{k}(\sup\limits(x, A)) puisque c'est vrai en particulier pour k = 2 et A = 0 (en effet, \sup\limits(x, 0) = x car on est sur \mathbb{N}) Cela établit bien que \xi _{n} \in C_{n}

[!proposition]+ Stabilité par fonction inférieure Soient f, g \in \mathscr{F}_{p} Si g \in C_{n} et si \forall \overline{x},\quad f(\overline{x}) \leq g(\overline{x}) (si f est toujours inférieure à g) alors f \in C_{n}

[!démonstration]- Démonstration Cela est assez évident : Puisque g \in C_{n}, on sait que \exists k,\quad \exists A,\quad \forall \overline{x},\quad g(\overline{x}) \leq \xi _{n}(\sup\limits(\overline{x}, A)) Et comme \forall \overline{x},\quad f(\overline{x}) \leq g(\overline{x}) on obtient directement : \exists k,\quad \exists A,\quad \forall \overline{x},\quad f(\overline{x}) {\color{#606060}\,\leq g(\overline{x}) \leq\,} \xi _{n}(\sup\limits(\overline{x}, A)) Ce qui montre bien que \exists k,\quad \xi _{n} \text{ domine } f et donc que f \in C_{n}

[!proposition]+ Lemme 5 Clôture par composition Soient f_1, f_2, \dots, f_{m} \in \mathscr{ F_{p}} \cap C_{n} des fonctions à p variables de C_{n} Soit g une fonction à m variables de C_{n} g(f_1, f_2, \dots, f_{m}) est aussi dans C_{n}

[!démonstration]- Démonstration Comme f_1, f_2, \dots, f_{m} et g sont dans C_{n}, on sait qu'il y à des entiers k_1, k_2, \dots, k_{m}, k et A_1, A_2, \dots, A_{m}, A tels que : \forall 1 \leq i \leq m,\quad \forall \overline{x},\quad f_{i}(\overline{x}) \leq \xi _{n}^{k_{i}}(\sup\limits(\overline{x}, A_{i})) et \forall \overline{x},\quad g(\overline{x}) g= \xi _{n}^{k}(\sup\limits(\overline{x}, A)) Posons B = \sup\limits(A_1, A_2, \dots, A_{m}, A) et h = \sup\limits(k_1, k_2, \dots, k_{m}) Il est alors évident que : \forall 1 \leq i \leq m,\quad \forall \overline{x}, f_{i}(\overline{x}) \leq \xi _{n}^{h}(\sup\limits(\overline{x}, B)) et que \forall \overline{x},\quad g(\overline{x})\leq \xi _{n}^{k}(\sup\limits(\overline{x}, B)) Alors, en passant les f_1, f_2, \dots, f_{m} en argument de g on obtient : \forall \overline{x},\quad g(f_1(\overline{x}), f_2(\overline{x}), \dots, f_{m}(\overline{x})) \leq \xi _{n}^{k}(\sup\limits(f_1(\overline{x}), f_2(\overline{x}), \dots, f_{m}(\overline{x}), B)) Et, par la majoration de tous les f_{i} que l'on a déjà faîte (et car \xi _{n}^{k} est croissante et respecte \xi _{n}^{k}(x) > x) , on obtient : \forall \overline{x},\quad g(f_1(\overline{x}), f_2(\overline{x}), \dots, f_{m}(\overline{x})) \leq \xi _{n}^{k}(\xi _{n}^{h}(\sup\limits(\overline{x}, B))) Or, par les propriétés du fonction d'ackermann de cori et lascar#^lemme-4 on a \xi _{n}^{k} \circ \xi _{n}^{h} = \xi _{n}^{k+h}, donc : \forall \overline{x},\quad g(f_1(\overline{x}), f_2(\overline{x}), \dots, f_{m}(\overline{x})) \leq \xi _{n}^{k+h}(\sup\limits(\overline{x}, B)) Ce qui montre bien que g(f_1, f_2, \dots, f_{m}) \in C_{n} ^lemme-5

[!proposition]+ Lemme 6 Pour tous entiers n, k et x on a : \xi _{n}^{k}(x) \leq \xi _{n+1}(x+k)

[!démonstration]- Démonstration On procède par récurrence sur k

  • Initialisation : Pour k=0 et k=1, l'égalité est claire par croissance de \xi _{n}
  • Récurrence : Supposons que \xi _{n}^{k}(x) \leq \xi _{n+1}(x+k) \xi _{n}^{k+1}(x) = \xi _{n} \circ \xi _{n}^{k}(x) \underbrace{\leq \xi _{n}(\xi _{n+1}(x+k))}_{\text{par hypothèse}} \underbrace{=\xi _{n}(x+k+1)}_{\text{par définition de }\xi _{n}} ^lemme-6

[!proposition]+ Lemme 7 Soient g \in \mathscr{F}_{p} et h \in \mathscr{F}_{p+2} Si g et h sont dans C_{n} Alors la fonction f fonction récursive primitive#^definition de g et h (f = \rho(g, h)) appartient à C_{n+1}

Exemples