RÉCURSIVITÉ : LES FONCTIONS RÉCURSIVES

Documents pareils
De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

EXERCICE 4 (7 points ) (Commun à tous les candidats)

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

3 Approximation de solutions d équations

Continuité en un point

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

Université Paris-Dauphine DUMI2E 1ère année, Applications

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

Groupe symétrique. Chapitre II. 1 Définitions et généralités

Relation d ordre. Manipulation des relations d ordre. Lycée Pierre de Fermat 2012/2013 Feuille d exercices

Résolution d équations non linéaires

Notes du cours MTH1101 Calcul I Partie II: fonctions de plusieurs variables

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Calcul fonctionnel holomorphe dans les algèbres de Banach

Tests non-paramétriques de non-effet et d adéquation pour des covariables fonctionnelles

LEÇON N 7 : Schéma de Bernoulli et loi binomiale. Exemples.

Extrait du poly de Stage de Grésillon 1, août 2010

Polynômes à plusieurs variables. Résultant

Image d un intervalle par une fonction continue

La fonction exponentielle

Proposition. Si G est un groupe simple d ordre 60 alors G est isomorphe à A 5.

I. Ensemble de définition d'une fonction

Chapitre 7. Récurrences

Chapitre VI Fonctions de plusieurs variables

Notes du cours MTH1101N Calcul I Partie II: fonctions de plusieurs variables

Calcul Différentiel. I Fonctions différentiables 3

Cours de mathématiques

1 Définition et premières propriétés des congruences

Comparaison de fonctions Développements limités. Chapitre 10

Pour l épreuve d algèbre, les calculatrices sont interdites.

Méthodes de quadrature. Polytech Paris-UPMC. - p. 1/48

I. Polynômes de Tchebychev

NOMBRES COMPLEXES. Exercice 1 :

1 Première section: La construction générale

Commun à tous les candidats

CHAPITRE IV. L axiome du choix

Cours 02 : Problème général de la programmation linéaire

Capes Première épreuve

Probabilités sur un univers fini

Théorème du point fixe - Théorème de l inversion locale

Continuité d une fonction de plusieurs variables

Chapitre 2. Eléments pour comprendre un énoncé

MESURE ET INTÉGRATION EN UNE DIMENSION. Notes de cours

Principe de symétrisation pour la construction d un test adaptatif

Probabilités sur un univers fini

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Calcul différentiel sur R n Première partie

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Cours d Analyse I et II

Simulation de variables aléatoires

3. Conditionnement P (B)

Théorèmes de Point Fixe et Applications 1

Amphi 3: Espaces complets - Applications linéaires continues

Développements limités. Notion de développement limité

HÖLDER CONTINUITY AND WAVELETS

Items étudiés dans le CHAPITRE N5. 7 et 9 p 129 D14 Déterminer par le calcul l'antécédent d'un nombre par une fonction linéaire

Intégration et probabilités TD1 Espaces mesurés Corrigé

Manipulateurs Pleinement Parallèles

Etude de fonctions: procédure et exemple

Un K-espace vectoriel est un ensemble non vide E muni : d une loi de composition interne, c est-à-dire d une application de E E dans E : E E E

Comment tracer une droite représentative d'une fonction et méthode de calcul de l'équation d'une droite.

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

Informatique Générale

Suites numériques 3. 1 Convergence et limite d une suite

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

a et b étant deux nombres relatifs donnés, une fonction affine est une fonction qui a un nombre x associe le nombre ax + b

Structures algébriques

Bureaux régionaux de la CSST

Mathématiques Algèbre et géométrie

Dualité dans les espaces de Lebesgue et mesures de Radon finies

Optimisation Discrète

Variations du modèle de base

MATHEMATIQUES APPLIQUEES Equations aux dérivées partielles Cours et exercices corrigés

Chapitre 2 Le problème de l unicité des solutions

Resolution limit in community detection

Espérance conditionnelle

Rupture et plasticité

Les fonction affines

Initiation à l algorithmique

Cours arithmétique et groupes. Licence première année, premier semestre

Fonctions de plusieurs variables et applications pour l ingénieur

