Mostrar que si f:N→N es primitiva recursiva, A⊆N es un conjunto finito, y g total de la función de acordar con f en cada punto de no A, g es primitiva recursiva.
Este es el ejercicio 10.17 de Introducción a las Lenguas y la Teoría de la Computación (4ª Edición) por John Martin.
Mi tren de pensamiento:
He a g se define como:
g(n) = \begin{cases}
f(n),&\text{if }n\notin A\\
w(n),& \text{if }n \in A
\end{casos}
donde w(n):A→N es una función desconocida, debido a que el ejercicio no me dan una definición completa de g, sin embargo, tengo que demostrar a g es primitiva recursiva.
Necesito demostrar w es primitiva recursiva con el fin de demostrar g es primitiva recursiva. El hecho de que w sólo se define en el conjunto finito A hace primitiva recursiva? Si es así, ¿por qué?
EDIT1:
Si asumo A como una primitiva recursiva conjunto con la característica de la función de χA:N→{0,1}:
\chi_{A}(n) = \begin{cases}
1,&\text{if }n=k_{1}\\
1,&\text{if }n=k_{2}\\
\vdots &\vdots \\
1,&\text{if }n=k_{n}\\
0,& \text{otherwise}
\end{casos}
donde {k1,k2,...,kn}=A.
Entonces yo podría definir g g(n)=w(n)χA(n)+f(n)(1−χA(n)).
Pero todavía tengo el desconocido w(n) que no sé si es primitiva recursiva.
EDIT2:
Si A={k1,k2,...,kn}, puedo definir predicados P1,P2,…,Pk,Pf por
P_{z}(i) = \begin{cases}
\text{true},&\text{if }i=k_{z}\\
\text{false},&\text{otherwise}
\end{casos}
para z=1,2,...,n, y
P_{f}(i) = \begin{cases}
\text{true},&\text{if }\neg(P_{1}(i)\vee P_{2}(i) \vee ... \vee P_{n}(i))\\
\text{false},&\text{otherwise.}
\end{casos}
La definición de
g(i) = \begin{cases}
l_{1},&\text{if }P_{1}(i)\\
l_{2},&\text{if }P_{2}(i)\\
\vdots & \vdots \\
l_{n},&\text{if }P_{n}(i)\\
f(i),& \text{if }P_{f}(i)
\end{casos}
donde l1,l2,…,ln∈N.
La constante funciones son primitivas recursivas, y f es primitiva recursiva. Los predicados P1,P2,…,Pn Pf son primitivas recursivas. Puedo aplicar el siguiente teorema del texto (p.336) a la conclusión de que la g es primitiva recursiva:
Teorema 10.7 Supongamos f1,f2,…,fk son primitivas recursivas función de Nm a N, P1,P2,...,Pk son primitivas recursivas n-lugar de los predicados, y para cada X∈Nn, exactamente una de las condiciones de P1(X)…,Pk(X) es cierto. A continuación, la función de f:Nm→N definido por f(X)=\begin{cases}
f_{1}(X),&\text{if }P_{1}(X) \text{ is true}\\
f_{2}(X),&\text{if }P_{2}(X) \text{ is true}\\
\vdots & \vdots \\
f_{k}(X),&\text{if }P_{k}(X) \text{ is true}
\end{casos} es primitiva recursiva.