diff --git a/fonction récursive.md b/fonction partielle récursive.md similarity index 50% rename from fonction récursive.md rename to fonction partielle récursive.md index ab3f703d..dd5a9a55 100644 --- a/fonction récursive.md +++ b/fonction partielle récursive.md @@ -6,12 +6,17 @@ tags: - s/informatique aliases: - fonctions récursives + - fonction récursive --- -> [!definition] [[fonction récursive]] -> On définitit l'ensemble les fonctions récursives en prennant la [[fonction récursive primitive#^definition-courte|définition des fonctions récursives primitives]] et en lui ajoutant un schéma de définition supplémentaire, le [[schéma mu|schéma µ non borné]]. +> [!definition] [[fonction partielle récursive]] +> On définit l'ensemble des fonctions partielles récursive comme le plus petit sous-ensemble de $\mathscr{F}^{*}$ (voir [[fonction partielle#^notations|notations]]) qui : +> - contienne toutes les fonctions ([[fonction totale|totales]]) constantes, projections et la fonction successeur +> - soit clos pour la [[fonction partielle#^ré]] ^definition +> [!idea] Intuition +> On définitit l'ensemble les fonctions récursives en prennant la [[fonction récursive primitive#^definition-courte|définition des fonctions récursives primitives]] et en lui ajoutant un schéma de définition supplémentaire, le [[schéma mu|schéma µ non borné]]. # Propriétés diff --git a/fonction partielle.md b/fonction partielle.md index 60beb6ed..eeb87165 100644 --- a/fonction partielle.md +++ b/fonction partielle.md @@ -13,22 +13,24 @@ aliases: - une fonction partielle définie partout est une [[fonction totale]] -> [!info] Notation +> [!info] Notations > On notera : > - $f$ pour désigner, le couple $(A, f)$ - > - $\mathscr{F}^{*}_{p}$ l'ensemble des fonctions partielles de $\mathbb{N}^{p} \to \mathbb{N}$ + > - $\mathscr{F}^{*}_{p}$ l'ensemble des [[fonction partielle|fonctions partielles]] de $\mathbb{N}^{p} \to \mathbb{N}$ > - $\mathscr{F}^{*} = \bigcup _{p \geq 0} \mathscr{F}_{p}^{*}$ > > - ! on réservera le mot "fonction" aux [[fonction totale|fonctions totales]] > +^notations # Définitions supplémentaires -> [!definition] Composée +> [!definition] Composition > Soient $f_1, f_2, \dots, f_{n} \in \mathscr{F}_{p}$ et $g \in \mathscr{F}_{n}$ > La **fonction composée** $h = g(f_1, f_2, \dots, f_{n})$ est l'élément de $\mathscr{F}^{*}_{p}$ défini comme suit : > - $h(x_1, x_2, \dots, x_{p})$ n'est pas définie si l'une des $f_{i}(x_1, x_2, \dots, x_{p})$ n'est pas défini ou si, toutes l'étant, $g(f_1(x_1, x_2, \dots, x_{p}), f_2(x_1, x_2, \dots, x_{p}), \dots, f_{n}(x_1, x_2, \dots, x_{p}))$ n'est pas définie > - Dans le cas contraire, $h(x_1, x_2, \dots, x_{p}) := g(f_1(x_1, x_2, \dots, x_{p}), f_2(x_1, x_2, \dots, x_{p}), \dots, f_{n}(x_1, x_2, \dots, x_{p}))$ +^composition > [!definition] Récurrence > Soient $g \in \mathscr{F}^{*}_{p}$ et $h \in \mathscr{F}^{*}_{p+2}$ @@ -36,6 +38,9 @@ aliases: > - $\forall (\overline{x}) \in \mathbb{N}^{p},\quad f(\overline{x}, 0) = g(\overline{x})$ (donc, $f(\overline{x}, 0)$ est définie si et seulement si $g(\overline{x})$ l'est, et lui est égale dans ce cas) > - $\forall (\overline{x}, y) \in \mathbb{N}^{p+1},\quad f(\overline{x}, y+1) = h (\overline{x}, y, f(\overline{x}, y)$ (même remarque que plus haut) > - i on dira que $f$ est **définie par récurrence à partir de $g$ et $h$** +^recurrence + +![[schéma mu]] # Propriétés diff --git a/fonction récursive primitive.md b/fonction récursive primitive.md index 6e8d060f..1d52b441 100644 --- a/fonction récursive primitive.md +++ b/fonction récursive primitive.md @@ -137,6 +137,7 @@ Dans cette section, on démontre que quelques fonctions élémentaires sont réc > > Notons $\operatorname{prec} = \lambda x.x \dot{-}1$. On a démontré dans le lemme précédent que cette fontion est récursive primitive. > > Maintenant, on peut définir $\operatorname{sub} = \lambda xy.x \dot{-} y$ comme : > > $\operatorname{sub} = \rho(P_1^{1}, \operatorname{prec}(P_3^{3}))$ +^soustraction-positive > [!proposition]- La fonction signe est récursive primitive > On définit la [[fonction signe]] par : diff --git a/schéma mu.md b/schéma mu.md index 768022f3..bd65d09f 100644 --- a/schéma mu.md +++ b/schéma mu.md @@ -18,7 +18,7 @@ aliases: > --- > Pour les ensembles: > Si $A \subseteq \mathbb{N}^{p+1}$, alors : -> $\mu y((\overline{x}, y) \in A) = \mu y(1 \dot{-} \chi _{A}(\overline{x}, y) = 0)$ +> $\mu y((\overline{x}, y) \in A) = \mu y(1 \dot{-} \chi _{A}(\overline{x}, y) = 0)$ (voir [[fonction récursive primitive#^soustraction-positive|soustraction positive]]) ^definition > [!definition] [[schéma mu]] – Définition courte @@ -39,12 +39,14 @@ aliases: > ``` ^definition-algorithme + > [!idea] Intuition > L'idée est de préserver la propriété de posséder un algorithme de calcul. > Pour calculer $\mu y (f(\overline{x}, y)=0)$, on cherchera itérativement une valeur de $y$ en commençant par 0. > Le problème est que, si $f(\overline{x}, y)$ n'est pas définie pour l'une de ces valeurs, notre algorithme ne pourrait pas la calculer. > C'est pour cela que, si une des valeurs n'est pas dans le [[fonction partielle#^definition|domaine de définition]] de $f$, on considèrera que la recherche s'arrête ici. + # Propriétés # Exemples