• Aucun résultat trouvé

Fonctions calculables et Σ -définissabilité

Résultats fondamentaux de calculabilité

3.1 Définissabilité dans N

3.1.2 Fonctions calculables et Σ -définissabilité

On va tout d’abord montrer que les fonctions totales calculables ont un grapheΣ. Ceci se démontre par induction, le seul cas non évident étant celui de la définition par récurrence. Voyons comment pro-céder sur un cas simple.

Soit une fonctionf :N→Ndéfinie par itération d’une fonctionh:N→N: f(0)=a

f(n+1)=h(f(n)) .

On cherche à représenter son graphe par une formule arithmétiqueΣ, en supposant que c’est déjà le cas pourh. Par exemple sihest la multiplication par 2, de graphe évidemmentΣ, on a alorsf(n)=2n. Il s’agit de montrer que cette fonction a un grapheΣ.

C’est possible si on a un codage des suites qui est Σ. En effet, supposons que l’on dispose d’un codage analogue à celui déjà utilisé (voir section1.1.4), et d’une fonction nth, où nth(l,i) calcule lei -ème terme de la liste codée parl. On peut représenter par un entier la suite des calculs successifs pour arriver àf(n), soit la suite [a;h(a); . . . ;hn(n)]. On a donc :

z=f(n) ssi∃l[z=nth(l,n)∧a=nth(l, 0)∧ ∀i<n nth(l,i+1)=h(nth(l,i))] .

Cette méthode se généralise facilement à des définitions par récurrence primitive quelconques. Il suffi-rait que la fonction nth puisse se définir sans récurrence pour éliminer cette dernière. Mais ni le codage des listes de la page8, ni plus généralement ceux de la section1.1.4, n’ont naturellement cette propriété.

Le codage plus astucieux qui suit est celui de l’article original de Gödel. La fonction qui joue le rôle de la fonction nth est appelée (en suivant la notation de l’article de Gödel) fonctionβ.

Fonctionβde Gödel

Le codage, contrairement à ceux introduits dans la section1.1.4, n’est pas fonctionnel, mais il est partout défini : toute suite finie doit avoir au moins un code, et deux suites différentes ne peuvent avoir le même code. En fait une suite finie donnée aura une infinité de codes, ce qui ne gêne pas pour le résultat cherché. Gödel le construit en utilisant lethéorème des restes chinois, à savoir que le produit des Z/diZ,i∈{1, . . . ,n}, est isomorphe àZ/(Qn

i=1di)Zquand lesdi sont premiers entre eux 2 à 2. En voici une version calculatoire adaptée au résultat cherché.

Théorème 3.1.6 (Théorème des restes chinois) Si d0, . . . ,dnsont des entiers premiers entre eux 2 à 2, et si a0, . . . ,ansont des entiers vérifiant

0≤ai<di pour0≤in

alors (reste(a,q)étant le reste de la division de a par q), il existe un entier a tel que pour tout0≤in : aai moddi c’est-à-dire ai=reste(a,di)

Pour coder une suite d’entiersa0, . . . ,anon va donc utiliser deux entiersaetd: l’entieraest fourni par le théorème des restes chinois, pourn+1 entiers premiers entre eux 2 à 2 construits polynomialement à partir ded.

Lemme 3.1.7 Pour tout entier n, il existe une infinité d’entiers d tels que d0=1+d,d1=1+2d, . . . ,dn=1+(n+1)d sont premiers entre eux 2 à 2.

Démonstration. Poursn, on posed=s!. Alors un diviseur premierpcommun dedi=1+i det de dj=1+j d, 1≤i<jn+1, divise également (j−i)d, soitd, puisque 0<jins. Commep|di, p|1 : contradiction.

La fonctionβde Gödel est définie par :

β(d,a,i)=reste(a, 1+(i+1)d)

Lemme 3.1.8 (Propriétés de la fonctionβ) i. Le graphe de la fonctionβestΣ0.

ii. Pour toute suite finie d’entiers(a0, . . . ,an)il existe au moins deux entiers a et d tels que : β(d,a,i)=ai pour0≤in

