Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VDM-123.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
6.47 Mб
Скачать

Операции с, Пр и 

Пусть N = {0,1,2,…}- расширенный натуральный ряд.

- система, содержащая все константы из N и все функции, определенные на наборах чисел из N и принимающие значения из N.

- счетнозначная логика.

Сейчас определим более широкую, чем , систему функций.

Пусть f(x1, x2,…, xn) - функция, определенная на подмножестве Nf множества всех наборов (1,2,…,n) чисел из N и принимающая значения также из N (вне множества Nf функция считается неопределенной). Такого рода функции будем называть частичными функциями счетнозначной логики.

Через обозначим множество всех частичных функций .

Очевидно, что Pвыч  .

На множестве определим три операции:

  1. C – суперпозиция;

  2. Пр – примитивная рекурсия

  3. минимизация.

1. Операция C вводится так же, что и для P2 и Pk:

Пусть Ф(x1, x2,…, xn)=f(f1(x1, x2,…, xn),…, fm(x1, x2,…, xn)).

Возьмем произвольный набор (1,2,…n) чисел из N. Если на этом наборе определены функции f1,…, fm и функция f определена на наборе (f1(1,2,…n),…, fm(1,2,…n)), то Ф определена на (1,2,…n) и Ф(1,2,…n) = f( f1(1,2,…n),…, fm(1,2,…n)); в противном случае Ф не определена на наборе (1,2,…n).

2. Операция Пр определяется так:

Пусть n–местная f и (n+2)–местная g - произвольные функции из .

Говорят, что (n+1)–местная функция h получается из функций f и g операцией примитивной рекурсии, если для всех x1, x2,…, xn выполняется следующее :

h(x1, x2,…, xn, 0)=f(x1, x2,…, xn);

h(x1, x2,…, xn, y+1)=g(x1, x2,…, xn, y, h(x1, x2,…, xn, y)) .

Заметим, при n=0 : h(0) = const ;

h(x + 1) = g(x, h(x)), x  0.

Пример. Покажем, что функция h(x1, x2) = x1 + x2 может быть получена через примитивную рекурсию из простейших вычислимых функций.

h(x1,0) = x1 = =f(x1);

h(x1, y+1) = x1 + (y+1) = (x1+ y)+1=S(x1+ y) = g(x1, y, x1 + y).

3. а) Операция определяется следующим образом:

Пусть дана f(x1, x2,…, xn, y), n  1- произвольная функция из .

Определим g(x1, x2,…, xn) так: вычисляем последовательно

f(x1, x2,…, xn, 0), f(x1, x2,…, xn, 1), … до тех пор, пока не найдем y0 такое, что для всех y < y0 f(x1, x2,…, xn, y) определено и не равно 0, а f(x1, x2,…, xn, y0) = 0. Тогда получаем g(x1, x2,…, xn) = y0. О функции g говорят, что она получена из f операцией минимизации и обозначают g(x1, x2,…, xn) = y (f(x1, x2,…, xn, y)=0).

Пример.

g(x) = y (|x – 2y| = 0) не определена, если x – нечетное число;

g(x) = , если x – четное число.

b) Операция определяется следующим образом:

Пусть f(x1, x2,…, xn-1, xn), n1, - произвольная функция из . Определим g(x1, x2,…, xn-1, xn) следующим образом: пусть = (1,2,…,n) - произвольный набор целых неотрицательных чисел. Рассмотрим уравнение

f(1,2,…n-1, y) = n (*)

1. Если (*) имеет решение и при всех таких, что функция f(1,2,…n-1, y) определена и ее значения отличны от n, то полагаем g( ) = .

2. Если (*) не имеет решений в целых неотрицательных числах, то считаем, что g( ) не определено.

3. Если - наименьшее целое неотрицательное решение (*) и при некотором и меньшем значение f(1,2,…n-1, y1) не определено, то полагаем, что g( ) не определено.

О функции g(x1, x2,…, xn-1, xn), построенной указанным способом из f(x1, x2,…, xn) говорят, что она получена из функции f(x1, x2,…, xn-1, xn) с помощью операции минимизации по переменной xn. Используются следующие обозначения:

или .

Замечание. Операции Пр и можно применять по любым переменным, входящим в функции f, g, h, но всегда нужно указывать, по каким переменным эти операции проводятся.

Пример. 1. f(x) = x+1 

x+1 = 1 x =1 -1

g(x) = x – 1 при x > 0,

не определено при x = 0.

2.

+ y =  y = - 

= , если ,

не определено, если .

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]