Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория алгоритмов / из Интернета / теория алгоритмов (учебник 87 стр).pdf
Скачиваний:
191
Добавлен:
27.05.2015
Размер:
771.07 Кб
Скачать

В качестве функций f

j

, j =1,2,..., k , взяты элементарные функции C n (x) и в

 

 

 

 

 

 

 

 

bk

качестве предиката, взят предикат равенства,

т.е. p j (x)= (x j = x), j =1,2,..., k . Так

как точки x j

по условию задачи отличаются друг от друга, то области истинности

предикатов p j попарно не пересекаются.

 

 

 

 

Таким

образом,

функция

f (x1 ,..., xn ),

сохраняет

свойство

примитивной

рекурсивности.

 

 

 

 

 

 

 

 

Лемма

1.1. Подстановка

примитивно

рекурсивной функции

в

предикат

равенства есть примитивно рекурсивный предикат.

 

 

 

Доказательство.

Пусть

 

заданы примитивно

рекурсивные

функции

ϕ1 (x), ϕ2 (y)

и пусть p(x, y)=

(x = y)– предикат равенства.

 

 

 

Рассмотрим предикат вида

p(ϕ(x),ϕ(y))= (ϕ(x)= ϕ(y)) .

Он является примитивно рекурсивным предикатом. Действительно, для данного предиката представляющей функцией является функция вида

ϕp = Sg(ϕ1 (x)− ϕ2 (y)),

которая является ПРФ.

I.10. Операция ограниченной минимизации

Пусть задан всюду определенный предикат p(x1 ,..., xn , y).

Определение. Говорят, что функция ϕ(x1,..., xn , z) получена из предиката p(x1 ,..., xn , y) в результате операции ограниченной минимизации, т.е.

ϕ(x1 ,..., xn , z)= μy yz p(x1 ,..., xn , y), если выполняется следующие равенства.

 

наименьшемучислу y0 , (0 y0 z)

 

 

 

ϕ(x1

такому, что p(x ,..., x

 

,

y

 

)= u ипри

 

 

(33)

,..., xn , z)=

1

n

 

 

0

 

 

 

 

некторых y′ < y0 , p(x1 ,..., xn , y)= л;

 

, y)= л

 

z +1,

еслидлявсех y =

0,1,..., z, p(x

,..., x

n

 

 

 

 

 

 

 

1

 

 

Теорема 5. Функция ϕ(x1 ,..., xn , z), полученная из предиката p(x1 ,..., xn , y) в

результате операции ограниченной минимизации, является примитивно рекурсивной функцией относительно {p}.

28

0 y z . Следовательно, в правая

Доказательство. Пусть задан всюду определенный предикат p(x1 ,..., xn , y) и h(x1 ,..., xn , y)– представляющая функция данного предиката и пусть

ϕ(x1 ,..., xn , z)= μy yz p(x1 ,..., xn , y).

Покажем, что ϕ(x1 ,..., xn , z) можно представить в виде:

 

ϕ(x1 ,..., xn , z)= z j

h(x1 ,..., xn , i)

(34).

 

j=0i=0

 

 

 

Действительно эта равенства имеет место.

 

1)

Пусть ϕ(x1 ,..., xn , z)= y0 , тогда p(x1 ,..., xn , y0 )= u

и для всех y<y0

p(x1 ,..., xn , y)= л.

Следовательно

z j h(x1 ,..., xn , i)= y0 .

j=0i=0

2)Пусть, ϕ(x1 ,..., xn , z)= z +1. Тогда по определению операции ограниченной

минимизации p(x1 ,..., xn , y)= л для всех y, где часть формуле (1), равна z+1 единиц.

Таким образом, из пунктов 1–2 следует, что формула (34) удовлетворяет заданию функции с помощью операции ограниченной минимизации. Так как операции конечного произведения и конечного суммирования сохраняют свойства примитивной рекурсивности функцией, то получаем, что функция ϕ(x1 ,..., xn , z)