Démonstration.

i. Par définition des formulesΣ0, l’argument est le même que pour le fait3.1.2.

ii. D’après le lemme3.1.8, il existe un entierdtels que lesdi=1+(i+1)d, 0≤in, sont premiers entre eux, et qui peut être choisi supérieur à tous lesai. On aai<1+(i+1)d. D’après le théorème des restes chinois3.1.6 page précédente, il existe donc un entieraayant les propriétés requises.

Exemple d’utilisation de la fonctionβ Notonsy=β(a,d,i) la formuleΣ0qui définit le graphe de la fonctionβ. On montre alors que le graphe de la fonction exponentielle (définie par récurrence à partir de la multiplication) est défini par une formuleΣ:

z=xydad

On établit d’abord une caractérisation des fonctions totales calculables qui n’utilise pas le schéma de définition par récurrence primitive.

Proposition 3.1.9 (Caractérisation des fonctions calculables sans récurrence) L’ensemble des fonctions totales calculables est le plus petit ensemble de fonctions à plusieurs arguments entiers,

— contenant l’addition, la multiplication, les fonctions de projections pki (voir page3) et la fonction caractéristique de l’égalitéχ=(définie parχ=(x,y)=1si x=y,0sinon) ;

— clos par composition ;

— clos par minimisation.

Démonstration. On nomme temporairementC le plus petit ensemble de fonctions à plusieurs argu-ments entiers vérifiant les propriétés de la proposition. Il est à peu près évident queCest contenu dans l’ensemble des fonctions totales calculables : on a enlevé un schéma de clôture, celui de définition par récurrence, et modifié l’ensemble des fonctions de base, celles qui sont ajoutées ont été démontrées récursives primitives.

Pour la réciproque on montre que

C

satisfait la caractérisation des fonctions totales calculables (définition1.2.5 page 17).

Vu la définition de

C

, il suffit de vérifier que

C

contient les fonctions de bases pour cette caractéri-sation, et que

C

est clos par récurrence primitive, ce qui est l’objet des trois lemmes suivant.

3.1. Définissabilité dansN (v. provisoire 28 octobre 2021 13: 33) 59

Lemme 3.1.10 La fonction constante égale à1, la fonction successeur et la fonction nulle sont dansC. Démonstration. On a 1=χ=(x,x), s(x)=x+1, 0=χ=(x, s(x)) (on utilise à chaque fois la composition et les projections).

Lemme 3.1.11 L’ensemble des prédicats sur les entiers dont la fonction caractéristique est dansCest clos par opérations booléennes et quantifications universelles et existentielles bornées.

Démonstration. On a déjà vu que la fonction caractéristique de la conjonction s’obtenait par produit.

Pour la négationχ¬A(x)=χ=(χA(x), 0).

Comme on a la clôture par négation, il suffit de montrer le résultat pour l’une des quantifications bornées, prenons la quantification universelle bornée.

On utilise une forme ad hoc de minimisation bornée que l’on note ˜µ. SiS est un prédicat àp+1 arguments dont la fonction caractéristique est dans

C

alors,f définie par :

f(x1, . . . ,xk,z)=µ˜y<z.S[x1, . . . ,xk,y]=

µy.S[x1, . . . ,xk,y] s’il existey<z

tel queS[x1, . . . ,xk,y]

z sinon

est une fonction totale qui est dans

C

.

En effet

µ˜y<z.S[x1, . . . ,xk,y]=µy.[S[x1, . . . ,xk,y]y=z]

et on a vu la clôture par opérations booléennes. On suppose maintenant que le prédicatRd’ariték+1 est dansC. Le prédicat défini sur les variablesx1, . . . ,xk,z par∀y <z R[x1, . . . ,xk,y] est de fonction caractéristique :

(x1, . . . ,xk)7→χ=

¡µ˜y<zR[x1, . . . ,xk,y],z)¢ .

On a le résultat pour la quantification bornée avec une inégalité large, en bornant strictement par le successeur.

Lemme 3.1.12 (clôture par récurrence primitive) L’ensemble

C