Marc HINDRY. Introduction et présentation. page 2. 1 Le langage mathématique page 4. 2 Ensembles et applications page 8

Corrigé des TD 1 à 5

Logique : ENSIIE 1A - contrôle final

Fonctions de plusieurs variables

ÉTUDE ASYMPTOTIQUE D UNE MARCHE ALÉATOIRE CENTRIFUGE

Analyse Numérique : SMA-SMI S4 Cours, exercices et examens

Durée de L épreuve : 2 heures. Barème : Exercice n 4 : 1 ) 1 point 2 ) 2 points 3 ) 1 point

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

Sujet 4: Programmation stochastique propriétés de fonction de recours

Fonctions de plusieurs variables et changements de variables

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Exercice autour de densité, fonction de répatition, espérance et variance de variables quelconques.

Sur certaines séries entières particulières

Exemple 4.4. Continuons l exemple précédent. Maintenant on travaille sur les quaternions et on a alors les décompositions

4. Martingales à temps discret

Géométrie dans l espace Produit scalaire et équations

F7n COUP DE BOURSE, NOMBRE DÉRIVÉ

Cours d Analyse. Fonctions de plusieurs variables

2 Division dans l anneau des polynômes à plusieurs variables

Transcription:

RÉCURSIVITÉ : LES FONCTIONS RÉCURSIVES MATHIEU BÉLANGER 1. Définition de la récursivité Dans un premier ordre d idées, nous introduisons la notion de récursivité. Définition. (1) Les fonctions suivantes sont dites fonctions initiales : (I) la fonction nulle : Z(x) 0 pour tout x ; (II) la fonction successeur : N(x) x + 1 pour tout x ; (III) les fonctions de projection : U n i (x 1,..., x n ) x i pour tout x 1,..., x n. (2) Les règles suivantes permettent d obtenir de nouvelles fonctions à partir de fonctions déjà introduites : (IV) Substitution : Une fonction f est dite obtenue par substitution à partir des fonctions g(y 1,..., y m ), h 1 (x 1,..., x n ),..., h m (x 1,..., x n ) si f(x 1,..., x n ) g(h 1 (x 1,..., x n ),..., h m (x 1,..., x n )) (V) Récursivité : Une fonction f est dite obtenue par récursivité à partir des fonctions g et h si f(x 1,..., x n, 0) g(x 1,..., x n ) f(x 1,..., x n, y + 1) h(x 1,..., x n, y, f(x 1,..., x n, y)) Les paramètres de la récursivité sont x 1,..., x n où n 0 est permis. (VI) Opérateur µ restreint : Soit g(x 1,..., x n, y) une fonction telle que pour tout x 1,..., x n, il existe y tel que g(x 1,..., x n, y) 0. Posons µy(g(x 1,..., x n, y) 0) le plus petit y tel que g(x 1,..., x n, y) 0. Soit f(x 1,..., x n ) µy(g(x 1,..., x n, y) 0). La fonction f est dite obtenue par l opérateur µ restreint à partir de g si un tel y existe, c est-à-dire si, pour tout x 1,..., x n, il existe un plus petit y tel que g(x 1,..., x n, y) 0. (3) Une fonction f est récursive primitive si et seulement si : (a) il existe une suite finie de fonctions f 0,..., f n telle que f n f, (b) pour tout 0 i n, f i est une fonction initiale ou f i s obtient des fonctions f j (j < i) au moyen des règles de substitution et de récursivité. Intuitivement, une fonction est donc récursive primitive si et seulement si elle s obtient de fonctions initiales par un nombre fini d applications des règles de substitution et de récursivité. Présenté au Séminaire de logique, UQAM, 1 er décembre 2005. Référence : Elliot Mendelson, Introduction to Mathematical Logic, 4 e édition, 3.3, p. 174-182. 1

