5.3 Fonctions semi-récursives et ensembles récursivement

26 CHAPITRE 5. FONCTIONS R ´
ECURSIVES
5.3 Fonctions semi-r´ecursives et ensembles r´ecursivement ´enuerables
La minimisation est ´etendue au cas o`u on n’a pas n´ecessairement !n m.ξ(!n , m )=0.Dans
ce cas, la fonction φefinie est une fonction partielle :
φ(!n)=min{m|(ξ(!n , m )=0)∧∀k<m,ξ(!n , k )$=}
La composisition de fonctions r´ecursives totales est ´etendue aux fonctions partielles : la
compos´ee n’est d´efinie que lorsque les fonctions composantes le sont. De mˆeme, la r´ecursion
primitive appliqu´ee `a des fonctions partielles : φ=Prim(ξ,ψ)estd´enieen(m, !n)sim=0
et ξ(!n )$=ou bien m>0, φ(m1,!n)estd´enieetψest d´efinie en (φ(m1,!n),m1,!n).
Definition 5.3.1 L’ensemble des fonctions ecursives partielles (aussi appel´ees fonctions
semi-r´ecursives)estlepluspetitensembledefonctionssurlesentierscontenant les fonctions
initiales et clos par r´ecursion primitive, composition et minimisation.
Un ensemble est ecursif si sa fonction caraceristique est une fonction r´ecursivetotale.
Un ensemble Sest ecursivement ´enum´erable si la fonction qui vaut 1 quand nSet est
ind´efinie ou vaut 0 quand n/Sest r´ecursive partielle.
On veut montrer tout d’abord que la r´ecursion primitive peuetresimul´eeparlesautres
constructions.
On note Cle plus petit ensemble de fonctions sur les entiers qui contient les fonctions
initiales, l’addition, la multiplication, l’´egalit´e, etquiestclosparcompositionetminimisation.
(Donc pas de r´ecursion primitive ici).
Exercice 8
Montrer que les fonctions ou pr´edicats suivants sont dans C:
1. Les foncions J, K, L
2. conjonction, disjonction, n´egation de pr´edicats dans C
3. Si P, f1,f
2C,f=λn.ifP(n)thenf1(n)elsef2(n)
4. La soustraction enti`ere : x!y=max(0,xy)
5. L’in´egalit´e xy
6. D(n, m)quiestsatisfaitsitn$=0etndivise m
7. rem(x, y)quicalculelerestedeladivisiondexpar ylorsque y$=0(etestind´eni
lorsque y=0).
8. xf(!y).P (x, !y)etxf(!y).P (x, !y)o`uP, f C.
9. Prime(n)quiestsatisfaitparlesnombrespremiers
10. PP(n):“nest une puissance d’un nombre premier”.
Lemme 5.3.1 Il existe une fonction βC(la fonction beta de G¨odel)telleque,pourtoutn
et toute s´equence a0,...,a
n,ilexisteunentierdtel que, pour tout i=0,...,n,β(d, i)=ai.
Preuve
On pose N=max(n, a0,...,a
n)etui=1+(i+1)N!. Alors ui>a
jet gcd(ui,u
j)=1pour
i$=j.
Le syst`eme d’´equations z=aimod uiaalorsuneuniquesolutionbtelle que b<u
0×
...×un.
5.3. FONCTIONS SEMI-R ´
ECURSIVES ET ENSEMBLES R ´
ECURSIVEMENT ´
ENUM ´
ERABLES27
On pose enfin d=J(b, N!) et β(x, y)=rem(K(x),1+(y+1)L(x))
On v´erifie ais´ement que βC`a l ’ a i d e d e s e x e r c i c e s p r ´e c ´e d e n t s .
De plus,
β(d, i)=rem(K(d),1+(i+1)L(d)) = rem(b, 1+(i+1)N!) = rem(b, ui)=ai
´
Elimination de la r´ecursion primitive :
Th´eor`eme 5.3.2 Cco¨ıncide avec lensemble des fonctions r´ecursives partielles.
Preuve
Comme l’addition, la multiplication et l’´egalit´e sont facilement expressibles comme des fonc-
tions r´ecursives primitives, il sut de montrer que Cest clos par r´ecursion primitive.
Soit
f(x, !n)=!ξ(!n )Six=0
ψ(f(x1,!n),x1,!n)Sinon
Soit alors
f!(x, !n)def
=β(min
b(S(x, b, !n)=1),x)
o`u
S(x, b, !n)def
=β(b, 0) = ξ(!n)∧∀i<x.(β(b, i +1)=ψ(β(b, i),i,!n))
On a bien f!C,parlelemme5.3.1etlexercice8.
Si f(i, !n)estd´eniepourix,enposantai=f(i, !n), on montre facilement (par
ecurrence sur i)queai+1 =ψ(ai,i,!n)pourtouti<x.Maisalors,parlelemme5.3.1,
il existe un entier dtel que, pour tout ix,β(d, i)=aiet donc, par r´ecurrence sur i,
β(d, 0) = ξ(!n)etβ(d, i +1) = ψ(β(d, i),i,!n). Il en r´esulte qu’il existe au moins un entier
btel que S(x, b, !n)=1.Maisalors,sicest un entier qui r´ealise le minimum des btels que
S(x, b, !n)=1,β(c, x)=f(x, !n)pard´enition.Etdoncf!(x, !n)=f(x, !n).
Si maintenant f(i, !n)estind´enie.Sii=0,S(x, b, !n)nevautjamais1etf!(x, !n)est
ind´efini. Si i>0, alors ψ(f(i1,!n),i1,!n)estind´enietdoncS(i, b, !n)estind´eni.f!(i, !n)
est alors ind´efini (puisque S(i, b, !n)$=1quelquesoitb).
Dans tous les cas, f(x, !n)=f!(x, !n). Donc fC.
Th´eor`eme 5.3.3 Les fonctions calculables sur les entiers sont les fonctionsr´ecursivespar-
tielles. Les fonctions totales calculables sont les fonctions r´ecursives totales.
Preuve
Tout dabord, les fonctions r´ecursives partielles (resp. totales) sont calculables. On montre
que l’ensemble des fonctions calculables, contient l’addition, le test d´egalit´e, les fonctions
initiales, la multiplication et est clos par composition et minimisation. Les fonctions calculables
contiennent ainsi Cet donc toutes les fonctions r´ecursives, d’apr`es le th´eor`eme pec´edent.
–soitM0une machine `a krubans et M1,...,M
kkmachines `a nrubans calculant respec-
tivement f0,f
1,...,f
k.Lamachine`an×krubans dont les donn´ees sont sur les rubans
de num´ero divisible par ket qui simule Misur les rubans i×ki+1,...,i×k,puis
M0sur les rubans de num´eros divisibles par kcalcule f0(f1(!n),...,f
k(!n)).
–Pourlaminimisation:ongardesurunrubanlesessaissuccessifs de la valeur n.Initia-
lement, n=0.Silecalculdef(n, !x)setermineetdonne0,onrendn.Silecalculse
termine avec une valeur distincte de 0, on incr´emente net on recommence.
28 CHAPITRE 5. FONCTIONS R ´
ECURSIVES
eciproquement, ´etant done une machine de Turing, on construit une fonction r´ecursive
primitive qui simule un mouvement de la machine, puis avec un coup de minimisation on
termine. Plus pr´ecis´ement : les mots sont consid´er´es comme des entiers en base |Σ|+1. Les
configurations sont des triplets (q, w1,w
2)etsontdonccod´esdemani`erebijectivepardes
entiers sup´erieurs ou ´egaux `a 2. La fonction fqui `a C(q, w1,w
2)associeC(q!,w
!
1,w
!
2), codage
de la configuration suivante si elle existe et 0 si q=accept,1siq=reject,estunefonction
primitive r´ecursive puisque les fonctions reste, produit,sommesontprimitivesr´ecursives.
On d´efinit alors g(n, γ)parg(0,γ)=γet g(n+1,γ)=g(n, f(γ)). Enfin,
h(γ)=g(min
ng(n, γ)=0,γ)
calcule, `a partir du codage d’une configuration γ,lecodagedelacongurationfinaledela
machine (si elle existe) correspondant `a un calcul commen¸cant par la configuration dont le
code est γ.
On d´eduit alors que la fonction calcul´ee est r´ecursive, car le codage et le d´ecodage d’une
configuration sont r´ecursives.
Enfin, remarquons que dans ces constructions, le calcul de la machine sur la donn´ee Dse
termine si et seulement si la fonction r´ecursive correspondante est d´efinie sur la donn´ee D.
Corollaire 5.3.4 (Kleene) Toute fonction r´ecursive partiel le sobtient `a laide dune seule
minimisation d’une fonction primitive r´ecursive.
Exercice 9
Montrer que le probl`eme suivant est ind´ecidable :
Donn´ee : une fonction r´ecursive primitive f
Question : fcalcule-t-elle la fonction nulle ?
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !