Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
98
Добавлен:
09.02.2015
Размер:
68.57 Кб
Скачать

Натуральные числа как конструктивный объект

Рассмотрим алфавит, состоящий из одного символа «|» – палочка. Словами в этом алфавите являются последовательности палочек ||, |||,... . Сопоставим каждому слову длины n+1 натуральное число n: |=0, ||=1, |||=2, ... . Такие последовательности палочек представляют собой естественные коды натуральных чисел. Главной особенностью этих кодов является тот факт, что ко всякому непустому коду можно добавить или убрать палочку справа. Эти две операции далее будут считаться допустимыми элементарными операциями. Ничто вообще не мешает не различать натуральное число и его естественный код. Очевидно, что при таком кодировании любое натуральное число становится конструктивным объектом, а именно, конечным рядом палочек с координатной осью, направленной слева – направо и с доступным (локализованным) правым концом.

Разумеется, ничто не мешает использовать для изображения чисел любые другие символы. Опираясь на натуральные числа, можно конструктивно построить и все другие виды чисел, рассматриваемые в математике. Так, добавив символ «/». получим алфавит (I, /), в котором можно изображать рациональный числа p/q, и т.д.

Нетрудно видеть, что если построить класс вычислимых функций на множестве натуральных чисел, то тем самым будут построены вообще все вычислимые функции.

По Черчу числовая функция называется рекурсивной, если она относится к одному из двух классов:

  1. базовым рекурсивным функциям (алгоритм получения таких функций считается очевидным);

  2. функции, полученные из базовых рекурсивных функций и других рекурсивных функций с помощью операторов суперпозиции, примитивной рекурсии и минимизации.

Замечание. В первой редакции данного определения оператор минимизации отсутствует.

Кроме того, рекурсивные функции принято также делить на общерекурсивные (полученные с помощью операторов суперпозиции и примитивной рекурсии) и частично рекурсивные (полученные с помощью оператора минимизации).

Совокупность рекурсивных функций мы построим следующим образом. Непосредственно опишем наиболее простые из них и назовем базовыми. Сопутствующие этим функциям алгоритмы будут наиболее простыми, одношаговыми. Затем опишем три приема, называемых в теории рекурсивных функций операторами, с помощью которых исходя из рекурсивных функций можно получить новые функции; их, по определению, тоже будем считать рекурсивными. Эти операторы, по существу, будут алгоритмами; соединяя их, можно получать новые алгоритмы.

Классы рекурсивных функций Базовые функции

Базовые функции бывают трех типов.

  1. Функции любого числа независимых переменных, тождественно равные нулю. Для краткости будем называть их «тождественный ноль». Их будем обозначать φn, где п – число аргументов. Например, к числу таких функций относятся y= φ1(x), w3(x, y, z), wn(x1, х2, . . ., хп). Сопутствующий алгоритм для этих функций гласит: «Если функциональный знак имеет вид φn, то любой совокупности значений аргументов данной функции ставится в соответствие ее значение 0».

Будем считать, что п может быть равно нулю, т. е. что возможна функция этого вида, не зависящая ни от одного аргумента. Эта функция равна 0. Обозначим ее φ0( ), или, для краткости, φ0.

  1. Функции любого числа независимых переменных, тождественно равные одному из аргументов. Обозначим их ψn,i где п – число аргументов, i – номер одного из аргументов 1 ≤ i  n). Сопутствующий этим функциям алгоритм гласит: «Если функциональный знак имеет вид ψn,i, то значением функций считать значение i-го (считая в функциональной записи слева направо) независимого переменного». Для тождественных функций ни п, ни i не может быть равно нулю.

  2. Функции следования (иначе – получения последователя) одного независимого переменного. Обозначим их с помощью функционального знака λ(х). Сопутствующий этим функциям алгоритм гласит: «Если функциональный знак имеет вид λ(х) то значением функции считать число, непосредственно следующее за числом, являющимся значением аргумента». Операция «получения последователя», по-видимому, проще сложения. Дети сначала учатся считать, а потом уже овладевают сложением. Первобытные люди тоже сначала овладели счетом, и лишь много позже возникла идея сложения чисел. Это вполне естественно, так как в ту пору числа изображали как последовательности черточек (зарубок). Последователь получали, добавляя еще одну зарубку.

Заметим, что, создавая рекурсивные функции, опираясь на которые мы хотим обосновать математику, нельзя пользоваться нашими знаниями даже арифметических действий. Удобно на некоторое время вообразить, что математика нами полностью позабыта (во всяком случае, до тех пор, пока мы не построим класс рекурсивных функций).

Базовые функции имеют значения, только если даны значения их аргументов. Каждый из видов базовых функций имеет простой, понятный алгоритм построения этой функции.

Операции над числовыми функциями принять называть операторами. Операторы – это функции, аргументами и значениями которых являются функции. Таким образом, мы будем порождать новые функции, исходя из примитивных (элементарных арифметических). При этом нас будут интересовать вычислимые операторы, выполнение которых очевидно, а применение к функциям, вычислимым в каком-либо смысле, дает новые функции, вычислимые в том же смысле.

В теории рекурсивных функции особое значение имеют три следующих оператора: Оператор суперпозиции, оператор примитивной рекурсии и оператор минимизации.

Соседние файлы в папке Мат. логика все лекции