RÉCURSIVITÉ : LES FONCTIONS RÉCURSIVES 2 (4) Une fonction f est récursive si et seulement si (a) il existe une suite finie de fonctions f 0,..., f n telle que f n f, (b) pour tout 0 i n, f i est une fonction initiale ou f i s obtient des fonctions f j (j < i) au moyen des règles de substitution, de récursivité et de l opérateur µ restreint. Sur la base de cette définition, il est évident que toute fonction récursive primitive est également récursive. 2. Fonctions récursives primitives Nous allons maintenant nous donner un certain nombre de fonctions récursives primitives. Pour ce, nous aurons besoin de la proposition ci-dessous qui permet certaines manipulations sur les variables d une fonction primitive récursive. Proposition (3.14). 1 Soit g(y 1,..., y k ) une fonction récursive primitive. Soient x 1,..., x n des variables distinctes entre elles. Soit également z i (1 i k) une des variables x 1,..., x n. La fonction f telle que f(x 1,..., x n ) g(z 1,..., z k ) est récursive primitive. Démonstration. Soit z i x ji tel que 1 j i n. Alors, z i Uj n i (x 1,..., x n ). La fonction f s écrit donc : f(x 1,..., x n ) g(z 1,..., z k ) g(u n j 1 (x 1,..., x n ),..., U n j k (x 1,..., x n )) La fonction f s obtient des fonctions récursives primitives g et Uj n 1,..., Uj n k par substitution. Elle est donc elle-même récursive primitive. Exemples. (1) L ajout de variables vides préserve le caractère récursif primitif d une fonction. Soient g(x 1, x 3 ) une fonction récursive primitive et f une fonction telle que f(x 1, x 2, x 3 ) g(x 1, x 3 ). Posons z 1 U 3 1 (x 1, x 2, x 3 ), z 2 U 3 3 (x 1, x 2, x 3 ). Alors, f(x 1, x 2, x 3 ) g(z 1, z 2 ) g(u 3 1 (x 1, x 2, x 3 ), U 3 3 (x 1, x 2, x 3 )) Par la proposition (3.14), la fonction f est récursive primitive parce qu elle s obtient par substitution des fonctions g et Ui 3 qui sont elles-mêmes récursives primitives. (2) La permutation de variables préserve le caractère récursif primitif d une fonction. En effet, soient g(x 1, x 2, x 3 ) une fonction récursive primitive et f une fonction telle que f(x 1, x 2, x 3 ) g(x 3, x 1, x 2 ). Posons z 1 U 3 3 (x 1, x 2, x 3 ), z 2 U 3 1 (x 1, x 2, x 3 ), z 3 U 3 2 (x 1, x 2, x 3 ). Alors, par la proposition (3.14), f(x 1, x 2, x 3 ) g(z 1, z 2, z 3 ) g(u 3 3 (x 1, x 2, x 3 ), U 3 1 (x 1, x 2, x 3 ), U 3 2 (x 1, x 2, x 3 )) 1 La numérotation des propositions, corollaires, etc. est différente dans la troisième édition de Introduction to Mathematical Logic. La proposition 3.14 de la quatrième édition correspond à la proposition 3.13 de la troisième édition et ainsi de suite.

RÉCURSIVITÉ : LES FONCTIONS RÉCURSIVES 3 La fonction f est également récursive primitive parce qu elle s obtient de fonctions récursives primitives g et Ui 3 en appliquant la règle de substitution. Corollaire (3.15). (1) La fonction nulle Z n (x 1,..., x n ) 0 est récursive primitive (2) La fonction constante C n k (x 1,..., x n ) k où k est un nombre naturel est récursive primitive. (3) La règle de substitution peut être généralisée au cas où les fonctions h i ne dépendent que de certaines des variables x i,..., x n. Similairement, la règle de récursivité peut être généralisée au cas où les fonctions h i ne dépendent pas de tous les x i,..., x n, y ou f(x i,..., x n, y). Démonstration. (1) Soit la fonction initiale Z(x 1 ) 0. Alors, Z n (x 1,..., x n ) Z(x 1 ). Posons z 1 U n 1 (x 1,..., x n ), Z n (x 1,..., x n ) Z(z 1 ) Z n (U n 1 (x, 1..., x n )) Par la proposition (3.14), cette fonction est récursive primitive. (2) Par induction : k0 : la fonction C0 n (x 1,..., x n ) est récursive primitive car il s agit de la fonction nulle. Supposons que Ck n est une fonction récursive primitive et montrons que Ck+1 n est une fonction récursive primitive. Par substitution, C n k+1(x 1,..., x n ) N(C n k (x 1,..., x n )) (3) Par la proposition (3.14), il suffit d ajouter les variables manquantes comme variables vides dans les fonctions h i. Proposition (3.16). Les fonctions suivantes sont récursives primitives : (1) x + y (2) x y (3) x y (4) La fonction prédécesseur δ(x) x y si x y (5) x y 0 si x < y x y si x y (6) x y y x si x < y 0 si x 0 (7) sg(x) 1 si x 0 1 si x 0 (8) sg(x) 0 si x 0 x 1 si x > 0 0 si x 0

