Оператор примитивной рекурсии
Пусть заданы частичные функции g: Nn ® N и h: Nn+2 ® N. Оператором примитивной рекурсии называется оператор, сопоставляющий паре (g, h) такую частичную функцию f: Nn+1 ® N, что для всех x1,…,xn,у Î N имеют место равенства:
f(x1,…,xn,0) = g(x1,…,xn);
f(x1,…,xn,y+1) = h(x1,…,xn,y, f(x1,…,xn,y)).
Поскольку область определения и значения дополняются отмеченной точкой, то равенство частичных функций означает, что для каждого значения аргумента либо левая, либо правая части равенства определены и равны между собой, либо обе его части не определены. Значение оператора примитивной рекурсии обозначается: f = R(g,h). Если g и h определены всюду, то f = R(g,h) определена всюду.
Если n = 0, то для любых числа g Î N и частичной функции h: N2 ® N частичная функция f = R(g,h) определяется с помощью равенств:
f(0) = g, f(y + 1) = h(y,f(y)).
Функция f называется примитивно рекурсивной, если ее можно получить из простейших функций s, 0 и Inm с помощью операторов композиции и примитивной рекурсии (таким образом, примитивно рекурсивная функция всюду определена.)
Пример 2
Функция o: N ® N, принимающая постоянные значения o(x)=0, будет примитивно рекурсивной в силу
o(0) = 0;
o(y+1)= I22(y, o(y)).
Функция оn: Nn ® N, все значения которой равны нулю, примитивно рекурсивна, ибо она является композицией о ° In1 простейших функций In1: Nn ® N и о: N ® N. Рассмотрим при k ³ 1 функцию ck: Nn ® N, все значения которой равны k. Функция ck равна композиции функций оn: Nn ® N и k функций N ® N ®…® N, каждая из которых равна s, ck = sk °on. Стало быть, ck примитивно рекурсивна.
Пример 3
Функция f: N2 ® N, заданная как f(x,y) = x + y, удовлетворяет соотношениям:
f(x,0) = x;
f(x,y + 1) = (x + y) +1 = f(x,y) + 1 = s(f(x,y)).
Положим: g(x) = I11(x) = x, h(x,y,z) = s(z). Так как f(x,0) = g(x) и
f(x,y + 1) = h(x,y,f(x,y)), то f = R(g,h) = R(I11,s ° I33). Значит, f – примитивно рекурсивна.
Предложение 1 Для любых примитивно рекурсивных функций f(x1, …, xn) и g(x1, …, xn) их сумма примитивно рекурсивна.
Доказательство. Вытекает из равенства
f(x1, …, xn)+g(x1, …, xn)= S(+,f,g) (x1, …, xn).
Пример 4
Функция f: N2 ® N, заданная как f(x,y) = x×y, удовлетворяет соотношениям:
f(x,0) = 0;
f(x,y + 1) = x ( y + 1) = f(x,y) + x.
Положим: g(x) = o(x), h(x,y,z) = x+z . Так как f(x,0) = o(x) и
f(x,y + 1) = h(x,y,f(x,y)), то f = R(g,h) = R(o, S(+, I31,, I33). Значит, f – примитивно рекурсивна.
Предложение 2 Для любых примитивно рекурсивных функций f(x1, …, xn) и g(x1, …, xn) их произведение примитивно рекурсивно.
Пример 5
Рассмотрим функцию: f(x,y) = xy. Поскольку f(x,0) = 1, и
f(x,y + 1) = x×f(x,y) = g(x,y,f(x,y)), где g(x,y,z) = x×z – примитивно рекурсивная функция (как композиция операции умножения и функции (I31, I33): N3 ® N2), то f(x,y) примитивно рекурсивна.
Пример 6
Пусть d(x) = max(0,x – 1). Имеют место равенства d(0) = 0 и
d(y + 1) = y = g(y,d(y)), где g(y,z) = I21(y,z) = y. Следовательно, d(x) – примитивно рекурсивна.
Пример 7
Пусть r(x,y) = max(0,x – y). Верны соотношения r(x,0) = x и
r(x,y + 1) = d(r(x,y)) = g(x,y,r(x,y)), где g(x,y,z) = d(z) – функция из примера 5. Значит, r(x,y) – примитивно рекурсивна.
Пример 6 показывает, что функция f(x,y) =ôx-yô= r(x,y) + r(y,x) примитивно рекурсивна, как композиция функций x1 + x2 и пары функций (r(x,y),r(y,x)): N2 ® N2 (примитивная рекурсивность функции r(y,x) получается из разложимости r(y,x) = S3(r, I22, I21)).
Дата добавления: 2016-09-20; просмотров: 2833;