является ПРФ относительно {p}.

Следствие. Операция ограниченной минимизации сохраняет свойство

примитивной рекурсивности функций.

 

Пример.

Пусть задана логическая функция p(x), значением

которой на

произвольном аргументе x является простое число с номером x т.е.

 

 

p(x)= px ,

(35)

где x = 0,1,2,..., n . Требуется доказать, что она является ПРФ.

 

Решение.

Из курса элементарной математики нам известно, что p является

простым числом, если оно имеет в точности два различных делителя.

 

29

Между множеством натуральных чисел и множеством простых чисел устанавливаем взаимно однозначное соответствие:

n

0

1

2

3

4

5

 

 

 

 

 

 

 

 

px

2

3

5

7

11

13

Таб.1.2

Покажем, что (35) – ПРФ.

Прежде всего, рассмотрим следующий предикат: pr (x)= (x простоечисло)

и определим, что он является примитивно рекурсивным. Для этого сначала докажем, что следующие арифметические функции являются примитивно рекурсивным:

rest(x, y)= остатокот деления x на y;

x,

если y = 0.

ι(x)= числоделителейчисла x;

0, если

x = 0.

(36)

(37)

Используя ранее доказанного ПРФ, т.е.

f (x, y)=

x

 

, легко можно показать,

 

 

y

 

что обе функции являются ПРФ.

Действительно, их соответственно можно представить:

 

 

 

 

rest(x, y)= x −&

y

x

 

(38)

 

 

y

 

и

 

 

 

 

 

 

 

 

 

 

 

 

 

ι(x)= x

 

 

 

(rest(x, i)).

 

(39)

 

 

Sg

 

 

 

 

i=1

 

 

 

 

 

 

 

 

 

Следовательно, они являются ПРФ.

 

 

 

Очевидно,

представляющей

функцией

для

предиката

pr (x)= (x простоечисло) является функция вида:

 

 

 

ϕ(x)=

 

(

 

ι(x)2

 

),

 

 

(40)

 

Sg

 

 

 

 

 

 

 

которая является ПРФ.

30

Из курса теории чисел известно, что имеет место соотношение:

px 22x .

Рассмотрим следующий предикат:

 

R(y, t)= [(y > t) pr (y)].

(41)

Как видно, этот предикат является примитивно рекурсивным как конъюнкция двух примитивно рекурсивных предикатов. Очевидно, если применить к предикату R(y, t)= [(y > t) pr (y)], операцию ограниченной минимизации, то получим примитивно рекурсивную функцию. (Это следует, из того что кусочное задание функции сохраняет свойство примитивной рекурсивности функции) Полученную функцию обозначим через ϕ(z, t ), т.е.

 

ϕ(z, t)= μy yz R(y, t).

 

(42)

Применяем к данной функции операцию суперпозиции, точнее вместо z в

данном равенстве подставляем 2 2 x +1

и полученную функцию обозначим через ϕ0 ,

т.е.

 

 

 

 

 

 

 

 

ϕ

 

 

2

2 x +1

 

(43)

 

0

(x , t )= ϕ

 

, t .

 

 

 

 

 

 

 

Так как операция

суперпозиции

сохраняет свойство

примитивной

рекурсивности функций, то ϕ0 –ПРФ.

 

 

 

 

 

Теперь покажем, что

логическая функция p(x)–есть результат операции

примитивной рекурсии над функциями: C20 , ϕ0 (x, t) , т.е.

 

 

 

 

p(x)= R(C20 , ϕ0 (x, t)).

 

Действительно, по определению операции примитивной рекурсии:

 

p(0)= 2 = C20 .

 

 

 

 

 

 

 

Предположим, что для

некоторого x верно, что p(x)= px .

 

Покажем, что тогда p(x +1)= px+1.

Очевидно, из определения операции примитивной рекурсии следует, что

p(x +1)= ϕ0 (x, p(x)),

31