RÉCURSIVITÉ : LES FONCTIONS RÉCURSIVES 4 (9) x! (10) min(x, y) le minimum de x et y (11) min(x 1,..., x n ) le minimum de x 1,..., x n (12) max(x, y) le maximum de x et y (13) max(x 1,..., x n ) le maximum de x 1,..., x n (14) rm(x, y) le reste de la division de y par x (15) qt(x, y) le quotient de la division de y par x. Démonstration. 2 (1) Par la règle de récursivité avec f(x, y) x + y, f(x, 0) x + 0 U 1 1 (x) f(x, y + 1) x + (y + 1) N(f(x, y)) (2) Par la règle de récursivité et (1) avec f(x, y) x y, f(x, 0) x 0 Z(x) f(x, y + 1) x (y + 1) f(x, y) + x (3) Par la règle de récursivité et (2) avec f(x, y) x y, (6) Par la règle de substitution, f(x, 0) x 0 C 1 1(x) f(x, y + 1) x y+1 x y x 1 f(x, y) x x y (x y) + (y x) (x y) + 0 si x y 0 + (y x) si x < y x y si x y y x si x < y 2 Seuls quelques-uns des énoncés seront démontrés. Voir Introduction to Mathematical Logic.

RÉCURSIVITÉ : LES FONCTIONS RÉCURSIVES 5 (8) Par la règle de substitution, sg(x) 1 sg(x) 1 sg(x) si 1 sg(x) 0 si 1 < sg(x) 1 0 si x 0 1 1 si x 0 1 si x 0 0 si x 0 (12) Par la règle de substitution, max(x, y) y + (x y) y + (x y) y + 0 x si x y y si x < y si x y si x < y La proposition ci-dessous affirme que la somme et le produit borné de fonctions préservent le caractère récursif primitif des fonctions. Définissons tout d abord des sommes et produits bornés. Définition. f(x 1,..., x n, y) y<z f(x 1,..., x n, y) y z f(x 1,..., x n, y) y<z f(x 1,..., x n, y) y z 0 si z 0 f(x 1,..., x n, 0) + + f(x 1,..., x n, z 1) si z > 0 f(x 1,..., x n, y) y<z+1 1 si z 0 f(x 1,..., x n, 0) f(x 1,..., x n, z 1) si z > 0 f(x 1,..., x n, y) y<z+1 Proposition (3.17). Soit f(x 1,..., x n, y) une fonction récursive primitive. Les sommes et produits bornés sur f sont des fonctions récursives primitives. Démonstration. Premièrement, soit g(x 1,..., x n, z) y<z f(x 1,..., x n, y). La fonction g est récursive primitive par la règle de récursivité : g(x 1,..., x n, 0) 0 g(x 1,..., x n, z + 1) g(x 1,..., x n, z) + f(x 1,..., x n, z) Deuxièmement, la fonction h(x 1,..., x n, z) y z f(x 1,..., x n, y) est récursive primitive. Par substitution, h(x 1,..., x n, z) g(x 1,..., x n, z + 1). Les produits se démontrent de la même façon.

RÉCURSIVITÉ : LES FONCTIONS RÉCURSIVES 6 La définition précédente et cette proposition peuvent être généralisées aux cas de sommes et produits bornés inférieurement et supérieurement. Exemple. Soit τ la fonction suivante : τ(x) nombre de diviseurs de x si x > 0 1 si x 0 τ est une fonction récursive primitive. En effet, τ y x sg(rm(y, x)) 3. Relations récursives primitives L objectif de cette section est de démontrer que des relations obtenues à partir de relations récursives primitives sont elles-mêmes récursives primitives. La première étape consiste évidemment à définir ce qu est une relation récursive primitive. Pour ce, nous aurons besoin des fonctions caractéristiques. Définition. Soit R une relation à n arguments. La fonction caractéristique C R de R se définit comme suit : C R (x 1,..., x n ) 0 si R(x 1,..., x n ) est vrai 1 si R(x 1,..., x n ) est faux Définition. Une relation R(x 1,..., x n ) est récursive primitive si et seulement si sa fonction caractéristique C R (x 1,..., x n ) est primitive récursive. Exemples. (1) La relation R(x 1, x 2 ) : x 1 x 2 est récursive primitive. En effet, 0 si R(x 1, x 2 ) est vrai C R (x 1, x 2 ) 1 si R(x 1, x 2 ) est faux 0 si x 1 x 2 1 si x 1 x 2 0 si x 1 x 2 0 1 si x 1 x 2 0 sg( x 1 x 2 ) Puisque les fonctions sg(x) et x y sont récursives primitives, la fonction caractéristique C R est elle-même récursive primitive. La relation R est donc récursive primitive.

RÉCURSIVITÉ : LES FONCTIONS RÉCURSIVES 7 (2) La relation R(x 1, x 2 ) : x 1 x 2 est récursive primitive. En effet, 0 si R(x 1, x 2 ) est vrai C R (x 1, x 2 ) 1 si R(x 1, x 2 ) est faux 0 si x 1 x 2 1 si x 1 x 2 0 si rm(x 1, x 2 ) 0 1 si rm(x 1, x 2 ) 0 sg(rm(x 1, x 2 )) Les fonctions sg et rm sont récursives primitives. Il en résulte que la fonction caractéristique C R de la relation R est récursive primitive et que la relation est donc elle-même récursive primitive. Étant données des relations sur les nombres naturels, nous avons trois façons d introduire de nouvelles relations. (1) La première consiste à utiliser les connecteurs propositionnels. Par exemple, étant données des relations R 1 (x 1,..., x n ) et R 2 (y 1,..., y m ) : (a) R 1 (x 1,..., x n ) est une relation qui est vraie pour x 1,..., x n si et seulement si R 1 (x 1,..., x n ) est fausse. (b) R 1 (x 1,..., x n ) R 2 (y 1,..., y m ) est une relation qui est vraie pour x 1,..., x n, y 1,..., y m si et seulement si R 1 (x 1,..., x n ) ou R 2 (y 1,..., y m ) sont vraies. (2) La deuxième façon a recours aux quantificateurs bornés. Étant donnée une relation R(x 1,..., x n, y), (a) ( y) y<z R(x 1,..., x n, y) exprime la relation suivante : pour tout y, si y est plus petit que z, alors R(x 1,..., x n, y) est vraie. (b) ( y) y<z R(x 1,..., x n, y) exprime la relation suivante : il existe y tel que si y est plus petit que z, alors R(x 1,..., x n, y) est vraie. Les quantificateurs ( y) y z, ( y) y z et les quantificateurs doublement bornés se définissent de la même façon 3. (3) La troisième façon fait appel à l opérateur µ borné : le plus petit y < z tel que µy y<z R(x 1,..., x n, y) R(x 1,..., x n, y) est vrai s il existe un tel y z sinon Similairement, µy y z R(x 1,..., x n, y) µy y<z+1 R(x 1,..., x n, y) Proposition (3.18). (1) Les relations obtenues de relations primitives récursives à l aide des connecteurs propositionnels et des quantificateurs bornés sont récursives primitives. 3 Les résultats subséquents sur les quantificateurs bornés pourront être généralisés aux quantificateurs doublement bornés.

