--- up: - "[[fonction récursive primitive]]" tags: - s/maths/logique - s/informatique aliases: --- > [!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)$ ^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. > [!corollaire]+ 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 > > > [!corollaire] 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$ : > > - # Exemples