7. Mˆeme question . . . mais il y a un cas particulier !
while x <> 1 do
if (x mod 2) = 0
then x := x/2
else x := 3*x - 1
2 Quelques Fonctions R´ecursives Primitives
Montrer que les fonctions suivantes, sur les entiers naturels, sont r´ecursives primitives (RP). On rappelle que
l’ensemble (RP) est inductivement d´efinit par :
•Base :
–Constantes : m(k)= (x1, . . . , xk)7→ m
–Successeurs : S=x7→ x+ 1
–Choix d’argument : A(k)
i= (x1, . . . , xk)7→ xi
•Sch´emas d’induction :
–Substitution r´eguli`ere :
σ[g(k), g(m)
1, . . . , g(m)
k] = (x1, . . . , xm)7→ g(k)(g(m)
1(x1, . . . , xm), . . . , g(m)
k(x1, . . . , xm))
–R´ecursion primitive :
ρ[g(k−1), h(k+1)] = (0, x2, . . . , xk)7→ g(x2, . . . , xk)
(y+ 1, x2, . . . , xk)7→ h(k+1)(y, ρ[g(k−1), h(k+1)](y, x2, . . . , xk), x2, . . . , xk)
1. Multiplication Mult = (a, b)7→ a∗b(en supposant prouv´e que Add = (a, b)7→ a+b∈RP
2. Exponentielle Exp = (a, b)7→ ab.
3. Double exponentielle EExp = (a, b)7→ aa...a
(avec b´etages de puissance).
4. Le Signe Sg =a7→ (a > 0) (Sg(a) = 0 si a= 0 et 1 sinon).
5. Le pr´ed´ecesseur P d d´efini par P d(a) = 0 si a= 0 et a−1 si a > 0.
6. La diff´erence propre Diff = (a, a)7→ a
·
−bd´efinie par Diff(a, b) = a−bsi a≥bet 0 sinon.
7. La diff´erence absolue Abs = (a, b)7→ |a−b|.
8. Le maximum de deux ´el´ements Max d´efini par Max(a, b) = asi a≥bet bsinon.
3 Sch´emas et fonctions RP plus complexes
•Somme finie. Montrer que si f(n+1) ∈RP alors h(n+1) = Σ[f(n+1)] d´efinie par (y, x1, . . . , xn)7→
Σy
i=0f(n+1)(y, x1, . . . , xn) est aussi dans RP .
•Pr´edicats RP simples. Montrer que les pr´edicats suivants sont RP : x7→ x= 0; (x, y)7→ x >
y; (x, y)7→ x < y, (x, y)7→ x=y
•Nombres parfaits. Un nombre est parfait s’il est ´egal `a la somme de tous ses diviseurs (diff´erents de
x). Montrer que le pr´edicat EstParfait est RP.
2