RÉCURSIVITÉ : LES FONCTIONS RÉCURSIVES 8 (2) Les opérateurs µ bornés µy y<z et µy y z permettent d obtenir des fonctions récursives primitives à partir de relations récursives primitives. Démonstration. (1) Premièrement, soient R 1 (x 1,..., x n ) et R 2 (x 1,..., x n ) des relations récursi-ves primitives. Par définition, leurs fonctions caractéristiques respectives C R1 et C R2 sont récursives primitives. Alors, les relations R 1 et R 1 R 2 sont récursives primitives. En effet, leurs fonctions caractéristiques respectives sont récursives primitives : 0 si R 1 (x 1,..., x n ) est vrai C R1 (x 1,..., x n ) 1 si R 1 (x 1,..., x n ) est faux 0 si R 1 (x 1,..., x n ) est faux 1 si R 1 (x 1,..., x n ) est vrai 0 si C R1 (x 1,..., x n ) 1 1 si C R1 (x 1,..., x n ) 0 1 C R1 (x 1,..., x n ) 0 si R 1 R 2 (x 1,..., x n ) est vrai C R1 R 2 (x 1,..., x n ) 1 si R 1 R 2 (x 1,..., x n ) est faux 0 si R 1 (x 1,..., x n ) ou R 2 (x 1,..., x n ) est vrai 1 si R 1 (x 1,..., x n ) et R 2 (x 1,..., x n ) sont faux 0 si C R1 (x 1,..., x n ) 0 ou C R2 (x 1,..., x n ) 0 1 si C R1 (x 1,..., x n ) 1 et C R2 (x 1,..., x n ) 1 C R1 (x 1,..., x 2 ) C R2 (x 1,..., x 2 ) Or, tous les connecteurs propositionnels peuvent être définis en termes de et. Toutes les relations obtenues par les connecteurs propositionnels à partir de relations récursives primitives sont donc récursives primitives. Deuxièmement, soit R(x 1,..., x n, y) une relation récursive primitive. ( y) y<z R(x 1,..., x n, y) est récursive primitive parce que sa fonction caractéristique est récursive primitive : 0 si ( y) y<z R(x 1,..., x n, y) est vrai C ( y)y<zr(x 1,..., x n, y) 1 si ( y) y<z R(x 1,..., x n, y) est faux 0 s il existe y < z tel que R(x 1,..., x n, y) est vrai 1 si pour tout y < z, R(x 1,..., x n, y) est faux 0 s il existe y < z tel que C R (x 1,..., x n, y) 0 1 si pour tout y < z, C R (x 1,..., x n, y) 1 y<z C R (x 1,..., x n, y) Le quantificateur ( y) y<z se définit en termes de ( y) y<z et. La relation ( y) y<z R(x 1,..., x n, y) est donc récursive primitive. À la lumière de leur

RÉCURSIVITÉ : LES FONCTIONS RÉCURSIVES 9 définition, les quantificateurs ( y) y z et ( ) y z déterminent également des relations récursives primitives. (2) Soit R(x 1,..., x n, y) une relation récursive primitive. Alors, pour tout y, 0 s il existe u y tel que C R (x 1,..., x n, u) 0 C R (x 1,..., x n, u) 1 si pour tout u y, C u z R (x 1,..., x n, u) 1 0 s il existe u y tel que R(x 1,..., x n, u) est vrai 1 si pour tout u y, R(x 1,..., x n, u) est faux ( y<z u y ) C R (x 1,..., x n, u) C R (x 1,..., x n, u) + C R (x 1,..., x n, u) u 0 u 1 + + C R (x 1,..., u) u z 1 [C R (x 1,..., x n, 0)] + [C R (x 1,..., x n, 0) C R (x 1,..., x n, 1)] +... + [C R (x 1,..., x n, 0) + + C R (x 1,..., x n, z 1)] y }} [1] + [1 1] +... +[1 1 0] + + [0] s il existe un y tel que R(x 1,..., x n, y)est vrai z }} 1 + + 1 si pour tout y < z, R(x 1,..., x n, y) est faux le plus petit y < z tel que R(x 1,..., x n, y) est vrai s il existe un tel y z sinon µy y<z R(x 1,..., x n, y) Or, ceci est une fonction récursive primitive parce que les sommes et produits bornés de fonctions récursives primitives sont eux-mêmes des fonctions récursives primitives par la proposition (3.17).