Recordamos que
denota al conjunto de secuencias de números naturales, incluída entre ellas a la vacía,
,
y que este conjunto es numerable. Por tanto, módulo una función biyectiva podemos identificar a
con
mismo, y lo mismo podría hacerse para cada producto cartesiano ,
con n>0.
De manera estricta, podríamos plantear a la teoría de las funciones recursivas primitivas, considerando a todas ellas con dominio en .
Sin embargo, es convencional referirse a un dominio del tipo
para cada función recursiva primitiva y, así, nos ajustaremos a esa convención.
La clase
de las funciones recursivas primitivas es la clase mínima de funciones que cumple con las propiedades siguientes:
1.
Caso ``base''. Las siguientes funciones están en la clase
:
2.
Caso inductivo. La clase
es cerrada bajo los esquemas de composición y recursión, i.e.
Proposición 1.1
Toda función recuriva primitiva es computable.
En efecto, se puede mostrar esto por inducción en la definición de las funciones recursivas primitivas. Para esto, basta ver que cada una de las funciones básicas en las recursivas primitivas es computable, lo cual es directo; y hay que tener en cuenta que la clase de las funciones computables es cerrada bajo los dos esquemas de composición y de recursión que definen a las recursivas primitivas.
Veamos algunos ejemplos de funciones en
.
1.
Constantes. Para cualquier
la función constante
está en
.
En efecto, probemos la aseveración por inducción en m.
Para m=0 se cumple pues la función Cero está efectivamente en
.
Sea m>0. Supongamos que la función
está en
.
Es claro que
.
Por tanto, cm+1 está en
como composición de dos funciones en
.
2.
Suma. Ya que para cualesquiera
se cumple
se tiene que
Por tanto,
,
donde
,
de lo cual se sigue directamente que
pues se obtiene por el esquema de recursión de funciones en
.
3.
Producto. Ya que para cualesquiera
se cumple
se tiene que
Por tanto,
,
donde
,
de lo cual se sigue directamente que
pues se obtiene por el esquema de recursión de funciones en
.
4.
Suma reiterada. Si f es una función recursiva primitiva definamos
.
g es la sumatoria de f.
se tiene que
Por tanto,
,
donde
,
de lo cual se sigue directamente que
pues se obtiene por el esquema de recursión de funciones en
.
Lo mismo vale si, en vez de considerar a la operación Suma, se considera a una operación binaria que sea asociativa, como lo es, como un segundo ejemplo, la operación Producto.
5.
Signo. Sea
.
Tenemos
por lo que se tiene
Por tanto,
,
de lo cual se sigue directamente que
pues se obtiene por el esquema de recursión de funciones en
.
6.
Signo complementado. Sea
.
Tenemos
por lo que se tiene
Por tanto,
,
de lo cual se sigue directamente que
pues se obtiene por el esquema de recursión de funciones en
.
7.
Antecesor. Sea
.
Tenemos
por lo que se tiene
Por tanto,
,
de lo cual se sigue directamente que
pues se obtiene por el esquema de recursión de funciones en
.
8.
Diferencia acotada. Consideremos la función
.
Ya que para cualesquiera
se cumple
se tiene que
Por tanto,
,
donde
,
de lo cual se sigue directamente que
pues se obtiene por el esquema de recursión de funciones en
.
9.
Distancia. Sea
.
Ya que
se tiene que
.
Sea
un subconjunto. La función característica de A es la función
.
Así pues,
hace las veces de un oráculo que para cada
decide si acaso
.
El conjunto
se dice ser recursivo primitivo, y abusando de la notación escribiremos
,
si su función característica lo es, es decir, si
.
Una relación de aridad n se dice ser recursiva primitiva, si ella, vista como un subconjunto de ,
lo es.
Veamos algunos ejemplos de conjuntos en
.
1.
``Mayor que''. Para cualesquiera dos
se tiene
por tanto
de donde se sigue que la relación ``>'' es, en efecto, recursiva primitiva.
2.
Igualdad. Para cualesquiera dos
se tiene
por tanto
de donde se sigue que la relación ``='' es, en efecto, recursiva primitiva.
Denotemos por
a la clase de funciones recursivas primitivas cuyo dominio es .
Proposición 1.2
La clase de conjuntos recursivos primitivos en ,
que continuando con el abuso de la notación denotaremos como
,
forma un álgebra de conjuntos, es decir,
En efecto, basta considerar las siguientes identidades:
Si
es un conjunto y
,
la proyección de A acotada por z, en sus (n-1) primeras coordenadas, es el conjunto
Proposición 1.3
Si
entonces para cualquier
se tiene que
.
En efecto, esto es evidente de la relación válida
:
Podemos ver ahora esquemas de composición bajo los cuales es cerrada la clase
.
1.
Funciones definidas por dos condiciones. Si
y
entonces la función
es recursiva primitiva.
En efecto, se tiene que
:
.
2.
Minimización acotada. La minimización acotada de cualquier función recursiva primitiva es, a su vez, recursiva primitiva. En otras palabras, la clase
es cerrada bajo el esquema de composisción
,
En efecto, para todo
tenemos que para cualquier y el valor de
coincidirá con el valor y, si no se ha encontrado un valor que anule a
con
,
o bien coincidirá con el valor en el antecesor, y-1, en otro caso. Así pues, tendremos
Como todas las funciones y todas las relaciones involucradas son recursivas primitivas tenemos que
Continuando con nuestra lista de funciones y de relaciones recursivas primitivas, presentamos a las siguientes:
1.
Divisibilidad. Escribamos x|y para indicar que existe
tal que x=zy, y, en tal caso, se dice que x es divisible entre y. Tenemos pues,
Consecuentemente, ``|'' es una relación recursiva primitiva.
2.
División. Sea
.
Si consideramos la función
,
la cual es recursiva primitiva, tenemos que
siempre que .
Se sigue que div es recursiva primitiva.
3.
Módulo.
es recursiva primitiva.
4.
Primos. Un número es compuesto,
,
si
.
Por tanto la propiedad de ser compuesto es recursiva primitiva.
La propiedad de ser primo es también recursiva primitiva, como complemento de ésa.
5.
Lista de primos. Según vimos en la demostración del teorema de Euclides acerca de la infinidad de los números primos, el (n+1)-ésimo primo pn+1 excede a pn pero no excede al número
.
Así pues, la lista de primos se puede construir con el esquema siguiente:
por tanto la lista de primos se construye de manera recursiva primitiva.
De los ejemplos mostrados, el lector podrá ver que muchas funciones de interés en aritmética son recursivas primitivas. Entre éstas, sin entrar en demostraciones, tan solo mencionamos a los siguientes: el sacar el exponente de un primo en la descomposición en primos de un entero, el sacar la lista de exponentes no-nulos en la descomposición en primos de un entero, el decidir si dos enteros son primos relativos, la función de Euler (que cuenta el número de primos relativos de un número dado menores que él), el símbolo de Legendre, el cual decide para dos primos relativos x,m si acaso x es un residuo cuadrático de m (es decir,
), etc.