122 lines
6.2 KiB
Markdown
122 lines
6.2 KiB
Markdown
---
|
||
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)$ (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.
|
||
|
||
> [!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
|
||
> >
|
||
^lemme 1
|
||
^lemme-1
|
||
|
||
> [!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$ :
|
||
> > - **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 1]])
|
||
^lemme-2
|
||
|
||
> [!corollaire] 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|Lemme 1]])
|
||
> > Et comme $\xi_{n-1}$ est croissante ([[fonction d'ackermann de cori et lascar#^lemme-2|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}$
|
||
|
||
> [!corollaire] Lemme 4 – propriétés trivialles
|
||
> - Les fonctions $\xi _{n}^{k}$ sont strictement croissantes
|
||
> - dem évident puisque $\lambda x.x$ et les $\xi _{n}$ sont croissantes ([[fonction d'ackermann de cori et lascar#^lemme-2|Lemme 2]])
|
||
> Pour tous $m, n, k, h, x \in \mathbb{N}$ on a :
|
||
> - $\xi _{n}^{k}(x) < \xi _{n}^{k+1}(x)$
|
||
> - dem par changement de variable $X = \xi _{n}^{k}(x)$ on obtient $X < \xi _{n}(X)$ ce qui est vrai ([[fonction d'ackermann de cori et lascar#^lemme-2|Lemme 2]])
|
||
> - $\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|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$
|
||
> >
|
||
|
||
# Exemples
|
||
|
||
|
||
|
||
|