est clos par par schéma de récurrence primitive pour des fonctions totales, c’est-à-dire que, si g :Np →Net h:Np+2→Nsont des fonctions totales de

C

, alors f :Np+1→Ndéfinie ci-dessous est une fonction totale de

C

.

f(a1, . . . ,ap, 0)=g(a1, . . . ,ap)

f(a1, . . . ,ap,x+1)=h(a1, . . . ,ap,x,f(a1, . . . ,ap,x))

Démonstration. La démonstration du lemme suit à peu près le schéma décrit au début de la sec-tion3.1.2 page 57. On utilise la fonctionβ, qui est dans

C

par les lemmes3.1.10et3.1.11car :

β(d,a,i)=reste(a, 1+(i+1)d)=µr.£

r<a∧ ∃qa a=q·(1+(i+1)d)+r¤ .

Les fonctionsπ1etπ2qui calculent les composantesxety du couple de Cantor sont également dans

C

:

x,y〉 =(x+y)(x+y+1)

2 +y; π1(c)=µx.(yc)x,y〉 =c; π2(c)=µy.(xc)x,y〉 =c. La fonctionβ0:N2→N, définie par

β0(c,i)=β(i,π1(c),π2(c))

est donc dans

C

par composition. Elle permet de définir la suite des calculs menant àf(a,x) : F(a,x)=µl

β0(l, 0)=g(a, 0)∧ ∀i<0(l,i+1)=h(a,x,β0(l,i))¤ fonction qui est dans

C

par le lemme3.1.11, et doncf est dans

C

car

f(a,x)=β0(F(a,x),x) .

On conclut en revenant à la caractérisation des ensemblesΣ. Proposition 3.1.13

i. Le graphe d’une fonction totale calculable estΣ.

ii. La classe des ensemblesΣest exactement la classe de tous les ensembles semi-décidables.

Démonstration. On déduit d’abord leiidui. On sait qu’un ensembleΣest semi-décidable (fait3.1.5 page 57).

Réciproquement soit Aun sous-ensemble semi-décidable deNp. Il est le projeté d’un ensemble décidable (proposition2.3.3 page 38), dont la fonction caractéristique a un grapheG⊂Np+1, qui estΣ d’aprèsi, doncAestΣpuisque

xAssi∃yz¡

(x,y,z)Gz=1¢ .

On montre que toute fonction totale calculable a un grapheΣen utilisant la caractérisation de la pro-position3.1.9.

— Les fonctions de base ont un grapheΣ: les graphes de+et×sont définis pary =x1+x2et y=x1×x2, les graphes despki parxi=z; le graphe de la fonction caractéristique de l’égalité par (x=yz=1)∨(x6=yz=0).

— La clôture par composition des fonctions de grapheΣrésulte de la clôture par quantification existentielle. En effet sif(x)=h¡

g1(x), . . . ,gp(x)¢ y=f(x) ssi ∃z1. . .∃zp £

y=h(z1, . . . ,zp)∧z1=g1(x)∧ · · · ∧zp=gp(x)¤ .

La clôture par minimisation utilise la quantification existentielle et la quantification universelle bornée :

y=µz.f(x1, . . . ,xp,z)=0 ssi f(x1, . . . ,xp,y)=0∧ ∀z<yt¡

f(x1, . . . ,xp,z)=tt6=0¢ . Exercice 19

1. Montrer que si une fonction totale f :Np →Na un grapheGqui est semi-décidable, alors le complémentaire de ce grapheGc=Np+1\Gest aussi semi-décidable.

2. Montrer qu’un fonction totale de graphe semi-décidable a un graphe décidable.

3. Montrer que l’ensembles des fonctions totales de grapheΣest exactement l’ensemble des fonc-tions totales calculables.

Exercice 20

1. Montrer que le graphe d’une fonction partielle calculable est un ensemble semi-décidable.

2. Montrer que si le graphe d’une fonction partielle est semi-décidable, alors cette fonction est partielle calculable.

3. Montrer que l’ensemble des fonctions partielles de grapheΣest exactement l’ensemble des fonctions partielles calculables.