7.3. FONCTIONS SEMI-R ´
ECURSIVES ET ENSEMBLES R ´
ECURSIVEMENT ´
ENUM ´
ERABLES161
–Pourlaminimisation:ongardesurunrubanlesessaissuccessifs de la
valeur n.Initialement,n=0.Silecalculdef(n, "x)setermineetdonne
0, on rend n.Silecalculsetermineavecunevaleurdistinctede0,on
incr´emente net on recommence. **a detailler **
–Pourlar´ecursionprimitive**ad´etailler**
R´eciproquement, ´etant donn´e une machine de Turing, on construit une fonc-
tion 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)
et sont donc cod´es de mani`ere bijective par des entiers sup´e r i e u r s o u ´e g a u x `a 2 .
La fonction fqui `a C(q, w1,w
2)associeC(q",w
"
1,w
"
2), codage de la configura-
tion suivante si elle existe et 0 si q=accept,1siq=reject,estunefonction
primitive r´ecursive puisque les fonctions reste, produit,sommesontprimitives
r´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 γ,lecodagedelaconfiguration
finale de la 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 7.3.1 (Kleene) Toute fonction r´ecursive partiel le s’obtient `a l’aide
d’une seule minimisation d’une fonction primitive r´ecursive.
Exercice 172 (5)
Montrer que le probl`eme suivant est ind´ecidable :
Donn´ee : une fonction r´ecursive primitive f
Question : fcalcule-t-elle la fonction nulle ?
Exercice 173 (5)
Montrer que, si fest une fonction r´ecursive partielle, alors son graphe est
r´ecursif primitif.
7.3.2 ´
Elimination de la r´ecursion primitive
On veut montrer que la r´ecursion primitive peut ˆetre simul´e e p a r l e s a u t r e s
constructions.
On note Cle plus petit ensemble de fonctions sur les entiers qui contient
les fonctions initiales, l’addition, la multiplication, l’´egalit´e, et qui est clos par
composition et minimisation. (Donc pas de r´ecursion primitive ici).
Exercice 174
Montrer que les fonctions ou pr´edicats suivants sont dans C: