Текст
                    ББК 22.12
FM21 УДК-510.51
МальцевА. И. Алгоритмы и рекурсивные функции.— 2-е изд.— М.: Наука. Гл. ред. физ.-мат. лит., 1986.— 368 с.
Посвящается одному из актуальных и бурно развивающихся разделов математической логики — теории алгоритмов, а также важнейшим ее связям с другими разделами математики. Является одним из лучших пособий для знакомства с основными направлениями, идеями и методами теории алгоритмов.
1-е изд.— в 1965 г.
Для математиков различных специальностей: научных работников, аспирантов и студентов.
Ил. 4. Библиогр. 126 иазв.
1702020000— 167
М 053(02)-86	16'86
© Издательство «Наука» Главная редакция физико-математпческо и литературы, 1986
ОГЛАВЛЕНИЕ
Предисловие...........................=	•
Предисловие редактора ко второму изданию...	. .
Введение...................................   .
СО СО О
Глава I. Основные понятия............................  17
§ 1.	Функции и операции............................ 17
1.1.	Алфавит. Слова (17). 1.2. Функции. Термы (19). 1.3. Алгебры (24). 1.4. Кодирование (27). Примеры и задачи (30).
§ 2.	Основные вычислимые операторы................. 30
2.1.	Суперпозиции частичных функций (30).
2.2. Оператор примитивной рекурсии (33). 2.3. Операция, минимизации (39). 2.4. Общерекурсивные функции (45). Примеры и задачи (47).
Глава II. Примитивно рекурсивные функции и рекур-
сивно перечислимые множества У...................... 49
§ 3. Примитивно рекурсивные функции................. 49
3.1. Операции суммирования и мажорированного обращения (49). 3.2. Примитивная рекурсив-ность некоторых арифметических функций (53).
3.3. Нумерация пар и n-ок чисел (60). 3.4. Зависимости между операторами примитивной рекурсии п минимизации (64). 3.5. Одноместные примитивно рекурсивные функции (68). Дополнения, примеры и задачи (76).
§ 4. Рекурсивно перечислимые множества............. 77
4.1. Рекурсивные и примитивно рекурсивные множества (77). 4.2. Рекурсивно перечислимые множества (79). 4.3. Порожденные множества (82).
4.4. Множества n-ок натуральных чисел (86). Примеры и задачи (91).
Глава III. Общерекурсивные и частично рекурсивные
функции .......................................   93
§ 5. Общерекурсивные функции .................... 93
5.1. Рекурсии 2-й ступени (93). 5.2. Универсальная общерекурсивная функция (98). 5.3. Быстрорастущие функции (105). 5.4. Обращение функции. Алгебра Робинсон (108). Дополнения, примеры и задачи (ИЗ).
1*
4
ОГЛАВЛЕНИЕ
§ 6.	Частично рекурсивные функции.................. 114
6.1.	Параметризация частично рекурсивных функций (114). 6.2. Универсальные частично рекурсивные функции (120). 6.3. Доопределение функций. Построение нерекурсивного рекурсивно перечислимого множества (123). 6.4. Исследование представления Клини (127). Дополнения, примеры и задачи (129).
Глава IV. Нумерованные совокупности..................... 133
§ 7.	Нумерации совокупностей множеств и функций 133 7.1. Универсальные функции Клини (133). 7.2. Нумерация Клини (136). 7.3. Нумерация Поста (139).
7.4.	Однозначные нумерации (145). Дополнения, примеры и задачи (155).
§ 8.	Сводимость и креативность множеств.............. 156
8.1.	Сводимость и ^.-эквивалентность множеств (156). 8.2. Продуктивные и креативные множества (159). 8.3. Простые множества (163). 8.4. Максимальные множества (164). Дополнения, примеры и задачи (167).
§ 9.	Нумерации произвольных совокупностей ....	171
9.1.	Изоморфизм и эквивалентность нумераций (171).	9.2.. Односводимость нумераций (176).
9.3.	Полные нумерации (183). 9.4. Семейства объектов нумерованных совокупностей (188). Дополнения, примеры и задачи (191).
§ 10.	Универсальные и креативные системы множеств 192 10.1. m-универ сальные системы множеств (192).
10.2.	Креативные системы множеств (196). 10.3. Рекурсивно неотделимые множества (199). Дополнения, примеры п задачи (202).
Глава V. Алгоритмы и машины Тьюринга................ 204
§ И. Словарные множества и функции............... 204
11.1. Словарные множества (205). 11.2. Основные словарные операторы (209). 11.3. Прямое определе-
ние класса частично рекурсивных словарных функций (215). Дополнения и примеры (218).
§12. Машины Тьюринга.............................. 218
12.1. Машины Тьюринга — Поста (219). 12.2. Вычислимые функции (225). 12.3. Синтез машин Тьюринга (230). 12.4. Теоремы о графике и существовании универсальных частично рекурсивных функций (243).	12.5. Универсальные машины
(250)	. Дополнения, примеры и задачи (252).
§ 13.	Приложения.................................. 254
13.1.	Проблема равенства слов в полугруппах (254). 13.2. Тождественно истинные формулы исчисления предикатов 1-й ступени (263). 13.3. Арифметические множества (270). 13.4. Формулы 2-й ступени (276). Дополнения п примеры (277).
ОГЛАВЛЕНИЕ	5
Глава VI. Варианты машин и алгоритмов Тьюринга —
Поста ...........................................  283
§ 14.	Нормальные и	операторные алгоритмы........ 283
14.1.	Формальные системы. Продукции Поста (284). 14.2. Нормальные алгоритмы (289). 14.3.
Операторные алгоритмы (291). Дополнения и примеры (301).
§ 15.	Многоленточные машины и ТАГ-системы ....	302
15.1.	Общие многоленточные машины (302). 15.2. Машины Минского (304). 15.3. Однородные продукции. ТАГ-системы (315). Дополнения, примеры и задачи (320).
§ 16.	Диофаптовы уравнения........................ 324
16.1.	Диофантовы предикаты и функции (324).
16.2.	Арифметическое представление (330). 16.3. Представимость натуральных чисел многочленами (336). 16.4. Показательные уравнения (339). Дополнепия и примеры (346).
Список литературы ................................... 348
Приложение. Диофантовость рекурсивно перечисли-
мых множеств и предикатов (Д. А. Захаров) ....	355
Предметный указатель................................. 365
ПРЕДИСЛОВИЕ
Еще в 30-х годах нашего столетия математическая логика и возникавшая тогда теория алгоритмов казались наиболее абстрактными и наиболее далекими от практических приложений областями математики. В настоящее время положение коренным образом изменилось. Ныне общепризнанно, что обе названные области образуют теоретический фундамент для создания и применений быстродействующих вычислительных и управляющих систем. Резко возрос удельный вес математической логики и теории алгоритмов и в самой математике. Более того, в значительной степени через теорию алгоритмов и математическую логику происходит ныне проникновение математических методов в биологию, лингвистику, экономику вплоть до философии естествознания. Все это привело к тому, что математическую логику и теорию алгоритмов начали включать в учебные планы наших университетов и пединститутов в качестве дисциплин, обязательных для изучения студентами-математиками всех специальностей.
Настоящая книга возникла в результате обработки конспектов лекций по математической логике, теории алгоритмов и их приложений, читавшихся автором в 1956— 1959 гг. в Ивановском педагогическим институте и с 1960 г. в Новоспбпрском университете. В ней излагается лишь общая теория алгоритмов и рекурсивных функций.
Целиком за пределами книги остались теория автоматов, приложения теории алгоритмов к формальным теориям, теория степеней неразрешимости. Сколько-нибудь подробное изложение этпх разделов в настоящее время требует специальных монографий.
Более серьезным недостатком предлагаемой книги может оказаться отсутствие в ней сведений о реальных вычислительных машинах. Однако в настоящее время теория программирования и принципы устройства реальных вычислительных машин читаются во всех университетах в
ПРЕДИСЛОВИЕ
7
качестве самостоятельных курсов. По этим курсам написано много учебников самого различного уровня. Поэтому нам казалось излишним включать соответствующие вопросы в общую теорию алгоритмов и в данной книге они даже не упоминаются.
Так как лекции по теории алгоритмов иногда читаются до лекций по математической логике, то логическая символика используется нами в очень ограниченном размере и значения всех употребляемых логических символов подробно разъясняются. По этой же причине в книге не обсуждаются вопросы, связанные с интуиционистским и конструктивистским истолкованиями результатов.
Как обычно, от читателей не требуется никаких предварительных специальных знаний, выходящих за пределы программы средней школы. Доказательства всюду проведены полностью за исключением последних глав, где иногда опущены рассуждения рутинного характера, которые легко восстановит каждый читатель, добравшийся до этих глав.
Первая половина книги в несколько ином виде была издана студентами Новосибирского университета в 1960 г. ротапринтным способом. Остальные главы читались в рукописи сотрудниками и студентами кафедры алгебры и математической логики НГУ. Всем им автор признателен за советы и замечания.
А. И. Мальцев
ПРЕДИСЛОВИЕ РЕДАКТОРА
КО ВТОРОМУ ИЗДАНИЮ
Первое издание книги вышло в 1965 г. В течение двух десятилетий книга была и оставалась одним из самых превосходных пособий по теории алгоритмов. Широкий охват материала, доступное изложение, выход на самую современную проблематику — вот неоценимые достоинства книги.
В текст второго издания книги внесены лишь самые несущественные изменения. Исправлены некоторые неточности. Изменено доказательство утверждения Ж) в п. 5.4. В п. 8.4 приведено другое, более короткое и прозрачное, доказательство теоремы о существовании максимальных множеств.
А. И. Мальцев всегда живо интересовался диофантовой проблематикой и кончил свою книгу одной из труднейших теорем (того времени) в этой области. В частности, его интересовала и десятая проблема Гильберта. В 1970 г. Ю. В. Матиясевич получил свой знаменитый результат: всякое рекурсивно перечислимое множество диофантово. Этот результат позволил получить ответы на многие вопросы, но породил и много новых. В частности, оказалось, что десятая проблема Гильберта алгоритмически неразрешима. Освещение всех вопросов, относящихся к этой проблематике, по-видимому, требует отдельной книги.
Именно этими обстоятельствами вызвана необходимость добавить ко второму изданию книги краткое приложение, содержащее мпнимум фактов, нужных для доказательства теоремы о дпофантовости.
Д. А. Захаров
ВВЕДЕНИЕ
Уже на самых ранних ступенях развития математики (Древний Египет, Вавилон, Древняя Греция) в ней стали возникать различные вычислительные процессы чисто механического характера; с их помощью искомые величины ряда задач вычислялись последовательно из данных исходных величин по определенным правилам и инструкциям. Со временем все такие процессы в математике получили название алгоритмов или — в другом написании — алгорифмов. Вплоть до 30-х годов нашего столетия это понятие алгоритма в основе своей не менялось, хотя приобретало небольшую и большую отчетливость. Тем не менее, оно осе тавалось интуитивным понятием, имевшим скорее методологическое, а не математическое значение. Сущность его легко уясняется из следующих примеров.
В десятичной системе счисления натуральные числа изображаются конечными последовательностями цифр 0, 1, . . ., 9. Спрашивается, как найти десятичную запись числа, равного сумме, разности, произведению, частному двух чисел, заданных своими десятичными записями. Известные всем из начальной школы процессы, с помощью которых решаются эти задачи, и являются алгоритмами сложения, вычитания, умножения и деления целых чисел в десятичной системе счисления. Аналогичные алгоритмы известны п для произвольных ц-пчных систем счисления.
Таким же ярким примером алгоритма может служить п процесс нахождения наибольшего общего делителя Двух положительных натуральных чисел аг, а2. Состоит он, как известно, в следующем:
1)	делим а4 на а2, находим остаток а3 п смотрим, равен он 0 или нет. Если равен, то процесс обрывается и а2 — искомый наибольший общий делитель. Если же я3 > 0, то
2)	делим а2 на а3 п находим остаток а4. Если а4 = 0, то процесс обрывается и а3 — искомый наибольший общий делитель. Если а4 > 0, то
10
ВВЕДЕНИЕ
3)	делим а3 на я4 и т. д.
Так как а2 > а3 > я4 > . . . > 0, то указанный процесс оборвется самое большее через я2 шагов и мы при его обрыве найдем требуемый наибольший общий делитель ни-С6Л tZj И ^2*
Аналогичные процессы применяются для нахождения наибольшей общей меры двух отрезков, наибольшего общего делителя двух многочленов и т. п. Все эти процессы известны сейчас под названием алгоритмов Евклида.
Из других алгоритмов укажем еще алгоритмы разложения натурального числа на простые множители, извлечения квадратного корня из натурального числа, решения системы линейных уравнений методом последовательного исключения неизвестных и т. д.
Отметим теперь несколько общих черт алгоритмов, ясно вырисовывающихся из предыдущих примеров и часто признающихся (Колмогоров и Успенский [1], Марков [2]) характерными для понятия алгоритма.
а)	Алгоритм — это процесс -последовательного построения величин, идущий в дискретном времени таким образом, что в начальный момент задается исходная конечная система величин, а в каждый следующий момент система величин получается по определенному закону (программе) из системы величин, имевшихся в предыдущий момент времени (дискретность алгоритма).
б)	Система величин, получаемых в какой-то (не начальный) момент времени, однозначно определяется системой величин, полученных в предшествующие моменты времени (детерминированность алгоритма).
в)	Закон получения последующей системы величин из предшествующей должен быть простым и локальным (элементарность шагов алгоритма).
г)	Если способ получения последующей величины из какой-нибудь заданной величины не дает результата, то должно быть указано, что надо считать результатом алгоритма (направленность алгоритма).
д)	Начальная система величин может выбираться из некоторого потенциально бесконечного множества (массовость алгоритма).
Понятие алгоритма, в какой-то мере определяемое требованиями а) — д), конечно, не строгое: в формулировках этих требований встречаются слова «способ», «величина», «простой», «локальный», точный смысл кото
ВВЕДЕНИЕ
11
рых не установлен. В дальнейшем это нестрогое понятие алгоритма будет называться непосредственным или интуитивным понятием алгоритма.
Интуитивное понятие алгоритма хотя и нестрогое, но настолько ясное, что практически не было серьезных случаев, когда математики разошлись бы в мнениях относительно того, является ли алгоритмом тот или иной конкретно заданный процесс. Этим легко объясняется своеобразное положение, сложившееся в математике с алгоритмическими проблемами к началу XX в. В этих проблемах требуется найти алгоритм для решения некоторой совокупности родственных задач, в условия которых входит конечная система параметров, могущих принимать обычно произвольные целочисленные значения. Например, требуется найти алгоритм, позволяющий для каждой четверки целых чисел я, b, с, d узнать, существуют ли целые числа х, у, удовлетворяющие уравнению
ах2 + Ьху + сг/2 = с?.
Был найден процесс, при помощи которого, исходя из заданных чисел, через конечное число «шагов» можно было получить ответ «да» или «нет» на. указанный вопрос. Многие другие алгоритмические проблемы также были решены путем указания конкретных разрешающих процессов. Положение существенно изменилось в XX в., выдвинувшем на первый план такие алгоритмические проблемы, существование положительного решения которых было сомнительным. Действительно, одно дело — доказать существование алгоритма, другое — доказать отсутствие алгоритма. Первое можно сделать путем фактического описания процесса, решающего задачу; в этом случае достаточно и интуитивного понятия алгоритма, чтобы ^удостовериться в том, что описанный процесс есть алгоритм. Доказать несуществование алгоритма таким путем невозможно. Для этого надо точно знать, что такое алгоритм. В двадцатых годах нашего века задача точного определения понятия алгоритма стала одной из центральных математических проблем. Решение ее было получено в середине тридцатых годов в работах Гильберта, Гёделя, Чёрча, Клини, Поста и Тьюринга в двух формах. Первое решение было основано на понятии рекурсивной функции, второе — на описании точно очерченного класса процессов.
Выше уже говорилось, что для алгоритмических проблем типичным является положение, когда требуется найти
12
ВВЕДЕНИЕ
алгоритм для решения задачи, в условия которой входят значения некоторой конечной системы целочисленных параметров жх, . . ., хп, а искомым результатом служит также целое число у. Иначе говоря, речь идет о существовании алгоритма для вычисления значений числовой функции у, зависящей от целочисленных значений аргументов xlt . . ., хп. Числовые функции, значения которых можно вычислять посредством некоторого (единого для данной функции) алгоритма, называются вычислимыми функциями. Поскольку понятие алгоритма в этом определении берется в интуитивном смысле, то и понятие вычислимой функции оказывается интуитивным. Тем не менее, при переходе от алгоритмов к вычислимым функциям возникает одно очень существенное обстоятельство. Совокупность процессов, удовлетворяющих условиям а) — д) и, следовательно, подпадающих под интуитивное понятие алгоритма, очень обширна и мало обозрима. Напротив, совокупность вычислимых функций для самых разных пониманий процессов, удовлетворяющих условиям а) — д), оказалась одной и той же и притом легко описываемой в обычных математических терминах. Эта точно описанная совокупность числовых функций, совпадающая с совокупностью всех вычислимых функций при самом широком до сих пор известном понимании алгоритма, носит название совокупности рекурсивных функций.
Отправляясь от идей Гильберта, Гёдель [1] впервые описал класс всех рекурсивных функций как класс всех числовых функций, определимых в некоторой формальной системе. Исходя из совершенно других предпосылок, Чёрч в 1936 г. пришел к тому же классу числовых функций, что и Гёдель. Анализ идей, приведших к этому классу функций, позволил Чёрчу первым опубликовать гипотезу о том, что класс рекурсивных функций тождествен с классом всюду определенных вычислимых функций. Эта гипотеза ныне известна под именем тезиса Чёрча. Так как понятие вычислимой функции точно не определяется, то тезпс Чёрча доказать нельзя.
Выше уже отмечалось, что, перерабытывая некоторые исходные данные xlt . . ., хп согласно заданному алгоритму, мы можем встретиться с тем, что процесс переработки никогда не оканчивается. В этом случае говорят, что данный алгоритм перерабатывает числа xi, ... ., хп в «неопределенность». Для того чтобы охватить и эти весьма важные случаи бесконечно длящихся процессов лереработ-
ВВЕДЕНИЕ
13
ки, К л и н и [1] ввел понятие частично рекурсивной функции и высказал гипотезу, что все Частичные (т. е. не обязательно определенные для всех значений аргументов) функции, вычислимые посредством алгоритмов, являются частично рекурсивными. Конечно, более общая гипотеза Клини так же недоказуема, как и гипотеза Чёрча. Однако исследования, проводившиеся весьма многими математиками в течение последних тридцати лет, выявили полную целесообразность считать понятие частично рекурсивной функции научным эквивалентом интуитивного понятия вычислимой частичной функции.
В дальнейшем мы не будем различать тезисы Чёрча и Клини и под именем тезиса Чёрча будем понимать гипотезу Чёрча в том расширенном виде, который был придан ей Клини.
Тезис Чёрча оказался достаточным, чтобы придать необходимую точность формулировкам алгоритмических проблем и в ряде случаев сделать возможным доказательство их неразрешимости. Причина этого заключается в том, что обычно в алгоритмических проблемах математики речь идет не об алгоритмах, а о вычислимости некоторых специальным образом построенных функций. В силу тезиса Чёрча вопрос о вычислимости функции равносилен вопросу о ее рекурсивности. Понятие рекурсивной функции строгое. Поэтому обычная математическая техника позволяет иногда непосредственно доказать, что решающая задачу функция не может быть рекурсивной. Именно этим путем Чёрчу [2] удалось первому доказать неразрешимость основной алгоритмической проблемы логики предикатов — проблемы тождественной истинности формул исчисления первой ступени.
Точное описание класса частично рекурсивных функций вместе с тезисом Чёрча дает одно из возможных решений задачи об уточнении понятия алгоритма. Однако это решение не вполне прямое, так как понятие вычислимой функции является вторичным по отношению к понятию алгоритма. Спрашивается, нельзя ли уточнить непосредственно само понятие алгоритма и уже затем при его помощи точно определить и класс вычислимых функций? Это было сделано Постом [1] и Тьюрингом [1] независимо друг от друга и почти одновременно с изложенными выше работами Чёрча и Клини. Основная мысль Поста и Тьюринга заключалась в том, что алгоритмические процессы — это процессы, которые может совершать подходяще устро
14	ВВЕДЕНИЕ
енная «машина». В соответствии с этой мыслью ими были описаны в точных математических терминах довольно узкие классы машин, но на этих машинах оказалось возможным осуществить или имитировать все алгоритмические процессы, которые фактически когда-либо описывались математиками. Алгоритмы, осуществимые на упомянутых машинах, было предложено рассматривать как математических «представителей» вообще всех алгоритмов. Несложные выкладки показали, что класс функций, вычислимых на этих машинах, в точности совпадает с классом всех частично рекурсивных функций. Тем самым было получено еще одно фундаментальное подтверждение тезиса Чёрча.
Машины, введенные Постом и Тьюрингом, отличались не очень существенно и в дальнейшем стали называться машинами Тьюринга, несмотря на то, что были введены указанными авторами одновременно и независимо друг от друга. Более того, машины, описанные в данной книге в главе V под именем машин Тьюринга, почти точно совпадают с тем вариантом этих машин, который был предложен Постом.
Сравнивая обычное определение частично рекурсивных функций с определением тех же функций как функций, вычислимых на машинах Тьюринга — Поста, легко заметить следующую направленность этих определений. Обычное определение частично рекурсивных функций настолько широко, что из него почти непосредственно видна частичная рекурсивность функций, вычислимых посредством процессов, алгоритмический характер которых интуитивно ясен. Напротив, определение с помощью машин Тьюринга — Поста очень специальное. Его цель — показать, как самые сложные процессы можно моделировать на весьма простых устройствах. Поэтому, если надо показать, что алгоритмические процессы можно моделировать на еще каких-либо специальных устройствах, то машины Тьюринга — Поста обычно берутся в качестве отправно го пункта рассуждений. В частности, этим путем Нови ков [Ц решил классическую проблему тождества теории групп. Это была первая крупная алгоритмическая проблема, возникшая в математике независимо от математической логики и теории алгоритмов и решенная при помощи развитой теории алгоритмов. С другой стороны, одна из наиболее знаменитых алгоритмических проблем математики — так называемая 10-я проблема Гильберта о разрешимости
ВВЕДЕНИЕ
15
алгебраических уравнений в целых числах — пока все еще остается открытой (1963 г.), хотя алгоритмическая неразрешимость близкой задачи о существовании целочисленных решений показательных уравнений была недавно установлена группой американских математиков (см. § 16 этой книги) *).
Первоначально теория алгоритмов возникла в связи с внутренними потребностями теоретической математики. Математическая логика, основания математики, алгебра, геометрия и анализ остаются и сегодня одной из основных областей приложения теории алгоритмов. Другая область ее приложений возникла в сороковых годах в связи с созданием быстродействующих электронных вычислительных и управляющих машин, которые с большой Точностью моделируют машины Тьюринга — Поста. Наконец, теория алгоритмов оказалась тесно связанной и с рядом областей лингвистики, экономики, физиологии мозга и психологии, философии естествознания. Например, достаточно старые вопросы о том, является ли мозг сложной машиной, как он работает, в чем состоит различие между трудом творческим и механическим, в первом приближении теперь часто формулируют следующим образом: можно] ли принципиально построить машину Тьюринга, перерабатывающую поступающую информацию так же, как мозг какого-нибудь животного, можно ли отождествлять труд механический с трудом согласно заданному алгоритму и т. п. Ясно, что' ответ на эти и многие другие аналогичные вопросы сама теория алгоритмов дать не в состоянии, но она помогает отчетливее понять суть вопросов такого рода.
Чтобы иметь возможность увереннее решать алгоритмические задачи, возникающие в различных отделах теоретической и прикладной математики, необходимо иметь достаточно развитую самостоятельную теорию алгоритмов. В настоящее время такая независимая п богатая теория алгоритмов уже создана. Первое спстематическое изложение ее было осуществлено Клини [3], монография которого «Введение в метаматематику» остается и поныне одним пз основных руководств в рассматриваемой области науки. Однако теория алгоритмов н рекурсивных функций изложена в этой монографии в тесном переплетении с рядом разделов математической логики с расчетом на
*)10-я проблема Гильберта алгоритмически неразрешим матпясевцч [1*]). См. также Приложение, с. 363.
см.
16
ВВЕДЕНИЕ
очень квалифицированного читателя. Кроме того, со времени выхода в свет указанной монографии появилось много новых важных работ по теории алгоритмов и рекурсивных функций, рассеянных по различным журналам и часто отсутствующих в библиотеках.
В настоящей книге, в первую очередь, изложены все основные результаты, относящиеся собственно к теории алгоритмов и рекурсивных функций. Из приложений рассмотрено лишь несколько частных задач, решение которых почти непосредственно вытекает из теорем и методов, изложенных в основном тексте.
О логической зависимости
разделов книги
В данной книге обычным шрифтом напечатаны те разделы, материал которых излагается, как правило, в общих курсах теории алгоритмов. Мелким шрифтом набраны разделы, содержащие результаты более специального характера. При первом чтении книги эти разделы, при желании, можно опустить. Наконец, много важных результатов специального характера читатель может найти в дополнениях, примерах и задачах, помещенных в конце каждого параграфа. Результаты эти приведены без доказательств, но указаны источники, где доказательства можно найти.
При чтении этой книги не обязательно изучать ее разделы в той последовательности, в какой они напечатаны. Более того,; лицам, интересующимся в первую очередь лишь приложениями теории алгоритмов, будет, вероятно, удобнее изучать разделы книги в следующем порядке: § 1, § 2, пп. 3.1—3.4, § 4, § И, пп. 12.1-12.4, п. 6.3, п. 12.5, § 13, пп. 7.1-7.3, пп. 8.1-8.2, § 14, § 15, § 16.
Г Л[А B[AKI
ОСНОВНЫЕ ПОНЯТИЯ ж.
Возведении подробно обсуждалось значение ряда основных понятий: частичной функции, алгоритма, алгоритмически вычислимой функции и других. Однако перечисленные понятия были введены лишь описательно, без отчетливых и точных определений. Цель данной главы — указать точные определения некоторых из этих понятий и прежде всего понятия рекурсивной функции и тем самым заложить прочный фундамент для более детального изучения этих понятий в последующих главах книги.
§ 1. Функции и операции
Этот параграф имеет вспомогательное значение. Здесь с целью установления терминологии и употребляющейся далее символики напоминаются определения ряда всем известных общематематических понятий.
1.1. Алфавит. Слова. Исходным материалом для нас будет служить понятие ленты, разделенной на («равные») участки, называемые ячейками пли клетками. Лента будет считаться конечной длины в каждый момент времени, неограниченно продолжаемой (надстраиваемой) в обе стороны и направленной, так что у каждой ячейки есть соседняя справа и соседняя слева.
Предполагается, что каждая ячейка ленты может находиться в различных состояниях и что эти состояния сравнимы, так что мы можем однозначно решить, находятся ли произвольные две ячейки в «одинаковых» состояниях или в разных. Одно из возможных состояний ячеек будет называться исходным. Ячейки, находящиеся в этом состоянии, называются пустыми. Остальные состояния будут обозначаться буквами, занимающими соответствующие ячейки.
Произвольная конечная совокупность букв называется алфавитом. Выражение «рассмотрим алфавц^^ддад^щцй^ пз букв А, Въ означает, что будет рассмад^даа^Жущйщ&й
18
ГЛ. I. ОСНОВНЫЕ понятия
ячейки которой могут находиться в состояниях, условно обозначаемых символами А, В.
Последовательность ячеек, занятых некоторыми буквами, называется словом. Словом в данном алфавите называется каждое слово, все буквы которого принадлежат этому алфавиту. Например, если алфавит состоит из букв А, В, С, то слова
A, BAA, СА, СС, АСВАВ	(1)
будут словами в этом алфавите. В то же время первые два из них будут словами и в алфавите А, В.
Длиной слова называется число входящих в него символов (т. е. число занятых им ячеек). Так, длинами написанных выше слов (1) являются соответственно числа 1, 3, 2, 2, 5. Два слова называются (графически) равньши, если они имеют одинаковые длины и на соответствующих местах в них находятся равные буквы.
Пусть символы й, 6 обозначают слова, записанные в алфавите, не содержащем самих символов а, Ь. Тогда через йб обозначается слово, получающееся, если сначала выписать слово й, а затем приписать справа к нему слово 6. Например, если й означает слово aba, а Ь — слово ас, то йЬ будет обозначать слово abaac. Слово аЬ называется композицией (иногда произведением) слов й и Ь. Операция композиции слов, очевидно, ассоциативна, но не коммутативна.
По чисто формальным причинам удобно ввести еще понятие пустого слова (не следует смешивать с пустой ячейкой), композиция которого с любым словом считается по определению равной этому последнему слову.
Слово й называется подсловом слова Ь, если Ь можно представить в виде
Ь = сйЬ,	(2)
где с, Ъ — подходящие (возможно пустые) слова. Еслп й — подслово слова Ь, то говорят также, что й входпт в Ь.
При заданных словах Ь, а разложений впда (2) может быть несколько. Например, для слов
6 = ababab, й = ab существуют следующие разложения указанного вида:
Ь = сеаЪаЪ = аЪ-Л-аЬ = аЪаЬ-л.
§ 1. ФУНКЦИИ И ОПЕРАЦИИ	19
Если в разложении вида (2) слово с имеет наименьшую возможную длину, то говорят о первом вхождении слова а в Ь. Аналогичным образом можно говорить о втором вхождении слова а в слово Ьи т, д. Если слово а есть просто буква, то говорят кратко о вхождениях буквы й в слово 6.
Пусть разложение (2) соответствует первому (вообще /с-му) вхождению слова й в слово Ь и пусть in — какое-нибудь слово. Тогда слово сптЬ называют словом, полученным заменой в слове 6 первого (Л-го) вхождения слова й словом иг. В этом случае говорят также о подстановке в слово Ь слова nt вместо соответствующего вхождения слова й. Например, производя подстановку слова ас в слово ababab вместо второго вхождения в него слова ab, получим слово abacab. Подставляя в то же слово вместо первого вхождения слова ab пустое слово, получим слово abab.
1.2. Функции. Термы. Пусть А, В — какие-либо множества, например, совокупности всех слов в подходящих алфавитах. Совокупность всех пар вида	где а £ А,
b б В, называется декартовым произведением А на В и обозначается через А х В. Аналогично, если Alt А2, . . . . . ., Ат — некоторые множества, взятые в определенной последовательности, то совокупность (((4Х X 42) X X А3) X . . . X Ат) называется декартовым произведением указанных множеств и обозначается кратко через Аг х А2 х ... X Ат. Если все множества Av . . ., Ат совпадают друг с другом, то их декартово произведение называется декартовой m-Й степенью множества А.
Если некоторым элементам множества X поставлены в соответствие однозначно определенные элементы множества Y, то говорят, что задана частичная функция пз X в У. Совокупность тех элементов множества X, у которых есть соответствующие в У, называется областью определения функции, а совокупность тех элементов множества У, которые соответствуют некоторым элементам множества X, называется совокупностью значений функцпп. Если область определения функции пз X в У совпадает с множеством X, то функция называется всюду определенной.
Еслп функция / ставпт в соответствие элементу ж ( X элемент г/ 6 У, то у называется значением функции / в точке х. Функции f и g из X в У называются равными, еслп онп пмеют одну п ту же область определения и значения их совпадают в каждой точке области определения. .
20
ГЛ. I. ОСНОВНЫЕ ПОНЯТИЯ
Наряду с частичными функциями имеющими непустую | область определения, во многих случаях бывает необхо- 1 димо рассматривать и функцию, нигде не определенную. 1
Частичные функции из X х X х . . . х X = Х(п) в Y называются частичными функциями от п переменных или n-местными функциями из X в Y. Частичная функция | из Х00 в X называется «-местной частичной операцией | на X.	I
Для записи функций и изучения их свойств пользуют- j ся особым формальным языком. Алфавит этого языка со- 3 стоит из символов, разбитых на три группы. Символы пер- а вой группы называются предметными символами. В ка- 1 честве таких символов обычно употребляются буквы я, | Ъ, х, у, . . . или те же буквы с индексами: <z0, ах, у0, I Ух, • • •	I
Символы второй группы называются функциональны- 1 ми. Это будут буквы с верхними и, возможно, нижними I индексами: Д, g2, ft, ft, . . . Буква с верхним индексом | «(«>!) будет называться «-местным функциональным 1 символом. Иногда верхние индексы не пишут, но непре- 1 менно указывают число мест для данных функциональных | символов.	1
Наконец, символы третьей группы — это символы ле- 1 вой, правой скобок и запятой: (,) ,,.	1
Слова особого вида, записанные в этом функционала- 1 ном алфавите, называются термами. Определение их еле- | дующее. Термами длины 1 называются однобуквенные I слова из букв, являющихся предметными переменными. 1 Далее пользуемся индукцией. Пусть для некоторого s > 1 I термы длины, меньшей s, определены. Тогда слово длины s I называется термом, если оно имеет вид f (йх, . . ., йп), где 1 йх, . . ., йп — некоторые термы меньшей длины, а / — ] «-членный функциональный символ. Например, если а, | х — предметные символы, а /, g — соответственно одно- | местный и двуместный функциональные символы, то слова 1 х, / (<z), g {х, a), g (f (х), g {а, х))	1
являются термамп длины соответственно!, 4, 6, 14. I
Введем теперь понятие значения терма при заданных I значениях предметных и функциональных символов. По I определению задать значенпе предметного символа — это 1 значит указать некоторое непустое множество, называв- 1 мое основным множеством, и сопоставить с рассматривав- 1
§ 1. ФУНКЦИИ И ОПЕРАЦИИ
21
мым символом некоторый элемент этого множества. Этот элемент и называется значением данного символа.
Задать значение «-местного функционального символа — это значит сопоставить с ним какую-нибудь частичную «-местную операцию, определенную на основном множестве.
Значением терма длины 1 называется значение составляющего этот терм предметного символа. Пусть рассматривается терм й большей длины. Предположим, что основное множество X выбрано, значения всех входящих в терм предметных и функциональных символов на этом множест ве определены и терм а имеет вид / (йх, . . ., йп), где / — «-членный функциональный символ, а йх, . . ., йп — термы меньшей длины. По индукции мы можем считать, что значения термов йх, . . ., йп уже определены и равны некоторым элементам xv . . ., хп множества X. По условию символу / поставлена в соответствие «-местная операция /0, определенная на X. Значение этой операции в точке <а?х, . . ., будет каким-то элементом х из X. Этот элемент х и будет значением терма й при заданных значениях предметных и функциональных символов.
Может случиться, что в качестве значений функциональных символов взяты частичные операции, определенные не всюду на основном множестве. Тогда и значение терма может оказаться неопределенным. А именно, значение терма й = / (йх, . . ., йп) считается неопределенным, если значение хотя бы одного пз термов йх, . . ., йп не определено или не определено значение операции /0 в точке фгх, . . . • • ., хпу, где xlt . . ., хп — значения термов йх, . . ., й,г. Например, в арифметике натуральных чисел термы
(2 4- 8) : 2,	(2 X 7) - 7
имеют соответственно значения 5, 7, а значения термов
5 - (3 + 3), 2:3, 3 : (2 — 2), 5 + (2 : 3)
не определены. Терм
\(3х + у) : у) Ч- 4
имеет значение 7 при значениях 2 и 3 предметных символов х, у, не определен прп значениях 2, 5 п имеет значение 5 прп значениях 0 и 1 символов ж, у.
Имея несколько операций, заданных на каком-то множестве X, можно прп помощи термов записать бесконечное множество новых операций, определенных на том же
22
ГЛ. I. ОСНОВНЫЕ ПОНЯТИЯ
множестве X. Делается это следующим образом. Обозначаем заданные операции какими-либо функциональными символами Д,. . fs. Пусть, кроме того, вX выделены еще некоторые элементы, обозначаемые символами а1У . . ., аг. Рассмотрим произвольный терм а, составленный из символов а15 . . ., аг, Д, . . ., fs и вспомогательных предметных символов xv . . ., xt. Так как основное множество X и значения символов ат, ft, . . ., fs уже фиксированы, то, задавая по произволу значения для символов х1г . . xt в множестве X, мы можем найти значение терма а (которое может оказаться и неопределенным, если некоторые из заданных операций определены не всюду). Таким образом, каждой последовательности элементов <ж1; . . ., xt~) множества X отвечает определенное (или неопределенное) значение терма а и потому мы имеем ^-точечную операцию на X. Говорят, что эта операция изображается термом а.
При записи термов обычно пользуются теми или иными сокращениями. Например,- если х — предметный, f — одноместный функциональный символы, то терм f (х) часто записывают в виде fx, xf или xf. Далее, если х, у — предметные символы, а / — символ двуместной операции, то терм f (ж, у) обычно пишут в видеж/у. В частности, если рассматривают двуместные операции, обозначаемые символами +	, то термы + (а,Ь),-(«,Ь),—(а, Ь) всегда
сокращенно обозначают через (а) + (Ь), (а) (Ь), (а) — (Ь). Если термы а, Ь длины 1, то в указанной записи скобки опускают и пишут просто а + b, ab, а — Ь.
В дальнейшем всюду, где противное не оговорено явно, под числами понимаются натуральные числа 0, 1, 2, 3, . . . Цифры 0, 1, 2, . . ., 9 и их последовательности 10, 11, 102, . . . будут рассматриваться как предметные символы, имеющие фиксированные значения, равные соответственнонатуральным числам нуль, один, . . ., десять, одиннад-цать и т. д. Совокупность всех натуральных чисел будет обозначаться символом 2Г. Пустое множество будет обозначаться через 0.
Частичные функции из Л” X ... X 2V = в Л" будут называться к-местными числовыми частичными функциями. При этом для краткости иногда числовые функции будут называться просто функциями. Символы +,-,— будут рассматриваться как двуместные функциональные символы, фиксированными значениями которых являются обычные арифметические операции сложения, умножения п вычитания. В области натуральных чисел
§ 1. ФУНКЦИИ И ОПЕРАЦИИ	23
две первые операции всюду определенные, а операция вычитания частичная.
Далее нам будут часто встречаться числовые функции s1, оп, Гт, имеющие по определению следующие значения:
s1 (ж) = х + 1,
о" (жх, . . хп) = О,
1т (жх, . . ., жп) = хт (1 < т < п; п = 1, 2, . . .).
Эти функции будем называть простейшими. Вместо а1, о1 будем обычно писать s, о.
Отметим, что терм, содержащий предметные символы ж, у, z, представляет однозначно определенную операцию только в случае, если эти символы определенным образом упорядочены. Изменяя их порядок, мы изменим и операцию. Например, терм
2ж + у	(3)
представляет функцию, ставящую паре <1,3> в соответствие число 5, если переменная ж считается первой, а переменная у — второй. Тот же терм (3) представляет функцию, относящую паре <1, 3> число 7, если первой считается переменная у, а второй — переменная ж.
Из рассмотренных примеров видно-, что встречающиеся в термах предметные и функциональные символы могут быть разбиты на две категории: 1) символы, значения которых фиксированы, и 2) символы, значения которых не фиксируются. Первые называются индивидуальными символами, а вторые — переменными.
Пусть на некотором множестве X заданы операции Л, . . ., fs и фиксированы некоторые элементы av . . ., аТ из X. Тогда каждая операция на X, представимая некоторым термом, записанным прп помощи функциональных символов /г, . . ., fs, предметных символов аг, . . ., аг и произвольных предметных переменных, называется термальной относительно данных операций п элементов. Папрпмер, если основное множество есть множество натуральных чисел X, заданная операция есть + п фиксировано чпсло 1, то термальными будут все линейные функции вида
-J- &1ЖХ -{- . . . ~ Ьпхп,
где 5- — положительные натуральные числа. Еслп чпсло 1 не фиксируется, а задается лишь операция +, то тер
24
ГЛ. I. ОСНОВНЫЕ ПОНЯТИЯ
мальными будут только однородные линейные функции вида Ьрхц + . . . + Ьпхп, где Ъ, — снова положительные натуральные числа.
Часто понятие термальной функции несколько расширяют. Именно, при заданных основных операциях /х, .. .,/s и элементах av . . ., аг n-местную операцию f называют термальной, если существует терм а, построенный из части символов ах, . . ., аг,/г, ...,/, и предметных переменных xiv ..., х^ (1 < д < . . lit < и), такой, что значение операции / в любой точке <сх, . . ., спУ совпадает с значением терма при значениях переменных xit, . . ., xi];, равных соответственно сг1, . . ., cf;.. Это означает, например, что терм х + у мы можем понимать либо как терм, представляющий двуместную функцию от ж, у (старое определение), либо как терм, представляющий функцию от трех переменных ж, у, z, где переменная z теперь входит в терм лишь фиктивно.
1.3. Алгебры. Алгеброй называется система, состоящая из некоторого непустого множества А и последовательности определенных на А операций Л’1, /-Д, • • • Множество А называется основным множеством алгебры, а операции/1’, /^, . . называются ее основными операциями. Последовательность <рд, ге2, . . называется ти-пом алгеоры, а совокупность символов д , д , . . ., ооо-значающпх основные операции, называется сигнатурой алгебры. Алгебры называются однотипными, если типы их совпадают. Классом алгебр называется произвольная система однотипных алгебр. При исследовании классов алгебр соответствующие операции этих алгебр обозначаются обычно одними и теми же символами. Алгебра с основным множеством А п основными операциями /х, /2, . . . обозначается через fv f2, . . .>. Если некоторые из операций Д, /2, ... частичные, то п алгебра называется частичной. Однотипные частичные алгебры = <А1; /х, /2, . . .) п8 = <5; gx, g2, . . .> называются изоморфными, еслп существует одпо-однозначное отображение ср множества А на множество В такое, что
ft (сд, . . ., ап-)ф = gi (af, . . ., ok.) (i = 1, 2, . . .) (4) для любых значений переменных гд, . . ., ап, взятых в А (через а® обозначается образ элемента а при отображении <р).
§ 1. ФУНКЦИИ II ОПЕРАЦИИ	25
Само отображение <р, обладающее свойством (4), называется изоморфизмом первой алгебры на вторую.
Если операции /г, gj частичные, то знак равенства в (4), как и всюду в дальнейшем, означает, что значение левой части, в том числе и «неопределенное значение», совпадает с значением правой части.
Пусть на множестве А определена какая-либо частичная операция fn. Подмножество At из А называется замкнутым относительно f1, если для каждых элементов «х, . . ., аг. из Av для которых значение /”(«х, определено, это значение принадлежит А±.
Легко проверить, что пересечение любой системы подмножеств, замкнутых относительно операции /, либо пусто, либо замкнуто относительно /.
Рассмотрим теперь некоторое непустое множество А, на котором определены произвольные частичные операции /х,	. . . Выделим в этом множестве какую-либо совокуп-
ность элементов D. Рассмотрим систему всех тех подмножеств из А, которые содержат D и замкнуты относительно каждой из операций /х, /21 • • • Эта система непуста, так как само А Э D и замкнуто относительно операций /г» /2, . . . Пересечение D* всех множеств этой системы замкнуто относительно рассматриваемых операций и содержит совокупность D. Это пересечение называется подмножеством, порожденным в А элементами множества D с помощью операций ft, f2, • . .
Очевидно, подмножество D* можно также определить и как наименьшее подмножество в А, содержащее D п замкнутое относительно рассматриваемых операций.
Несколько более ясное представление о строении множества D* дает
Теорема 1. Подмножество D*, порожденное в А элементами совокупности D с помощью операций ft, состоит из элементов, являющихся значениями термов, записанных при помощи символов операций ф, f2, ... и символов некоторых элементов D.
Приведем доказательство. Пусть Т — совокупность элементов, являющихся значениями указанных в теореме термов. Так как каждый элемент d из D является значением однобуквенного терма d, то Т содержит D. Пусть й1- •  ., a,i. — элементы Т, для которых Д- (ах, . . ., ап.) имеет значение а. По условию аг, . . ., ani являются значениями некоторых термов . ,г ani указанного выше
26
ГЛ. I. ОСНОВНЫЕ ПОНЯТИЯ
вида. Но тогда а есть значение терма Д («х, . . ап^, также имеющего указанный выше вид. Следовательно, а 6 Т и, значит, Т замкнута относительно операций Д, Д, . . . Из замкнутости Т и условия D cz Т следует, что D* cz Т.
Остается доказать, что Т содержится в Z)*. Для этого достаточно доказать, что каждое подмножество В^А, замкнутое относительно операций Д> f2, ... и содержащее совокупность D, содержит значение каждого терма указанного в теореме вида. Для термов длины 1 это утверждение очевидно. Если же терм, имеет вид ft (ах, . . . . . ., ani) и значения термов ах, . . ., ani содержатся в В, то из замкнутости множества В следует, что значение терма fi (Cj, . . ., дп.) также содержится в В. В силу индукции наше утверждение можно считать доказанным, а вместе с ним доказана и теорема.
Рассмотрим некоторую частичную алгебру ЭД = <4; Д, Д, . . .>. Берем произвольное непустое подмножество 4Х из А и определяем на 4х операцию /г,п_олагаядля произвольных av . . ., ani из 4Х значение Д (ах, . . ., ап^} равным значению Д (at, . . ., ani), если последнее входит в Av и полагая Д (ах, . . ., anj) неопределенным, если значение ft (at, . . ., ani) не входит в 4Х или не определено. Алгебра ЭДХ = (.Ар flf f2, .. .) называется частичной подалгеброй алгебры ЭД. Для операций fv обычно употребляются те же символы ft, f2, . . что и для операций самой алгебры ЭД, и вместо «подалгебра ЭДХ = =(Ар f2,f2, . . .>» говорят кратко: «подалгебра 4Х алгебры А». Частичная подалгебра ЭДХ называется замкнутой,^. если] множество’ 4Х замкнуто относительно операций /и Дч- • •
В силу'сказанного выше пересечение замкнутых частичных подалгебр любой частичной алгебры либо пусто, либо является^замкнутой частичной подалгеброй.
7 f Частичная алгебра называется алгеброй, если все ее. основные операции всюду определены. Аналогично, частичная подалгебра называется просто подалгеброй, если она есть алгебра. Легко проверить, что частичная подалгебра произвольной алгебры тогда и только тогда является просто подалгеброй, когда она замкнута. Таким образом, каждое множество, замкнутое относительно основных операций алгебры, вместе с этими операциями образует подалгебру этой алгебры.
§ 1. ФУНКЦИИ И ОПЕРАЦИИ
27
Говорят, что совокупность D элементов частичной алгебры 91 = <4; fx, fz, . . .у порождает частичную подалгебру 95х = <4]/, /1; /2, . . .>, если D порождает множество Аг с помощью основных операцийД, /2, ... в А. Элементы множества D называются порождающими частичной алгебры 91, если порожденная совокупностью D частичная подалгебра совпадает с 9Г.
Принимая во внимание теорему 1, видим, что совокупность D элементов частичной алгебры 9( тогда и только тогда является порождающей совокупностью этой алгебры, когда каждый элемент 91 есть значение подходящего терма, образованного из символов основных операций 95 и символов элементов D.
Иначе говоря, элементы D тогда и только тогда порождают алгебру 95, когда каждый элемент 95 можно получить из элементов D, применяя конечное число раз основные операции алгебры.
Частичная алгебра называется конечнопорожденной, если она порождается каким-либо конечным множеством своих элементов.
Например, алгебра +)> конечнопорожденная. В качестве порождающего множества можно взять любое множество чисел, содержащее 0, 1.
Напротив, алгебра Х> не является конечнопорожденной. Действительно, беря какое-нибудь конечное множество чисел ах, . . ., аТ, мы с помощью операции умножения можем получить из них числа,, делящиеся лишь на те простые числа, на которые делится хотя бы одно из заданных чисел аг, . . ., ат. Так как простых чисел бесконечно много, то все натуральные числа получить умножениями из чисел ах, . . ., аг нельзя.
1.4. Кодирование. Теория алгоритмов имеет дело со словами в конечном алфавите. Однако существуют математические объекты, играющие основную роль, которые нельзя без натяжкп непосредственно рассматривать как слова в некотором алфавите. К таким объектам, например, можно отнести рациональные числа, алгебраические числа, функции п многое другое. Тем не менее ряд таких объектов может быть охарактеризован конечным числом целочисленных параметров пли просто словом в подходящем конечном алфавите. Например, возьмем алфавит, состоящий лишь из знака |. Словами в этом алфавите являются последовательности «палочек»: |, ||, |||, . . . Сопоставим с каждым словом ||. . . |, содержащим п + 1 «палочек»,
28
ГЛ. I. ОСНОВНЫЕ ПОНЯТИЯ
натуральное число п. Говорят, что указанное слово изображает число п или является кодом числа п.
Аналогичным образом, вместо алфавита, состоящего из одной буквы |, можно рассмотреть алфавит, состоящий из двух букв 0, 1, и в качестве кодированной записи натурального числа п брать его двоичную запись. Например, кодом числа «пять» в новом алфавите будет слово 101.
При двоичном кодировании мы встречаемся с той особенностью, что не каждое слово является кодом какого-нибудь натурального числа. Например, слово 01 не является кодом никакого натурального числа.
Рассмотрим еще обычное кодирование положительных рациональных чисел. Вводим алфавит, состоящий из прямой черты | и косой черты /. Слово вида ||. . . | / | . . . ||, состоящее из от + 1 знаков |, косой черты / и последующих п + 2 знаков [, условимся называть кодом рационального числа п~т~^  Ясно, что теперь не только не каждое слово является кодом рационального числа, но каждое положительное рациональное число имеет бесконечно много различных кодов. Например, число 1/2 имеет коды 1И11. МН и т. д.
Во всех указанных случаях было выполнено следующее существенное требование: по заданному коду закодированный объект восстанавливался однозначно. Это требование обычно сохраняется и в общем определении кодирования.
Пусть ® — совокупность некоторых объектов, А — какой-нибудь конечный алфавит. Закодировать совокупность Э? в алфавите А — это значит задать однозначное отображение х некоторого множества слов в алфавите А на совокупность Слово а из множества называется кодом (иногда — именем) объекта х (а) при кодировании х.
В этом определении не требуется, чтобы отображение х было одно-однозначным. Поэтому может случиться, что один и тот же объект будет иметь несколько различных кодов.
Отображение х и множество S(z могут быть очень сложными, но обычно рассматриваются и называются кодирот ванпямп лишь несложные отображения. Рассмотрим- несколько наиболее часто встречающихся кодирований.
а)	Кодирование слов в многобуквенном алфавите. Пусть алфавит А состоит из
§ 1. ФУНКЦИИ И ОПЕРАЦИЙ	29
букв 0, 1, а алфавит В — из букв bv b2, . . bn, . . . Рассмотрим совокупность тех слов в алфавите А, которые начинаются с 1, оканчиваются буквой 0 и не содержат подслов вида 00. Обозначим через 1” слово 111 ... 1 длины п. Каждое слово из однозначно записывается в виде ГЮ1Ч) . .. Г;'О. Этому слову ставим в соответствие слово btpi^ . . . bilc алфавита В. Ясно, что полученное копирование одно-однозначно.
В рассмотренном случае алфавит В бесконечен. Если он конечен, то в качестве кода можно взять то же отображение х. Изменится лишь множество 2f-z.
б)	Бесконечные алфавиты. Согласно основному определению алфавитом называется конечное множество символов. Однако фактически очень часто удобнее рассматривать бесконечные алфавиты, состоящие из конечного числа букв, снабженных той или иной системой индексов, принимающих натуральные значения 0, 1, 2, . . . Например, пусть алфавит В состоит из символов а, Ь, . . ., с, ft, gi (i, j = 0, 1, 2, . . .). Этот алфавит формально бесконечен. Рассмотрим алфавит А, состоящий из символов а, &,..., с, /, g и новых символов а, р. Условимся символы /£ и gl кодировать в языке А словами fa ... а и соответственно ga . . . оф . . . р, где символ а входит i раз, а символ р входит j раз. Символы а, &,..., с пусть кодируются ими самими. Обозначим через {х} (ж € t В) кодовое значение символа х в алфавите А. Если а — слово в алфавите В, то, подставляя в а вместо символов их кодовые значения, получим некоторое слово в алфавите А, которое обозначим через {а}. Ясно, что по коду {а} однозначно восстанавливается и слово а. Поэтому, вместо того чтобы рассматривать произвольные слова а, Ь, . . . в бесконечном алфавите В, можно рассматривать их кодовые значения {й}, {Ь}, ... в конечном алфавите А и тем самым избежать рассмотрения бесконечных алфавитов.
в)	П о с л е д о в а т е л ьность слов. Пусть Я — некоторый алфавит. Обозначим через В алфавит, получающийся добавлением к А нового символа а (а $ РЛ). В дальнейшем наряду с отдельными словами й, Ь, . . . в алфавите А придется часто рассматривать пары слов <а, Ь>, тройки слов <й, Ь, с> и т. д. Однако пару слов <й, в алфавите Л можно закодировать словом ааЬ в алфавите В, тройку <й, Ь, 0 слов из А можно закодировать словом йаЬхс в алфавите В п т. д.
30
ГЛ. I. ОСНОВНЫЕ понятия
Примеры и задачи	Я
1.	Пусть .У — совокупность натуральных чисел, -|-обыч- .1
ная арифметическая операция сложения чисел. Показать, что в ал- я гебре 21 = <2v'; + > число 2 порождает множество всех положитель- 1 ных четных чисел, число 1 порождает множество всех положитель- .1 ных чисел, а числа 0 и 1 порождают всю алгебру 21.	1
2.	Показать, что все подалгебры алгебры 25=<У;+,—> 1 исчерпываются следующими: а) подалгебра (0), порожденная чис- 1 лом 0 и состоящая только из пего; б) подалгебра (1), порожденная | числом 1 п совпадающая с самой алгеброй Й5; в) подалгебра (а), | порожденная произвольным числом а > 1, состоящая пз чисел 0, ' 1 а, 2а, За, . . .	s
3.	Показать, что каждая подалгебра алгебры 21 = <У; + > 1 состоит из всевозможных кратных подходящего числа а, возможно, за исключением конечного числа таковых.	1
4.	Рассмотрим алгебру 6 = <jV ; +, •, — >, где операция | «—» рассматривается как частичная двуместная операция. Значение | терма х — у считается равным обычной разности для х у и неоп- 1 ределенным для х < у. Какие функции представляются термами 1 0-(х — (х + 1)), (я — у) + у, (х-р у) — у? Показать, что функция 1 2х не может быть представлена термом в алгебре S (т. е. термом, | записанным в алфавите х, +, •, —).	I
§ 2. Основные вычислимые операторы	|
Операции лад числовыми функциями далее называют- 1 ся операторами. В настоящем параграфе определяется ряд | операторов, обладающих тем свойством, что, применяя их 1 к функциям, вычислимым в интуитивном смысле (см. вве- 1 дение), мы получим функции, также заведомо вычислимые J в интуитивном смысле. Частичные функции, которые 1 можно получить при помощи этих операторов из простей- 1 ШИХ функций <8 (х) = X + 1, О (ж) = 0, Гт (xv . . ., Хп) = 1 = хт, называются частично рекурсивными. Основная 1 гипотеза Чёрча состоит в том, что класс частично рекур- 1 сивных функций совпадает с классом функций, допускаю- I щих машинное илп алгоритмическое вычисление.	|
2.1. Суперпозиции частичных функций. Пусть заданы I п каких-либо частичных функций Д, . . ., /п от одного и 1 того же числа т переменных, определенных на каком-то 1 множестве А со значениями в множестве В, и пусть на I множестве В определена частичная функция / от п пере- | менных, значения которой принадлежат некоторому треть- I ему множеству С. Вводим теперь частичную функцию g I от т переменных, определенную на А со значениями в С, I полагая по определению	I
g . . ., хт) = j . . ., хт), . . .,fn (хъ . . ., жт)) 1
§ 2. ОСНОВНЫЕ ВЫЧИСЛИМЫЕ ОПЕРАТОРЫ	31
для произвольных хх, . . хт из А. Говорят, что функция g получается операцией суперпозиции или подстановки из функций /, /х, . . ., /п. Операция подстановки будет далее обозначаться символом S'”*1. Индекс сверху означает число функций. В качестве множеств А, В, С ниже почти всюду будет браться множество натуральных чисел 2V. Условимся через и’11 обозначать совокупность всех частичных числовых функций от п переменных. Оператор S7I+1 является всюду определенной ^функцией из g-n х %т X . . . X %т в g’m. Если же рассматривать множество § всех частичных числовых функций от произвольного числа переменных, то оператор Sn+1 можно рассматривать как частичную функцию от п + 1 переменной, определенную на % со значениями в %. При этом терм Sn+1 (f,	. . ., /„) имеет определенное значение
(равное частичной от-местной функции) тогда и только тогда, когда значением переменной/будет n-местная функция, а значениями символов . . ., fn будут частичные функции от одного итого же числа переменных. Например, с последней точки зрения значение терма S3 (1%, I3, 7?) не определено, а значение терма S3 (I3, I3, 1%) равно I3, где if, 7?, I3 — символы простейших функций, определенных в п. 1.2.
В соответствии с п. 1.3 система $Р, состоящая из совокупности функций jy и определенных на ней частичных, операций S2, S3, . . ., будет частичной алгеброй.
Пусть /1‘, . . ., /"•’ — какие-нибудь частичные числовые функции соответственно от nt, . . ., ns аргументов («1, . . ., ns произвольны). Частичные функции, которые можно получить операциями подстановок из . . ., /"’ п функций Im (т, п = 1, 2, . ..), называются элементарными относительно . . ., fss. Совокупность их будет в алгебре ф подалгеброй, порожденной элементами /"*, ...  • •> fss, Im. Теорема 1 из п. 1.3 показывает, что относительно элементарными^будут те и только те частичные Функции, которые можно записать в виде термов, содержащих функциональные символы S2, S3, . . . операций подстановки, символы fi', . . ., fss заданных и символы 7^ простейших функций. Однако для относительно элементарных* функций" возможна и еще более простая запись.
32
ГЛ. I. ОСНОВНЫЕ понятия
Теорема 1. Для того чтобы некоторая п-местная частичная числовая функция f была элементарной относи-телъно частичных функций	fs, необходимо и доста-
точно, чтобы / можно было представить в виде терма, записанного с помощью функциональных символов fi, f2, .. . . . ., fs, Im и некоторых предметных переменных х\, . . хп, часть из которых может входить в терм и фиктивно.
Итак, утверждается, что для относительно элементарной частичной функции / существует две записи: 1) в виде значения терма, функциональными символами которого служат символы операций подстановки, а предметными символами — символы	fs, Im (термы этого вида
мы будем называть операторными); 2) в виде терма (а не значения терма), составленного из функциональных символов ft, fs и некоторых предметных переменных (может быть, фиктивных). Эту запись мы будем называть термальной записью. Отметим еще раз, что в первом случае функция / есть значение терма, а во втором функция / представляется термом.
Для доказательства теоремы надо показать, что от термальной записи можно переходить к операторной и наоборот. Пусть / — значение операторного терма й. Если длина а равна 1, то а есть либо /г, либо Z”. В первом случае термальным представлением для / является терм /г (рц,, . . . . . ., xin), а во втором случае — терм х}-. Если длина а больше 1, то а имеет вид S':+1 (В, Вх, . . ., В/,-), где В, Вг, . . . . . ., Вл- — операторные термы меныпей длины. По индукции предполагаем, что термальные представления
С = с(х1г. . . ,xt.), Ci — Cifxt, . . . , хп) (i~i, .. . ,k) для значений термов В, Вх, . . ., В^ нам известны. Тогда с (Ci (жх,..., хп),..., cfr (жх,..., ж,,)) будет искомым термальным представлением для заданного операторного терма а.
Обратно, пусть п-местная частичная функция / задана своим термальным представлением а (х1? . . ., хл), где переменные х,,, . . ., xik фактически входят в1 терм, а остальные из переменных хг, . . ., хп рассматриваются как фиктивные. Если длина терма а равна 1, то а пмеет впд xj и, значит, / равна значению операторного терма Если же длина терма а больше 1, то а имеет впд /г (ах, . . . . . ., (ц), где «х, . . ., ап — термы меньшей^длины. По ин
§ 2. ОСНОВНЫЕ ВЫЧИСЛИМЫЕ ОПЕРАТОРЫ	33
дукции предполагаем, что для каждой n-местной частичной функции от xv . .хп, представляемой термом найдено ее выражение в виде операторного терма с;- (/ = = 1, . . ., пг). Тогда ясно, что функция / будет значением операторного терма <8'”i+1 (/г, Сх, . . ., с;1.).
Например, пусть заданы обычные функции + и X. Функция от xt, х2, х3, имеющая термальное представление Жх-ж2 4" жз, является значением операторного терма
^3(+ЛЗ(Х,Л,Л),/!).
2.2. Оператор примитивной рекурсии. Пусть заданы какие-нибудь числовые частичные функции: п-местная g и (п + 2)-местная h. Говорят, что (п -Ь 1)-местная частичная функция / возникает из функций g и hnpuMu-тивной рекурсией, если для всех натуральных значений хг, . . хп, у
/. (жх, . . ., хп, 0) = g (Ж1, . . ., ж„),	(1)
/ fcx, . . ., хп, у + 1) = Л (хъ . . ., хп, у, f (жх, . . ., хп, у)).
(2)
Это определение мы будем применять и для п = 0, говоря, что одноместная частичная функция / возникает примитивной рекурсией из постоянной одноместной функции, равной числу а, и двуместной частичной функции h, если
/(0) = а,	(3)
/ (х + 1) = h (х, / (ж)).	(4)
Встает вопрос, для каждых ли частичных функций g, h от п и п + 2 переменных существует частичная функция / от п. + 1 переменной, удовлетворяющая условиям (1), (2) или соответственно (3), (4), и будет ли такая частичная функция единственной? Так как область определения Функций есть множество всех натуральных чисел, то ответ на оба вопроса, очевидно, положителен. Если функция / существует, то из (1) и (2) последовательно находим
f (Жх, . . ., Хп, 0) = g (жх, . . ., жп),
/ (ж17 . . ., Хп, 1) = h (жх, . . ., хп, 0, g (жх, . . ., Хп)),
(5)
/ (^1, . . ., хп, т + 1) = h(xt, . . ., ЖдТ т, f (жх, . . ., Хп, т))
34
ГЛ. I. ОСНОВНЫЕ понятия
и потому / определена однозначно. Из соотношений (5), в частности, видно, что если для некоторых хг, . . жп, t значение / (хх,. . ., хп, t) неопределенное, то неопределенными будут и значения / (хг, . . ., хп, у) для всех у t.
Чтобы при заданных частичных функциях g, h найти функцию /, возникающую из них примитивной рекурсией, достаточно равенства (5) принять в качестве равенств, определяющих значения функции /. Таким образом, для любых частичных п-местной функции g и (п + 2)-местной функции h (п = 0, 1, 2, . . .) существует одна и только одна частичная (н + 1)-местная функция /, возникающая из g и h примитивной рекурсией. Символически пишут
/ = -В (g, h)
и рассматривают К как символ двуместной частичной операции, определенной на множестве $ всех частичных функций. Из соотношений (5) вытекает, что если функции g и А всюду определены, то и функция/ всюду определена.
Из соотношений (5) видно также и следующее фундаментальное для нас обстоятельство: если мы каким-то образом «умеем» находить значения функций g, h, то значения функции / можно вычислять при помощи процедуры вполне «механического» характера. Именно, для нахождения значений / (ах, . . ., ап, т + 1) достаточно последовательно найти числа
— g (®11 • • ч ®n)> br = h («!, . . ., an, 0, b0), bz = h (at, . . ., an, 1, &x),
bm-n —	(®1> • • •>	^тп)-
Полученное на (m + 1)-м «шаге» число 6m)1 п будет искомым значением функции в точке <ап . . ., а^, т + 1>. Изложенный процесс вычисления f (ax, . . ., ап, т + 1) будет продолжаться неограниченно только в том случае, когда неограниченным окажется процесс вычисления одного из выражений
g (аъ . . ., an), h (an . . ., On, 0, &0), . . .
• • -, h . . ., m, bm), т. e. когда хотя бы одно из этих выражений будет иметь неопределенное значение. Но тогда в соответствии с определением функции / значение / (an . . ., a„, т + 1) будет неопр еде ленным.
§ 2. ОСНОВНЫЕ ВЫЧИСЛИМЫЕ ОПЕРАТОРЫ	35
Теперь введем одно из главных понятий теории рекурсивных функций. Пусть задана система <5 каких-то частичных функций. Частичная функция / называется примитивно рекурсивной относительно ®, если / можно получить из функций системы ® и простейших функций з, о, 1т конечным числом операций подстановки и примитивной рекурсии.
Функция / называется просто примитивно рекурсивной, если ее можно получить конечным числом операций подстановки и примитивной рекурсии, исходя лишь из простейших функций S, О, 1т.
Операции подстановки и примитивной рекурсии, будучи применены к всюду определенным функциям, дают в результате снова всюду определенные функции. Поэтому, если задана система ® всюду определенных функций, то примитивно рекурсивные относительно 6 функции всюду определены. В частности, все примитивно рекурсивные функции всюду определены.
Ясно, что частичная функция /, примитивно рекурсивная относительно какой-нибудь системы S частичных функций, примитивно рекурсивна и относительно любой более широкой системы. Примитивно рекурсивные функции можно рассматривать как примитивно рекурсивные относительно пустой системы ®. Поэтому примитивно рекурсивные функции — это функции, примитивно рекурсивные относительно любой системы функций.
Наконец, из определения также непосредственно вытекает, что операции подстановки и примитивной рекурсии, примененные к частичным функциям, примитивно рекурсивным относительно какой-нибудь системы ®, дают в результате снова функции, примитивно рекурсивные относительно ®.
Подробно свойства примитивно рекурсивных функций будут изучены в § 3, а здесь мы в качестве примера докажем лишь примитивную рекурсивность самых простых арифметических функций.
Согласно определению одноместные функции <8 (ж) = = х + 1, о1 (ж) = 0,	(ж) = ж и многоместные функции
1т (жх, . . ., жп) = хт (т, п = 1, 2, . . .) примитивно рекурсивны.
Для тг-местной функции оп (жх, . . ., жп) = О имеем представление
о" = № (о\ I")
36	гл. I. ОСНОВНЫЕ ПОНЯТИЙ
и потому функция о” примитивно рекурсивна. Произвольная n-местная постоянная функция/1 = а допускает представление в виде терма
s(s(. ..8{on{xlt . . . ,ЖП)). . .)), записанного при помощи символов примитивно рекурсивных функций s, оп и предметных переменных. Поэтому все постоянные функции примитивно рекурсивны.
Двуместная функция f (х, у) = х + у удовлетворяет соотношениям
х 4- 0 = х = Д (я:),
X + (у + 1) = (х + у) + 1 = s (х + у).
Следовательно, функция х + у возникает из примитивно рекурсивных функций l\, h (х, у, z) = z + 1 операцией примитивной рекурсии и потому функция х + у примитивно рекурсивна.
Двуместная функция ху удовлетворяет схеме примитивной рекурсии
ж-О = о (х), х (у + 1) = ху + х с начальными примитивно рекурсивными функциями (см. (1), (2))
g (ж) = о (ж), h (х, у, z) = z + х.
Поэтому функция ху примитивно рекурсивна.
Рассмотрим функцию жу, причем будем считать, что ж0 = 1. Соотношения
ж0 = 1, жу+1 = хух
представляют собой примитивно рекурсивную схему с начальными примитивно рекурсивными функциями
g (ж) = 1, h (ж, у, z) = z-ж.
Поэтому функция жу также примитивно рекурсивна.
В-анализе иногда встречается функция sg х (сигнум или. знак х), равная +1 для положительных вещественных значений символа ж, —1 для отрицательных ж и 0 для ж = 0. Мы будем рассматривать эту функцию лишь для натуральных значений ж, для которых она может быть
§ 2. ОСНОВНЫЕ ВЫЧИСЛИМЫЕ ОПЕРАТОРЫ
37
определена так:
(О, если х = О, sga:=J.	п
(1, если ж>0.
Введем еще функцию sg, определяемую так: __________________ fl, если ж = 0, sg х — i n	. n
IP, если x^>Q,
и совпадающую с разностью 1 — sg х.
Функции sg и sg удовлетворяют примитивно рекурсивным схемам:
sg 0 = 0,	_ sg 0 = 1,
sg (ж + 1) = 1,	sg (ж + 1) = О,
имеющим вид (3), (4). Поэтому функции sg и sg примитивно рекурсивны.
В области натуральных чисел разность ж — у естественно считать частичной двуместной функцией от ж, у, определенной лишь для ж > у, так как отрицательные числа не входят в рассматриваемую область. Но примитивно рекурсивные функции всюду определены. Поэтому в теории примитивно рекурсивных функций вместо обычной разности вводят усеченную разность, обозначаемую символом — и определяемую так:
[х — у, если ж у, х^у = \ п J	(6)
а [	0, если ж у.	' '
В отличие от простой разности- усеченная разность является всюду определенной в области натуральных чисел, и в то же время она очень просто связана с обычной разностью. Так, например, согласно (6)
5 — 3 = 2, 3 — 5 = 0, (ж — у) — z = ж — (у + z).
Функция ж — 1 удовлетворяет примитивно рекурсивной схеме
0^1 = 0, (ж + 1) — 1 = ж
с примитивно рекурсивными начальными функциями о1 и Z1. Поэтому функция ж — 1 примитивно рекурсивна.
С другой стороны, из (6) следует, что для любых ж, у
х -- 0 = х,
х (у + 1) = (х у) 1.
38	ГЛ. I. ОСНОВНЫЕ понятий
Эти тождества показывают, что двуместная функция х — у возникает примитивной рекурсией из функций Л и h (х, у, z) = z — 1. Обе последние функции примитивно рекурсивны. Поэтому и функция х — - у примитивно рекурсивна.
Наконец, из примитивной рекурсивности функций + и — вытекает примитивная рекурсивность функции
I * — У I = (х у) + (у х).
На этом мы пока прервем изучение свойств примитивно рекурсивных функций. Оно будет продолжено в § 3, а сейчас мы еще раз обратимся к определению относительно примитивно рекурсивных функций.
В настоящем и предыдущем пунктах на множестве 3’ всех частичных функций с произвольным числом аргументов были определены частичные операции суперпозиции 8г (г — 2, 3, . . .) и примитивной рекурсии JJ. Согласно п. 1.3 система
sB=<g;J?, S2,S3,...y
является частичной алгеброй. Из приведенных выше определений непосредственно вытекает, что совокупность §пр всех примитивно рекурсивных функций является подалгеброй алгебры 55, порожденной системой функций о, s, Im (т, п — 1, 2, . . .). Аналогично, если ® — система каких-либо функций из то совокупность всех функций, примитивно рекурсивных относительно <S, является подалгеброй алгебры 55, порожденной функциями системы ® и простейшими функциями о, я, Гт- В силу теоремы 1 из п. 1.3 можно утверждать, что примитивно рекурсивными являются те и только те функции, которые являются значениями термов, записываемых с помощью индивидуальных предметных символов о, s, Гт и функциональных символов R, S2, S3, . . .
Аналогично, те и только те функции примитивно рекурсивны относительно О, которые являются значениями термов, записываемых с помощью индивидуальных предметных символов о, s, 1т, символов функций из ® и функциональных символов JEt, S2, S3, . . .
Термы этих видов мы, как и в п. 2.1, будем называть операторными. С формальной точки зрения операторные термы — это слова в алфавите, образованном символами R, S1, о, s, Гт и символами, которые обозначают функции
§ 2. ОСНОВНЫЕ ВЫЧИСЛИМЫЕ ОПЕРАТОРЫ	39
из системы ®. Как правило, система <5 предполагается конечной, но даже и в этом случае алфавит получается бесконечным, так как он включает бесконечное число символов S2, S3, . . . Однако эту сложность легко устранить, если воспользоваться надлежащим кодированием, указанным, например, в п. 1.4. Тогда каждая примитивно рекурсивная функция будет значением подходящего слова в фиксированном конечном алфавите.
Запись примитивно рекурсивной функции в виде операторного терма будет рассматриваться далее как стандартное (конструктивное) задание, этой функции. Как правило, доказательство примитивной рекурсивности некоторой функции будет состоять в указании пути для построения операторного терма, значение которого равно данной функции. Например, приведенное выше доказательство примитивной рекурсивности усеченной разности дает следующие термальные представления:
х^-1 = R(o,l{)(x),
^-=R (Ji, I33 - 1) = R (7j, Sz (R (о, l{), Ц)).
Отметим сразу же, что функция — допускает и бесконечно много других термальных представлений, так как значение терма не изменится, если к нему приписать, например, слово +о.
2.3. Операция минимизации. Рассмотрим какую-нибудь n-местную (п > 1) частичную числовую функцию /. Допустим, что существует какой-либо «механизм» для вычисления значений функции /, причем значение функции / не определено тогда и только тогда, когда этот механизм работает бесконечно, не выдавая никакого определенного результата. Фиксируем какие-нибудь значения х1г . . . . . ., хп-1 для первых п — 1 аргументов функции / и рассмотрим уравнение
/ fe, . . ., х.г-i, у) = хп.	(1)
Чтобы найти решение у (натуральное) этого уравнения, будем вычислять при помощи указанного выше «механизма» последовательно значения f (а?х, . . ., xn-i, у) для у — = 0, 1, 2, . . . Наименьшее значение а, для которого получится
f • • •» Хп-1 t в) Хц.
40
ГЛ. I. ОСНОВНЫЕ понятия
обозначим через
Hj, (/ (жх, . . Жп~х, у) = хп).
(2)
Описанный процесс нахождения значения выражения (2) будет продолжаться бесконечно в следующих случаях:
а)	значение / (xlt . . ., xn_lt 0) не определено;
б)	значения / (жх, . . xn-i, у) для у = 0, 1,..а — 1 определены, но отличны от хп, а значение f (жх, . . . . . жге-1, а) не определено;
в)	значения f (жх, . .	жп-1, у) определены для всех
у = 0, 1, 2, . . . и отличны от жп.
Во всех этих случаях значение выражения (2) считается неопределенным. В остальных случаях описанный процесс обрывается и дает наименьшее решение у = а уравнения (1). Это решение, как сказано, и будет значением выражения (2).
Например, мы уже условились обозначать через х — у функцию, равную обычной разности ж — у для ж >= у и нулю для ж < у. Поэтому в согласии с указанным смыслом символа р. для всех ж, у имеем
ж — у = pz (у + z = ж).	;(3)
Аналогично,
(Б£Ж = 1) = 1, И?/ (у — Ж = 0) = 0.
Это соответственно наименьшие решения уравнений sg ж — = 1 и у — ж = 0.
Напротив, значение выражения
Ну (У (У — (^ + 1)) = 0	'(4)
не определено, так как уже значение терма 0-(0 — ( ж + + 1)) не определено. В то же время уравнение
у (у — (ж + 1)) = 0
имеет решение у = ж + 1, но оно не совпадает с значением выражения (4). Этот пример показывает, что цля частичных функций-/ (жх, . . ., Жп-х, у) выражение (2), строго говоря, не есть наименьшее решение уравнения (1). Если же функция / (жх, . . ., жп~х, у) всюду определена и уравнение (1) имеет решения, то (2) есть наименьшее решение для (1).
Значение выражения (2) при заданной функции / за-рисит от выбора значений для параметров жх, . . .£ Жп-х,
sg 1 ж
з 1 (ж)
§ 2. ОСНОВНЫЕ ВЫЧИСЛИМЫЕ ОПЕРАТОРЫ	41
хп и потому оно есть функция (частичная) от аргументов я . . ., Эту функцию мы будем обозначать символически через Mf, где М — символ операции, переводящей функцию / в функцию Mf. Если заданная функция / одноместна, то функцию Mf обозначают часто через f"1 и называют обращением функции f или, короче, обратной функцией. Таким образом,
Г1 (ж) = Ну (/ (у) = х).
Например, для функций sg из обратными будут функции
= х,	если ж = 0,1,
не определено, если ж^>1,
и соответственно
= х — 1 если х )> О, не определено, если ж —0.
Для многоместных функций f запись f1 не употребительна. В дальнейшем оператор М будет называться оператором минимизации. Например, из формулы (3) получается
М (+) = S3 (-, it it).
Наряду с выражениями вида (2) далее нам будут встречаться выражения вида
Ну (/ Си, • • •> хп, У) = g Си, • • -, Хп, У)), Ну (/ (И, • • , хп, у)^= g (и, • .• •, хп, у)).
Значения их считаются по определению совпадающими с значениями соответственно выражений
Ну (1.7 (И, • • Хп, У) — g Си, • • , хп,у) I = 0),
Ну (sg I 7 (и, • • ; Хп, у) — g Си, • • •, хп, у) I = 1).
Теперь введем следующее
Основное определение. Частичная, функция f называется частично рекурсивной относительно системы частичных функций ®, если f может быть получена из функций системы ® и простейших функций о, s, Im конечным числом операций подстановки, примитивной рекурсии и минимизации.
42
гл. I. основные понятия
Частичная, функция f называется частично рекурсивной, если она может быть получена из простейших функций о, s, I'm конечным числом операций подстановки, примитивной рекурсии и минимизации.
На языке термов это определение может быть выраже- : но следующим образом: частичная функция / называется частично рекурсивной относительно системы частичных функций S, если / есть значение (операторного) терма, записанного с помощью операторных символов JR, М, 8г, предметных символов о, s, Im простейших функций и предметных символов для функций из системы S.
Частичная функция / называется частично рекурсивной, если она является значением (операторного) терма, записанного с помощью операторных символов JS, М, S1 и символов о, s, 1т простейших функций.
Из указанного основного определения непосредственно вытекают следующие свойства относительно частично рекурсивных функций.
1)	Каждая частичная функция, примитивно рекурсивная относительно системы функций ®, является и частично рекурсивной относительно S. В частности, все примитивно рекурсивные функции частично рекурсивны.
2)	Класс частично рекурсивных функций шире класса примитивно рекурсивных функций, так как все примитивно рекурсивные функции всюду определены, а среди частично рекурсивных функций встречаются и не всюду определенные функции, например функции sg-1, s-1, а также нпгде не определенная функция
/ (ж) = p,z (х + 1 + z = 0).
3)	Операции подстановки, примитивной рекурсии и минимизации, произведенные над функциями, частично рекурсивными относительно системы ®, дают в результате функции, снова частично рекурсивные относительно ®. В частности, каждый (функциональный) терм, записанный с помощью символов функций, частично рекурсивных относительно S, и предметных переменных хг, . . ., хп, представляет функцию от хг, . . ., хп, частично рекурсивную относительно S.
Уже пз примеров, приведенных в п. 2.2, видно, что многие числовые функции нрпмптивно рекурсивны. Чтобы получить первое, грубое представление о связи между примитивно рекурсивными и частично рекурсивными функциями, введем следующие понятия.
§ 2. ОСНОВНЫЕ ВЫЧИСЛИМЫЕ ОПЕРАТОРЫ ’	43
Характеристической функцией %д_ какого-нибудь множества натуральных  чисел А называется одноместная функция, равная 0 в точках множества А и равная 1 в точках, не принадлежащих А. Частичной характеристической функцией множества А называется функция, равная О в точках множества А и не определенная в точках, не принадлежащих А.
Например, характеристическая функция пустого множества есть функция, равная 1 для любого значения аргумента, а частичная характеристическая функция пустого множества есть нигде не определенная функция. Вообще легко понять, что характеристическая и частичная характеристическая функции совпадают лишь для множества всех натуральных чисел.
Множество натуральных чисел А называется примитивно рекурсивным, если его характеристическая функция примитивно рекурсивна. Множество А называется частично рекурсивным, если его частичная характеристическая функция частично рекурсивна. Аналогично определяются понятия примитивно рекурсивного и частично рекурсивного множеств относительно системы функций S.
Покажем, что каждое (относительно) примитивно рекурсивное множество является (относительно) частично рекурсивным. Действительно, пусть % (х) — характеристическая функция какого-нибудь множества натуральных чисел А. Тогда функция (z), определяемая равенством
%ч (х) = 0 — % (х),	(5)
будет частичной характерпстической функцией множества А. Так как операция вычитания частично рекурсивна, то пз формулы (5) следует, что функция %ч (х) также частично рекурсивна.
Детальное изучение свойств частично рекурсивных функций составляет центральную задачу теории рекурсивных функций. Оно будет проведено в главе III. В качестве предварительной информации о свойствах частично рекурсивных функций может служить следующая очевидная
Теорема 1. Пусть / (х) — какая-нибудь примитивно рекурсивная функция и А — произвольное примитивно рекурсивное множество натуральных чисел. Тогда
44
ГЛ. I. ОСНОВНЫЕ понятия
частичная функция f4 (ж), определенная схемой
(— f (х),	если xQA,
/ч(ж) я	*Л
' (не определено, если х$А,
(6)
является частично рекурсивной.
В самом деле, по доказанному выше частичная характеристическая функция %ч (ж) множества А частично рекурсивна. Из схемы (6) вытекает, что для всех значений х
/ч (х) = /(*) + Хч (ж)
и, значит, функция /ч (ж) частично рекурсивна.
Теорема 1 дает возможность строить многочисленные примеры частично рекурсивных функций.
Понятие частично рекурсивной функции — одно из главных понятий теории алгоритмов. Значение его уже было указано во введении. Кратко говоря, это значение состоит в следующем. С одной стороны, каждая стандартно заданная, например, посредством указанного выше операторного терма частично рекурсивная функция вычислима путем определенной процедуры механического характера, которая несомненно отвечает нашему интуитивному представлению об алгоритмах. С другой стороны, какие бы классы точно очерченных «алгоритмов» до сих пор фактически ни строились, во всех случаях неизменно оказывалось, что числовые функции, вычислимые посредством алгоритмов этих классов, были частично рекурсивными. Поэтому ныне общепринятой является следующая естественнонаучная гипотеза, обычно формулируемая как
Тезис Чёрча. Класс алгоритмически (или машинной вычислимых частичных числовых функций совпадает с классом всех частично рекурсивных функций.
Этот тезис дает алгоритмическое истолкование понятия частично рекурсивной функции. Несколько сложнее дело обстоит с истолкованием понятия частичной рекурсивности относптельно заданной системы функций <5. Такое истолкование было впервые указано Тьюрингом. Для простоты предположим, что спстема ® состоит лишь из одной функции h (ж). Если значения этой функции вычислимы посредством некоторого алгоритма и, значит, ввиду тезиса Чёрча функция h (ж) частично рекурсивна, то каждая функция /, частично рекурсивная относительно h, будет просто частично рекурсивной. Если заданная функция h не является частично рекурсивной, то единого
§ 2. ОСНОВНЫЕ ВЫЧИСЛИМЫЕ ОПЕРАТОРЫ	45
алгоритма для вычисления произвольного значения функции h нет, и вычислить какое-нибудь значение функции д (я) _ это математическая проблема. Пусть теперь нам задана какая-нибудь функция /, частично рекурсивная относительно h. Это значит, что функция f может быть представлена в виде значения операторного терма, содержащего символ функции h и символы простейших функций. Мы предположим, что этот терм а нам известен. В таком случае, просматривая определения операций R, И, 8г, легко убеждаемся, что вместе с термом а опеределен и алгоритм, который позволяет вычислять значения функции / при условии, что мы можем находить те значения функции h (путем решения соответствующих проблем), которые указывает алгоритм.
Говорят, что функция / алгоритмически вычислима относительно функции h, если существует алгоритм, позволяющий вычислять значения функции / при условии, что мы можем находить те значения функции h, которые указываются алгоритмом. При этом значения функции h, необходимые на более поздних шагах алгоритма, могут зависеть от значений h, требовавшихся на предыдущих шагах алгоритма.
Это определение относительной алгоритмической вычислимости, конечно, не полное. Смысл его зависит от того, какой смысл мы вкладываем в понятие’ обычного (не относительного) алгоритма, и других обстоятельств. Как и понятие алгоритма, понятие относительного алгоритма можно уточнять различными способами. Однако при всех фактически испробованных уточнениях оказывалось, что относительно вычислимые функции являлись относительно частично рекурсивными. Поэтому по аналогии с тезисом Чёрча обычно принимается в качестве естественнонаучной гипотезы и
Тезпс Тьюринга. Класс функций, алгоритмически вычислимых относительно какой-либо функции h (или класса функций S), совпадает с классом частичных функций, частично рекурсивных относительно h (соответственно относительно системы ®).
Из тезиса Тьюринга вытекает тезис Чёрча. Обратное, по-видимому, нельзя считать справедливым. Конечно, здесь речь пдет не о строгой логической зависимости, а скорее о зависимости в некотором философском смысле.
2.4.	Общерекурсивные функции. Как уже говорилось, Для каждой частично рекурсивной функции / существует
46
ГЛ. I. ОСНОВНЫЕ ПОНЯТИЯ
механический процесс, посредством которого любое натуральное число х перерабатывается в значение f (ж) . функции f. Этот процесс продолжается бесконечно, не \ давая окончательного результата, тогда и только тогда, когда значение функции / в точке z не определено. Таким образом, всюду определенные частично рекурсивные функ-  ции — это функции, для вычисления значений которых существует алгоритм, обрывающийся через конечное число шагов для любого начального числа. Алгоритмы, которые перерабатывают любое заданное число в определенное число, играют особую роль в теории алгоритмов. Вместе с ними особое положение в теории рекурсивных функций занимают и всюду определенные частично рекурсивные функции.
Следующий способ получения всюду определенных частично рекурсивных функций вполне очевиден. Операция минимизации, введенная в п. 2.3, ставит в соответствие любой заданной функции / определенную частичную функцию Mf. Введем теперь еще одну операцию, которую временно будем обозначать символом М1 и называть слабой минимизацией. До определению положим
Mlf = Mf,
если функция Мf всюду определена. Если же эта функция определена не всюду, то значение Mlf будем считать неопределенным.
Функции, которые можно получить из простейших функций О, 8, 1т конечным числом операций подстановки, примитивной рекурсии и слабой минимизации, называются общерекурсивными.
Так как операции R, М1, 8г, выполненные над всюду определенными функциями, либо ничего не дают, либо дают снова всюду определенные функции, то все общерекурсивные функции всюду определены.
С другой стороны, если результат операции слабой минимизации определен, то он совпадет с результатом операции обычной минимизации. Поэтому все общерекурсивные функции являются всюду onределенными частично рекурсивными функциями.
Обратное тоже верно: каждая всюду определенная частично рекурсивная функция общерекурсивна. Однако этот результат является следствием довольно тонкой теоремы, которая будет доказана лишь в п. 6.1. Заметим пока, что
§ 2. ОСНОВНЫЕ ВЫЧИСЛИМЫЕ ОПЕРАТОРЫ	47
согласно определению каждая примитивно рекурсивная функция является общерекурсивной.
В л. 5.2 будут построены общерекурсивные функции, не являющиеся примитивно рекурсивными. Таким образом, класс общерекурсивных функций шире класса примитивно рекурсивных функций.
Примеры и задачи
1.	Операция подстановки одноместной функции в одноместную функцию дает снова одноместную функцию. Эту операцию мы будем обозначать символом *. Таким образом, по определению
f * g = Sz (f, g),
(j * g) (x) = f(g (a:)).
Операция * ассоциативна, но не коммутативна:
j * (g * h) — (f * g) * h, s * sg =/= sg * s.
Показать, что для любой одноместной функции /
4 * / = / * /1, /-1 * / * /-1 = Г1.
Если/-1 всюду определена, то /*/-1 = I}. Если выражение/-1 (х) определено для некоторого х, то
(/ * /-1) (а:) = х.
Показать, что существуют одноместные функции /, для которых /-1 всюду определена и в то же время /-1 * / =j= J1.
2.	Для двуместных функций вводим операцию т, полагая
f (х, у) = f (у, х).
Операция т удовлетворяет следующим соотношениям:
f = S3 (/, % 4),
Нх (/ Со У) = z) = (-^4) (у, 2)-
3.	Если х — вещественное чпсло, то символом [г] будем обозначать целую часть х, т. е. наибольшее целое чпсло, не превосходящее х. Показать, что функция
q (г) = х — Я2
Удовлетворяет соотношениям
Q-1 (2т) = х2 + 2х, q~x (2х -J- 1) = х- + 4х 2.
4. Пусть g — множество всех частичных функций на N от лю-оого числа переменных. Рассмотрим частичную алгебру
St = <5; И, R, S2, S3, . . . >.
48
ГЛ. I. ОСНОВНЫЕ ПОНЯТИЯ
Основное определение частичной рекурсивности дает: совокупность всех частичных функций, частично рекурсивных относительно заданной системы частичных функций @, есть подалгебра алгебры 51, порожденная в ?( системой ®,	, о, з.
Обозначим через gz совокупность всех всюду определенных функций из § и рассмотрим частичную подалгебру
<8z! Ml, It, S2, S3, . . .>
алгебры. ?(. Совокупность всех общерекурсивных функций есть подалгебра алгебры порожденная в ?(; простейшими функциями о, 1^, s.
5.	Доказать, что каждая всюду определенная функция, равная натуральному числу а. везде, за исключением конечного числа точек, является примитивно рекурсивной.
6.	Доказать примитивную рекурсивность двуместных функций [xly], rest (х, у), где [zc/y] обозначает (неполное) частное, a rest (zr, у) — остаток от деления х на у. По определению полагаем также, что [zr/O] = х и rest (я, 0) = х.
7.	Если значения примитивно рекурсивной, общерекурсивной или частично рекурсивной функции изменить лишь на конечном множестве точек, то новая функция будет снова соответственно примитивно рекурсивной, общерекурсивной или частично рекурсивной.
8.	Показать, что примитивно рекурсивна каждая
а)	конечная совокупность чисел;
б)	совокупность чисел вида ап + Ъ (п = 0, 1, 2, . . . );
в)	совокупность чисел вида а-Ъп (га = 0, 1, 2, . . .).
9.	Показать, что область определения одноместной частично рекурсивной функции есть множество частично рекурсивное. Совокупность значений га-местной частично рекурсивной функции является частично рекурсивным множеством.
ГЛАВА II
ПРИМИТИВНО РЕКУРСИВНЫЕ ФУНКЦИИ
И РЕКУРСИВНО ПЕРЕЧИСЛИМЫЕ МНОЖЕСТВА
В первой половине главы продолжается изучение свойств примитивно рекурсивных функций, точное определение которых уже было дано в предшествующей главе. Во второй половине главы вводится новое фундаментальное понятие — понятие рекурсивно перечислимого множества натуральных чисел и доказывается ряд свойств этих множеств, составляющих основу, на которой строится дальнейшая теория рекурсивных функций.
§ 3. Примитивно рекурсивные функции
В п. 2.2 введено понятие примитивно рекурсивной функции и начато изучение свойств этого понятия. Теперь изучение свойств примитивно рекурсивных функций будет продолжено, причем главной целью будет доказательство примитивной рекурсивности ряда наиболее часто встречающихся числовых функций.
3.1. Операция суммирования и мажорированного обращения. Согласно п. 2.2 операции подстановки и примитивной рекурсии, произведенные над примитивно рекурсивными функциями, дают в качестве результата снова примитивно рекурсивные функции. Мы теперь определим еще несколько операций, обладающих этим свойством.
Теорема!. Пусть п-местная (частичная) функция g примитивно рекурсивна (относительно какой-ни-будь системы частичных функций ®). Тогда п-местная 'Функция f, определенная равенством
хп
/ (zx, . .. , хп) = 2j g (®i, • • •! ^n-1, i),
i=0
такжг примитивно рекурсивна (относительно <S).
Действительно, пз указанного равенства вытекает
! (zj, . . ., хп-1, 0) = g (zx, . . ., zn_!, 0),
/ (zj, . . ., zn_i, у -Г 1)
= / (zi, . . ., zn_x, y) + g (zi, . . ., zn_i, у + 1).
50
ГЛ. II. РЕКУРСИВНЫЕ ФУНКЦИИ
Следовательно, функция / возникает посредством прими* тивной рекурсии из примитивно рекурсивных функций g (жх, . . хп_г, 0), h (жх, . . хп_±, у, z) = = z + g (хи .
и потому / примитивно рекурсивна.
Следствие 1. Если п-местная всюду определенная функция g примитивно рекурсивна (относительно ®), то (п -ф ^-местная функция f, определенная схемой
.....-f^*****	“ ’<Z' (‘)
если у ^>'z,
• ! ^71—1
(о,
также примитивно рекурсивна (относительно ®).
Из схемы (1) видно, что
(1)
/(Х1,..., хп_х, у, z) =
г	у
~ ( 3 g (Х1,...» жп-1, Q — 3 g (жх, .. ., xn-lt ?)) -f-г=0	i=0
+ g(^l, . . . .Жп-х, z/)-sg (у — z).
Так как операция — примитивно рекурсивна, то в силу теоремы 1 функция / также примитивно рекурсивна.
Иногда говорят, что определенная в теореме 1 функция / возникает из функции g операцией суммирования. Теорема 1 означает, что операция суммирования, произведенная над примитивно рекурсивной функцией, дает снова примитивно рекурсивную функцию.
Следствие 2. Если g, h, к — примитивно рекурсивные .функции, то функция /*, определенная соотношением
/Цх,.	, X )
/*(жх, ...,жп) =	3 g (Жх,. .., жп_х, i),	(2)
»=Л(-М..Kn)
также примитивно рекурсивна.
Формула (2) равносильна формуле
/* (®х. • • •> хп) = / (®ь • • -7 *п-1, h, к),
где / — функция, определенная схемой (1). Так как f,h, к примитивно рекурсивны, то /* также примитивно рекурсивна.
Аналогично теореме 1 доказывается и
§ 3. ПРИМИТИВНО РЕКУРСИВНЫЕ ФУНКЦИИ
51
Теорема 2. Если п-местная функция g примитивно рекурсивна (относительно системы функций <ё), то п-местная функция, определенная формулой
f (Х1, • • • > ®П-1» Хп) - П § (®Ъ • • • > ^п-1>	'
i=0
также примитивно рекурсивна (относительно S).
В этом случае говорят, что функция / (х1г . . ., хп) получается из функции g (х1, . . ., жп) операцией мультиплицирования.
Доказательство ввиду его простоты мы опустим.
Далее часто будет встречаться так называемое кусочное -задание функции. Заключается оно в следующем. Пусть заданы некоторые функции /г (ж15 . . ., zn), г = 1, . . .
1, и указаны какие-то условия Pj (я:1, . . ., zn) (j = 1, . . $), которые для любой системы чисел х±, . . . . . хп могут быть истинны или ложны. Допустим, далее, что ни для одной системы чисел хг, . . ., хп никакие два из упомянутых условий не могут быть одновременно истинными. Функция / (х1, . . ., заданная схемой
fi (xi,..., хп), если Pi (xi,..., хп) истинно,
f(%i,.
ft (xi,..., хп), если Р2 (хг,.. ., хп) истинно,
• ,®п)=]....................................  '
fs (xi,..., хп), если Ps (xi,..., х,г) истинно,
/s+1 (xi,. . ., хп) для остальных xi,..., хп,
называется функцией, определенной кусочной схемой. Будет ли функция / примитивно рекурсивной, зависит от природы функций fi и условий Pj. Простейший случай заведомо примитивно рекурсивной функции f даёт
Теорема 3. Пусть заданы п-местные примитивно рекурсивные (относительно ®) всюду определенные функции flt . . ., fs+1, ах, . . ., as, причем ни при каких значениях переменных никакие две из функций а.^, . . ., as одновременно в 0 не обращаются. Тогда функция f, определенная кусочной схемой
fi (xi,..., хп), если cci (x-l, . .., хп) = 0,
( 1» • • • , Хп)	если	__ Q,
/s-ri(xi,. .. ,хп) в- остальных случаях, будет примитивно рекурсивной (относительно S).
52
ГЛ. II. РЕКУРСИВНЫЕ ФУНКЦИИ
Для доказательства достаточно заметить, что функцию / можно представить в виде
/ = /х sg «1 + . . . Д- fs sg as 4~ fs+iSg (а± . . . as),
где sg, sg — введенные в и. 2.2 примитивно рекурсивные одноместные функции.
В теореме 3 рассмотрен типичный случай, когда условия Pi имеют вид аг- =0. Так как условия вида
аг = аг < рг, аг < Pi	(3)
равносильны соответственно условиям
I «i — Pi I = 0,	= 0, sg (Pi аг) = 0,
то теорема 3 останется справедливой и в том случае, когда в кусочной схеме равенства аг = 0 заменяются по произволу требованиями вида (3), где рг — примитивно рекурсивные функции.
Рассмотрим уравнение
g (жх, . . ., хп, у) = 0,	(4)
левая часть которого есть всюду определенная функция. Допустим, что для каждых значений хг, . . ., хп уравнение (4) имеет единственное решение у. Тогда это решение будет однозначной всюду определенной функцией от хх, . . . . . ., хп. Спрашивается, будет ли эта функция у = = / {х1, . . ., жп) примитивно рекурсивной, если левая часть уравнения (4) есть примитивно рекурсивная функция от Jj, .. ., хп, у. В главе IV будет показано, что в общем случае ответ на этот вопрос отрицателен. Это не исключает, конечно, возможности, что в отдельных случаях ответ будет положительным.
Теорема 4 (о мажорируемых неявных функциях). Пусть g (я^, . . ., хп, у), a (zp . . ., хп) — такие примитивно рекурсивные функции, что уравнение
g (zp . . ., хп, у) = 0	(5)
для каждых х±, . . хп имеет по меньшей мере одно решение и
Д, (g («1, • • •, хп,. У) = 0) < а (х±, . . ., хп) (6) для любых хг, . . хп. Тогда функция
f (хг, . . ., zn) = ц,, (g (хг, . . ., х„, у) — О')
также примитивно рекурсивна.
§ 3. ПРИМИТИВНО РЕКУРСИВНЫЕ ФУНКЦИИ	53
Фиксируем какие-нибудь значения xlt . . хп и пусть « =	(«1- • •	*п» У) = 0).
Рассмотрим последовательность произведений
g (жх, . . хп, 0) g (жх, . . ., хп, 1) . . . g (х1} . . ., хп, I)
(i = 0,1,2,.. .).	(7)
Так как у = а есть наименьшее решение уравнения (5), то первые а членов последовательности (7) нулю не равны, а все остальные члены содержат равный нулю сомножитель g (жх, . . ., хп, а) и потому равны нулю. Поэтому из условия (6) вытекает, что
a(Xi, , *п)
«=	3	sg(g(a:i,...,a:n,0)...g(a:i,...,a:7l,i)).
i=0
(8)
Вводя примитивно рекурсивную функцию
Z
h (xi,. . . , хп, z) = П g (xi,. .. ,хп, i),
i=0
мы сможем переписать равенство (8) в форме
а(«1..хп)
/ (хг,..., хп) =	3 sg k (Х1,..., хп, i).
г=О
В силу теорем 1, 2 отсюда следует, что функция / примитивно рекурсивна.
3.2. Примитивная рекурсивность некоторых арифметических функций. При помощи изложенных в предыдущем пункте общих теорем теперь можно легко проверить, что обычные арифметические функции, связанные с отношениями делимости и простоты натуральных чисел, являются примитивно рекурсивными.
Начнем с частного и остатка от деления числа х на число У, которые будем обозначать через [х/у] и rest (х, у). Чтобы иметь дело с всюду определенными функциями, дополнительно положим, что
[ж/0] = х, rest (х, 0) = х
для всех х. Ясно, что так определенные функции связаны тождеством
rest (ж, у) = х— (у-[х/у])
54
ГЛ. II. РЕКУРСИВНЫЕ ФУНКЦИИ
и, значит, из примитивной рекурсивности функции 1х/у], будет вытекать и примитивная рекурсивность функции rest (х, у).
Согласно определению при у > 0 число \х/у] = п удовлетворяет соотношениям
пу < х < (п -J- 1) у.
Отсюда видно, что п равно числу нулей в последовательности
1г/ — х, 2у -— х, . ., пу — х, . . ., ху — х.
Поэтому для у '_> 0 имеем формулу
X • [^/2/]= 3 sg(iy-^x).	(1)
i=l
Непосредственная проверка показывает, что формула (1) верна и при у = 0. Так как функция sg (iy — х), стоящая под знаком суммы, примитивно рекурсивна, то на основании теоремы 1 заключаем, что функция [х/yl, а вместе с ней функция rest (х, у) примитивно рекурсивны.
Говорят, что число х делится (без остатка) на число у, или что у делит х, если rest (х, у) = 0. Введем двуместную функцию div (ж, у) полагая по определению
(1, если rest (х, у) = О, div (х, у) — L	„
4 v [0, если rest (х, у) =?= О.
Очевидное соотношение
div {х, у) = sg rest (х, у) показывает, что функция div примитивно рекурсивна. Полагаем также по определению
nd х = 2 div (х, i).	(2)
i=0
Если х 0, то делители числа х не превосходят х п потому для положительных значений х число nd х совпадает с числом различных делителей х (включая число 1). Из формулы (2) видно, что функция nd примитивно рекурсивна.
В арифметике натуральное число х называется простым, если оно имеет точно 2 различных делителя. Число 0 имеет бесконечно много, а число 1 лишь один делитель. Поэтому 0 и 1 — не простые числа. Для простых чисел 2, 3,
§ з. примитивно рекурсивные функции S5
5, 7, . . • введем стандартные обозначения р0 =2, р± = = 3, . . . Таким образом, рп есть (и -ф 1)-е простое число в натуральном ряде чисел.
Обозначим через %р («) характеристическую функцию свойства быть простым числом. Иначе говоря, положим Хр (л) = 0 для п простого и (n) = 1 для п непростого. Так как простые числа и только они имеют ровно 2 делителя, то
ХР (ж) = sg | nd ж - 2 |
и, следовательно, функция (ж) примитивно рекурсивна.
Одной из наиболее известных арифметических функций является функция л (ж), равная количеству простых чисел, не превосходящих х. Очевидная формула
л (ж) = sg Хр (ж) г=0
показывает, что функция л (ж) примитивно рекурсивна.
Из определения функции л (ж) непосредственно следует, что
Л (рп) == п + 11 л (ж) < п -ф 1, если ж < рп.
Отсюда видно, что ж = рп есть минимальное решение уравнения л (ж) = п -ф 1. Поэтому
Рп = V (п) =	( I п (х) — (п + 1) I = 0).
Стоящая под знаком ц-операцим функция | л (ж) — —- (п -ф 1)1 примитивно рекурсивна. В силу теоремы о мажорируемых неявных функциях (п. 3.1) для доказательства примитивной рекурсивности функции р (п) остается лишь найти примитивно рекурсивную функцию а (я) такую, чтобы для всех п было рп а (и). Из теории чисел хорошо известно, что в качестве функции а (?г) можно взять 22 .
В самом деле, требующееся нам неравенство
Рта < 22’1	(3)
заведомо истинно при п = 0. По индукции далее предполагаем, что неравенство (3) истинно для всех значений л, меньшпх некоторого числа $ -ф 1. Докажем, что (3) истинно и для п = з -ф 1.
По предположению имеем
PoPi • • • Ps + 1 < 2^‘+-«'в -ф 1 < 22S+1.
56	ГЛ. It. РЕКУРСИВНЫЕ ФУНКЦИЙ	Я
Число а = рор1 . . . ps + 1 больше единицы и потому’И должно иметь какой-то простой делитель рг. Этот делитель Я не может совпадать ни с одним из простых чисел р0, р±, . . . Я . . ., ps, так как при делении числа а на любое из чисел Я Ро, Pi, • • -, Ps получается остаток 1. Но все простые чис-Я ла, не превосходящие ps, содержатся в последовательное- Я ти р0,	рх,	• • •> Ps- Число	рг	в	нее не входит и потому Я
Ps+i	рг-	Так как рт	а,	то	Я
Ps+1 < а	<	22 .	Я
что и	требовалось.	я
Итак, неравенство (3) доказано, а вместе с ним доказана Я и примитивная рекурсивность функции р (х) = рх. я Введем еще одну важную для дальнейшего функцию. 1 Эту функцию будем обозначать через ех (х, у) или, сокра- 1 щенно, ехху и называть экспонентой числа рх в числе у. i По определению при у =^= 0 полагаем ехх ij равным пока- я зателю наивысшей степени простого числа рх, на которую я делится у. Для у = 0 полагаем по определению ехж0 = О I для всех значений х. Например,	I
ех0 8 = 3, ехх 8 = 0, ех0 0 = 0.	1
Каждое натуральное число п > 1 можно однозначно 1 представить в виде произведения	|
п = pi'pij. . .рг’ (а} > 0, i0 < h < . . . < is) I положительных степеней различных простых чисел. От- I сюда в силу определения функции ех получаем	1
exfo п = а0, . . ., ex;-s п = as	j
и ехг п = 0 для всех значений i, отличных от г0, . . ., is. 1 Чтобы доказать примитивную рекурсивность функции ] ех (х, у), снова воспользуемся теоремой о мажорируемой I неявной функции. По определению ех (х, у + 1) есть наи- | большее значение и, для которого рж есть делитель у + 1. | Поэтому можно утверждать также, что ех (х, у -J- 1) есть | и+1	, . i
наименьшее значение и, для которого рх не делпт у + 1, то есть
ех (х, у + 1) = jiu (sg rest (у + 1, рГ1) = 0).	(4)
Функция рТ1 примитивно рекурсивна и, кроме того, ех (х, у + 1) < у + 1.	(5)
§ 3. ПРИМИТИВНО РЕКУРСИВНЫЕ ФУНКЦИИ
57
В силу упомянутой теоремы о мажорируемых неявных функциях из (4) и (5) следует, что функция ех (х, у + 1), а с нею и ех (х, у) = ex (х, (р — 1) + 1) примитивно рекурсивны.
Наконец, рассмотрим еще функцию
q (х) = х —	х]2,
где символом [z] обозначается целая часть вещественного числа z, равная наибольшему целому числу, не превосходящему z. Число q (х) называется квадратичным остатком числа х. Оно равно расстоянию от х до ближайшего слева точного квадрата. _
Равенство п = t]/x] равносильно соотношению
п2^х< (п + I)2,
где п — натуральное число. Таким образом, [/х] = jif (sg ((£ + I)2 — х) = 1)
и вместе с тем []Лх] х. По теореме о мажорируемой неявной функции отсюда следует, что функция []/ х] примитивно рекурсивна. Вместе с нею примитивно рекурсивной является и функция q (х) = х —	х]2. Аналогичным об-
разом доказывается примитивная рекурсивность функции [ рЛх] и многих других арифметических функций.
Рекурсией называется такой способ задания функции, при котором значения определяемой функции для произвольных значений аргументов выражаются известным образом через значения определяемой функции для меньших значений аргументов. Примитивная рекурсия является одним из простейших видов этих более общих рекурсий. Более сложные рекурсии 2-й ступени будут рассмотрены в следующей главе, а здесь мы хотим в качестве примера на приложение введенных выше арифметических функций рассмотреть так называемую возвратную рекурсию, легко выражаемую через обычную примитивную рекурсию.
Определение. Пусть (х), . . ., а3 (х) — всюду определенные функции, удовлетворяющие для всех значений х условиям
аг (х + 1) х (i = 1, . . ., s).	(6)
Говорят, что функция/ (хь . . ., xn+i), получается возвратной рекурсией из функций g (хх, . . ., xn), h (хх, . . ., хп,
58
ГЛ. П. РЕКУРСИВНЫЕ ФУНКЦИИ
у, Zi, . . zs) и вспомогательных функций а1} . . aSI если для всех значений переменных хг, . . ., хп, у
f	хп, 0) = g (zj., . . хп),
f (хг, . . хп, у + 1) = h fa, . . х„, у, (7) / fo, . . хп, аг (у + 1)), • • f fa, . . Хп, as {у + 1))).
Как и в случае примитивной рекурсии, легко доказывается, что для любых функций g, h, at, удовлетворяющих высказанным в определении условиям, функция /, удовлетворяющая требованиям (7), существует и единственна. Более того, верна следующая
Теорема! (о возвратной рекурсии). Функция /• возникающая из всюду определенных функций g fa, . .. . . ., хп), h fa, . . ., хп, у, zx, . . ., zs) и вспомогательных функций fa), . . ., as fa), удовлетворяющих условиям (6), с помощью возвратной рекурсии, может быть получена из тех же функций g, h, аг- и простейших функций о, s, Im операциями подстановки и примитивной рекурсии.
Иными словами, функция f является примитивно рекурсивной относительно функций g, h, alt . . ., as.
Для доказательства введем новую функцию F, полагая
у
F{xr,...,Xn,y'}=VlP^"-'Xn'i}-	(8)
4=0
Вспоминая определение функции ех (и, и), непосредственно заключаем, что для и у
f (а?!, . . ., хп, и) = ex (uf F (жн . . хп, у)).	(9)
По условию аг (у + 1) у. Поэтому соотношение
f fa, . . ., хп, аг (у + 1)) =
= ех (а( (у + 1), F fa, . . ., хп, у)) (10)
верно при любых значениях xlf . . ., хп, у.
Найдем теперь примитивно рекурсивную схему для F. Прежде всего, из (7) и (8)
F fa, . . .,хп, 0) =рГ*’-’Ч	(И)
В силу (8) имеем также
F fa, . . ., хп, у + 1) = F fa, . . ., хп, у) Ру+\.
§ 3. ПРИМИТИВНО РЕКУРСИВНЫЕ ФУНКЦИИ	59
Заменяя здесь терм / (а^, . . хп, у + 1) его значением из (7), получим
F(xi, ..., хп, у + =	..., хп, у) х
v .......*п. У. /(•'n - • хп' а‘(у+1»’ - ’	.хп- авСУ+1>»
Х ^1/П
Соотношения (11), (12) можно при помощи формул (10) представить в виде
F (^11 • • *J ^*71) 0) G (Xj_, . .	3^71),
F (#1» • • •: У 1)
= Н (х1г . . ., хп, у, F (хг, . . хп, у)),
где
(Жц . . ., Жп) Ро	’
тт ,	. Ii(xs, ..., X , у, ехСаДу+р, z), ..., ех(а (у+1), г))
Н (xlt . . Хп, y,z) = zpy+1
Таким образом, функция F получается примитивной рекурсией из функций Guff, а функция / выражается через F согласно (9) формулой
/ (жп . . хп, у) = ех (у, F (xlt : . хп, г/)).
Тем самым теорема 1 доказана. В качестве примера обычно приводят последовательность
0,1,1,2,3,5,8,13,21,...,
известную в теории чисел под именем последовательности Фибоначчи. Каждый член этой последовательности, начиная с третьего, равен сумме двух предыдущих. Обозначая через Ф (л) п-й член последовательности Фибоначчи, получим
Ф (0) = 0, Ф (1) = 1, Ф (п + 2) = Ф (п) + Ф (п + 1)
ПЛИ
Ф (0) = 0, Ф (п + 1) = Ф (тг) + Ф (тг — 1) + sg п.
Отсюда видно, что функция Ф (и) возникает возвратной рекурсией из функций
g (х) = 0, h (х, у, zx, z2) = sg у + Zj + z2
и вспомогательных функций
«1 (у) = у — 1, а2 (у) = у 2.
60
гл. ii. рекурсивные функций
Так как все эти функции примитивно рекурсивны, то функция Ф также примитивно рекурсивна.
3.3.	Нумерация пар и n-ок чисел. Все пары натураль-?
ных чисел можно расположить в простую ность и притом многими способами. Для
последователь
определенности



рассмотрим следующее расположение этих пар, которое мы будем называть канторовским:
<0, 0>; <0, 1>, <1,0>; <0,2>, <1, 1>, <2,0>; <0, 3>, ... (1)
В этой последовательности пары идут в порядке возрастания суммы их членов, а из пар с одинаковой суммой членов раньше идет пара с меньшим первым членом:. Обозначим через с (х, у) номер пары <ж, уУ в последовательности (1), причем нумерацию начинаем с нуля. Таким образом,
с (0, 0) = 0, с (0, 1) = 1, с (1, 0) = 2, . . .
Число с (х, у) будем называть (канторовским) пары (х, у). Через I (п) и г (п) обозначим левый и
номером
соответ
ственно правый члены пары с номером п. Например,
I (2) = 1, г (2) = 0.
Мы хотим теперь выразить функции с, I, г через обычные арифметические функции. Начнем с функции с. Пара (ж, уУ находится в отрезке
<0, х + уУ, <1, х + у — 1>, . . ., <ж, уУ, . . ., <ж + у, 0>
на ж-м месте после пары <0, х + уУ. Перед парой <0, х + уУ в последовательности (1) находятся х + у отрезков, содержащих всего 1 + 2 + . . . + (х + у) пар. Поэтому с (х, у) =	+х= (х + ^ + Зж + у .
Z	Ci
(2)
Обратно, пусть
х = 1 (п), у = г (п)
и, следовательно, п = с (х, у). Из формулы (2) имеем
2п = (х -г г/)2 -г Зж + у,
8п + 1 = (2ж + 2у + I)2 + 8ж = (2ж + 2у + З)2 —
- 8у - 8.
§ 3. ПРИМИТИВНО РЕКУРСИВНЫЕ ФУНКЦИЙ
61
Отсюда вытекает, что
2х + 2у + 1 8п + 1] < 2х + 2у + 3,
или
,	, . , [|/8л +1] + 1 .	,	. „
ж + У + 1 < ——J Т  < я + У + 2.
Таким образом,
~ [y^THJ + r
жф-у-ф 1 =
2
Сравнивая с формулой (2), получаем
7.	.	1 Г [/87+4] + Г
I ()l) = X = п — -g- ~L~-—
(3)
(4)
Из (3) и (4) получаем аналогичное выражение для!»’ (п), В дальнейшем будет нужен не конкретный вид формул для с (х, у), I (и), г (и), а лишь то, что эти функции выражаются с помощью подстановок через элементарные арифметические функции +, —, •, []/1, 1/2].
Отметим, наконец, что из самого определения функций с (х, у), I (ж), г (ж) как функций, связанных с нумерацией пар, вытекают следующие тождества:
с (I (п), г (и)) = п, I (с (х, у)) = х, г (с (х, у)) = у. (5)
Ясно, что эти тождества не зависят от того, что рассматриваемая нумерация пар канторова. Например, пусть
{ха, у0), <ад, ух>, . . ., <хп, упУ, ...	(6)
— какое-нибудь другое расположение совокупности всех пар натуральных чисел в простую последовательность. Обозначая через С (х, у) номер пары (х, у) в последовательности (6) и полагая L (и) = Хп, R (и) = уп, получим снова функции, связанные тождествами
С (L («}, R (n)) = п, L (С (х, у)) = х, R (С (ж, у)) = у,
(7)
аналогичными тождествам (5). Обратно, если на множестве натуральных чисел определены какие-то функции С, L, R, связанные тождествами (7), то, называя номером пары <х,у) число С(х,у), получим одно-однозначную нумерацию совокупности натуральных чисел. Связанные с этой нумерацией функции будут как раз функциями С, L, R,
62
ГЛ. II. РЕКУРСИВНЫЕ ФУНКЦИИ
С помощью нумерации пар натуральных чисел легко получить нумерации троек, четверок и т. д. натуральных чисел. С этой целью вводим следующие функции:
с3 (x-l, Xi, xs) — е(с (хг, х2), xs),
........................................... (8)
cn+1 (Ж1, X-2, . .. , xn+1) = c" (C (zi, X2), Xs, , xn+1),
и по определению число cn (хх, . . xn) называем канто-ровым номером п-ки <(х1, . . хп). Если
сп (хг, . . хп) = х,
то из тождеств (5), (8) получаем
хп = г(х), хп-1 = '1'1 (х), . . ., x2 — rl...l(x),
Xi = ll...l(x).	(9)
Вводя обозначения (х), . . ., cni (х) для правых частей равенств (9), будем иметь
с (cni (х),, спп (х)) = X, ^ni (р	, ^п))-(&-----В * • * , ft).
Это аналоги тождеств (5) для канторовской нумерации га-ок натуральных чисел.
Наконец, можно было бы еще рассмотреть нумерацию совокупности, образованной всеми натуральными числами, всеми парами, всеми тройками и т. д. натуральных чисел. Однако мы этого здесь делать пока не будем, а рассмотрим лишь так называемую функцию Гёделя Г, заменяющую во многих случаях нумерацию указанной смешанной совокупности.
По определению полагаем
Г (х, у) = rest (I (х), 1 + (у + 1) г (х)).	(10)
Отсюда видно, что функция Гёделя примитивно рекурсивна. Основное свойство функции Гёделя выражает следующая
Теорема 1. Какова бы ни была конечная последовательность натуральных чисел аа, аг, . . ., а^, система уравнений
Г (х, 0) = а0, Г (х, 1) = ах, . . ., Г (х, п) =	(11)
имеет по меньшей мере одно решение х.
Итак, пусть числа а0, а15 . . ., ^ заданы. Будем искать числа и, Ъ такпе, чтобы число х = с (и, Ъ) удовлетво
§ 3. ПРИМИТИВНО РЕКУРСИВНЫЕ ФУНКЦИИ
63
ряло уравнениям (11). Вследствие соотношения (10) это значит, что нам надо подобрать числа и, Ъ так, чтобы выполнялись соотношения
rest (u, 1 + (у + 1) b) = ау (г/ = 0, 1, . . ., п),
т. е. чтобы выполнялись неравенства
1 -г (г/ + 1) Ъ > ау (г/ = 0, 1, . . ., «)	(12)
и чтобы разности и — ау делились на 1 + (у + 1) Ъ. Для краткости записей введем обозначения
ту = 1 + (у + 1) Ь.	(13)
Неравенства (12), очевидно, удовлетворятся, если положить
b = (1 + п + а0 + . . • + апу.. (14)
Однако такой выбор значения для Ъ гарантирует нам и то важное обстоятельство, что числа т0,	• • • >	будут
попарно взаимно просты. В самом деле, если 0 i < < j п, то
— тг = (/ — i) b (0 < j — i п).
Согласно (14) число Ъ делится на j — i. Поэтому, если бы числа m.j, mi имели какой-нибудь общий простой делитель ps, то на ps должно было бы делиться и число Ъ. Однако из (13) видно, что mi и b общих простых делителей не имеют. Таким образом, числа действительно взаимно просты.
Вводим теперь числа М01 Mlf . . ., Мп, полагая
Mi = т0 . . . mi-xmi+1 . . . тп (i = 0, 1, . . ., п).
Так как числа т0, т1г . . ,,тп попарно взаимно просты, то числа mi и Mi также взаимно просты. Поэтому согласно известной теореме арифметики найдутся натуральные числа г,, Wi, удовлетворяющие соотношению
MiZi — miWi = 1.	(15)
Нам оставалось еще подобрать число и так, чтобы каждое число и — Оу делилось на ту. Покажем теперь, что этим требованиям заведомо удовлетворяет число
и = aoMozo + ajM^ + . . . + OnMnZn. (16)
В самом деле, все члены этой суммы делятся на за исключением члена а^МiZt (так как на mi делятся Mj
64
ГЛ. II. РЕКУРСИВНЫЕ ФУНКЦИИ
для / #= i). Соотношение (15) показывает, что произведение MiZt при делении на тг дает остаток 1. Поэтому при делении члена на тг получится остаток дг. Поскольку остальные члены суммы (16) при делении на т, дают остаток 0, то rest (п, тг) = at, что и требовалось.
3.4.	Зависимости между операторам! примитивной рекурсии и минимизации. Согласно § 2 каждую функцию, примитивно рекурсивную относительно системы функций ®, можно получить из функций ® и простейших функций
о, s, 1т операциями подстановки и примитивной рекурсии. Однако, если исходить не только из простейших функций, а и из нумерационных функций с, I, г, то для получения примитивно рекурсивных относительно S функций нет необходимости пользоваться операциями примитивной рекурсии в их общем виде. Достаточно применять лишь некоторый весьма специальный вид этих операций.
Аналогичное положение имеет место и для частично рекурсивных относительно S функций. Чтобы получить
эти функции из функций системы S и функций о, 8, 7m, с, I, г, нет нужды пользоваться операциями примитивной рекурсии и минимизации в общем виде, а достаточно употреблять лишь некоторые частные виды этих операций. Более детально эти вопросы будут изучены в п. 3.5 и 5.4, а пока мы докажем лишь несколько предваритель
ных теорем.
Теорема 1. Частичная функция f (хг, . . ., хп, у), возникающая из частичных функций g (х1, . . ., хп) и h (хг, . . Хп, у, z) примитивной рекурсией:
f (хъ . . ., хп, 0) = g (хг, . . хп),	(1)
f (Xj_, . . ., Хп, у + 1) = h fo, . . ., Хп, у, f (я?!, . . ., Хп, !/)), может быть получена специальной рекурсией вида
<р (х, 0) = х, <р (х, у + 1) = Ф (<р (х, у))	(2)
и подстановками из функций g,h, с, I, г, о, 8, 7^.
В частности, каждая функция, примитивно рекурсивная относительно системы ® частичных функций, может быть получена из функций® и функций с, I, г, о, 8, 1т операциями подстановки и специальными рекурсиями вида (2).
Вводим функцию
ф (t, у) = сп+2 (сл1 (7),. .., спп (f), У, f (cni (t),..., спп (£), у)),
(3)
§ 3. ПРИМИТИВНО РЕКУРСИВНЫЕ ФУНКЦИИ
65
где cn+'2, c-ni — нумерационные функции, определенные в предыдущем разделе и получающиеся подстановками из функций с, I, г. Из соотношения (3) непосредственно следует
/ (Ж1, . . . , Хп, у) = Св+2 п+2 (Ф (сп (xi,.. ., ж„), !/)).	(4)
Первое из равенств (1) дает
ф (7, 0) = <П+2 (сп1 (t),. спп (t), 0, g (cni (t),cnn (f))).
(5)
Из (3) и (1) непосредственно следует
р, У + !) = сп+й (Сп1 С0> • ♦, ^пп (0, £/ + 1>
(сП1 СО» * - *, Спп (О, У, Сп+2 п-!2 (ФМ))). (6)
Так как
с,,, (i) = сп+2 г (ф (7, у)), у = сп+2 п+1 (ф (t, у)),
то равенство (6) можно переписать в виде
ф (7, у + 1) = Ф (ф (t, у)),	' (7)
где	2 ’
Ф(м) = Сп+2(Сп+2 1(м),  • . ,Сп+2п+1(«) + 1,
7г (Сп+21 (м), •  •, <?п+2п+2 (ы)))*
Итак, функция/получается из функцийg, h, I, г, с, о, s, I'm подстановками и рекурсией
ф (х, 0) = G (х), ф (х, у + 1) = Ф (ф (я, у)).
Вместо функции ф вводим теперь функцию ф посредством рекурсии
<р (х, 0) = х, ф (х, у + 1) = Ф (ф (х, у)),
имеющей требуемый вид (2). Так как
ф (х, у) = Ф (Ф (. . . Ф (G (з)) ...)),
ф (ж, у) = Ф (Ф (. . . Ф (х) . . . )), то
Ф {х, у) = <p(G {х), у)
и, следовательно, функция / получается из функций с,7,
°, s, Im, g, h подстановками и рекурсией вида (2).
Полагая в теореме 1 п — 0, g = 0, получим следующий частный случай: функция / {у), возникающая из
А ТТ ЛТп -гт топ
66	ГЛ. II. РЕКУРСИВНЫЕ ФУНКЦИИ
функции h (у, z) рекурсией
/ (0) = 0, f (у + 1) = h (у, f (у)), может быть получена из функций й, с, 1,г,'о, «подстановками и рекурсией вида
ср (0) = 0, ср (у + 1) = Ф (<р (у)),
где Ф — подходящая суперпозиция функций h, с, I, г, /п
т.
Теорема 2. Частичная функция / (ж15 . . хп), получающаяся из частичной функции g {хг, ..., хп, у) операцией минимизации
f fo, . . Хп) = Ну (£ (*1> • • •> У) = 0),	(8)
может быть получена из функций g, с, 1,г подстановками и операцией минимизации специального вида
F (х) = (G (х, у) = 0).	(9)
Действительно, вводя функцию
F {х) = f (cni (х), . . спп (х)), получим
/ (ж1; . . хп) = F (сп (рЦ, . .	Хп)).
В то же время из (8) вытекает
F (х) = ИУ (G (х, У) = 0), где
G (х, у) = g (c„i (х), . . ., спп (х), у).
Из теорем 1 и 2 непосредственно получаем
Следствие. Каждая функция, частично рекурсивная относительно системы частичных функций ®, может быть получена из функций системы ® и функций с,1, г, о, s, 1т конечным числом операций подстановки, специальных рекурсий вида (2) и специальных минимизаций вида (9).
|Столь же просто доказывается и"
Теорема 3 (Гёдель Ш). Функция <р (хъ . . . . . хп, у), получающаяся примитивной рекурсией (1) из всюду определенных функций g (хг, . . ., хп) й h (хг, . . . . . ., хп, у, z), может быть получена из этих функций и функций Г, с, I, г, +, —, «, о, I™ конечным числом подстановок и минимизаций,
§ 3. ПРИМИТИВНО РЕКУРСИВНЫЕ ФУНКЦИИ	67
Ввиду теоремы 1 достаточно провести доказательство лишь для случая, когда п = 1 и рекурсия имеет специальный вид (2). Полагая х, у произвольно заданными числами, рассмотрим систему уравнений относительно z:
Г (z, 0) = ср (х, 0), Г (z, 1) = <р (х, 1), . . ., Г (z, у) — = <р (х, у), (10)
где Г (z, у) — функция Гёделя из п. 3.3. В силу (2) эту систему можно переписать в виде
Г (z, 0) = х, Г (z, и + 1) — Ф (Г (z, и)) (0 и у)
пли
Г (z, 0) = х,
Hu (I J/ — “I sg I r (z, u + 1) — O(T(z,u))j = 0) = y.
Множитель | у — и | введен здесь для того, чтобы функция
F (у, z) = уи (I у — и I sg I Г (z, и 4- 1) — ф (Г (z, н))| =0)
была всюду определенной. Согласно основному свойству функции Г система (10), а значит, и равносильные ей система (11) и уравнение
1 Г (z, 0) — гг | + \F(y, z)—y | = 0	(12)
имеют решение z для каждых х, у. Так как левая часть уравнения (12) является всюду определенной функцией, то формула
Z = Hu (I Г (“> 0) - х | + I F (у, и) - у I = 0)
дает наименьшее решение z системы (10). Обозначая это решение через G (ж, у), из последнего уравнения системы (10) получим
Ф (ж, У) = г (G (х, У), У)-
Таким образом, функции F, G и <р получаются подстановками и минимизациями из функции Ф и функций Г, +, —, I™. Дополнительные функции с, I, г, s, о указаны в теореме 3 для того, чтобы можно было применить теорему 1 и свести дело к случаю рекурсии специального вида (2). С другой стороны, с их помощью легко получаются
68	ГЛ. II. РЕКУРСИВНЫЕ ФУНКЦИЙ
использованные функции х-у и sg х. Именно,
Sg Х = 1 — Х~ 30 (ж) — Х~80(х) — 1{(х),
[y/2] = p.z(y —(2z + 1) = 0),	\
с (х, х) = 2х2 +	2х2 = с (х, х) ~ 2х, х2 = [2х2/2],
Согласно п. 2.4 функция называется общерекурсивной, если она может быть полупена из простейших функ-ций операциями подстановки, примитивной рекурсии ; и операциями минимизации, не выводящими за пределы всюду определенных функций. Поэтому из теоремы 3 следует, что каждая общерекурсивная функция может быть получена из функций Г, с, I, г, з, о, +, —, I™ конечным числом подстановок и специальных операций минимизации вида (9), применяемых лишь к таким функциям, для которых результатом минимизации служит всюду определенная функция.
Совокупность исходных функций здесь взята с некоторым запасом. Минимальные совокупности будут опреде- . лены в пп. 3.5 и 5.4.
3.5.	Одноместные примитивно рекурсивные функции. Указанное в п. 2.2 основное определение примитивно рекурсивных функций имеет смысл лишь тогда, когда рассматриваются одновременно функции от любого числа аргументов. Однако довольно часто встречается положение, когда достаточно рассматривать лишь функции одной переменной. Поэтому естественно возникает вопрос: нельзя ли найти такое определение понятия примитивной ре-курсивности одноместных функций, которое выражалось бы целиком в терминах теории одноместных функций? Доказываемая ниже теорема Р. Робинсона дает положительный ответ на этот вопрос. Получается она надлежащим усилением теоремы 1 из предыдущего раздела.
Рассмотрим следующие операции над одноместными частичными функциями:
а)	Двуместная операция сложения одноместных частичных функций. Эта операция обозначается символом + и определяется формулой
(/ + g) (х) =f(x)+g (х).
б)	Двуместная операция композиции одноместных частичных функций.
§ 3. ПРИМИТИВНО РЕКУРСИВНЫЕ ФУНКЦИИ	69
Эта операция обозначается далее символом * и определяется соотношением
(/ * g) fc) = f (g (*))•
в)	Одноместная операция итерирования одноместной частичной функции. Эта операция далее обозначается символом J и определяется следующим образом: говорят, что одноместная частичная функция f возникает операцией итерирования из одноместной частичной функции g (символически f = = Jg = gJ), если
/(0)=0, f(n + 1) = g (f(n)).
Конечно, операции +, *, J легко выразить через прежние операции. Например, ясно, что
f + g = S3 (+, f, g), f * g = S2 (f, g), JTg=R (o, S2 (g, 4)).
Характерной особенностью новых операций служит то, что они выполнимы над одноместными функциями и дают в результате снова одноместные функции.
Теорема (Р. Робинсон [1]). Все одноместные примитивно рекурсивные функции и только они могут быть получены из функций s (х) = х + 1 и q (х) — х~ ~2- [	х]2 конечным числом операций сложения, компози-
ции и итерирования функций.
Условимся временно называть одноместную функцию f допустимой, если она может быть получена из функций s и q конечным числом операций +, *, J\ Нам надо доказать два утверждения:
1)	все допустимые одноместные функции примитивно рекурсивны',
2)	все примитивно рекурсивные одноместные функции допустимы.
Первое утверждение очевидно, так как исходные функции s и g примитивно рекурсивны, а операции сложения, композиции и итерирования, примененные к примитивно рекурсивным функциям, дают снова примитивно рекурсивные функции. Поэтому дело сводится к доказательству второго утверждения.
Прежде всего распространим понятие допустимости и на многоместные функции, называя «-местную функцию / (хг, . . ., Хп) (п> 2) допустимой, если для любых од
70	ГЛ. й. рекурсивные ФУНКЦИИ
номестных допустимых функций ах (7), . . ., an (t) одно-местная функция f (ах (7), . . ап (7)) является допустимой. А теперь вместо утверждения 2) будем доказывать более общее утверждение:
3)	все (одноместные и многоместные) примитивно рекурсивные функции допустимы.
Доказательство разобьем ий ряд вспомогательных утверждений, из сопоставления которых и получится утверждение 3).
А)	Суперпозиция и сумма допустимых функций (с любым числом аргументов) суть функции допустимые.
В самом деле, пусть g (хг, . . ., хп), hr (хх, . . . . . ., Хщ), . . ,,hn (хг, . . хт) допустимы и
/ (®1’ • • ч %m) S (^1 (^1> • • •> ^т), • • •>	(-И,  •	%т)).
Тогда для любых допустимых функций ar (7), . . . . . ., am(t) одноместная функция
f (ах (7), . . ат (7)) = g (Pi (7), . . .,	(t)),
где
Pi (t) = hi (ax (t), . . am (t)) (7 = 1, . .	n),
будет допустимой, так как по условию функции g, /г, допустимы. Но тогда допустима и функция f. Аналогично доказывается и допустимость суммы допустимых функ-ций.
Б) Одноместные функции о, l\, sg, sg и многоместные функции Im, ах + by 4- с, где а, Ъ, с — фиксированные натуральные числа, являются допустимыми.
Допустимость функций ll,o, sg,. sg вытекает из очевидных соотношений
= о, sg = (s*o)J, sgx — q (2 2sg x).
Так как для допустимых функций ах (7), . . ., ап (7) функция
7^ (ах (7), . . ., ап (7)) = ct,n (7) допустима, то Гт допустима. Наконец, из формулы ах + by + с = 71 {х, у) 4- . . . + Г, (х, у).+ ...4-14-
4- ... 4-1
и допустимости суммы заключаем, что функция ах 4--|- by -|- с также допустима.
sgg-^) =
§ 3. ПРИМИТИВНО РЕКУРСИВНЫЕ ФУНКЦИИ	71
В)	Функция х2 допустима. В силу Б) функция
1, если х — полный квадрат,
О, если х — неполный квадрат,
допустима. С другой стороны, равенства О2 = 0 и (х + I)2 = ж2 + 2ж + 1 = Ф (ж2) + 1, где
Ф (£) = t +
показывают, что ж2 есть итерация функции ф + 1. В свою очередь, равенства ф (0) = 0 и
Ф (t + 1) = ф (*) + 1 + 2 ([/Г+1] - [fi]) =
= ф (t) + 1 + 2 sg q (ф (t) 4- 4) показывают, что ф получается итерированием функции ф (и) = и + 1 + 2 sg q (и + 4).
Так как последняя функция допустима, то допустимы функции ф и х2.
Г) Функции [ж/2], [fx], ху, х — у допустимы. Из А), Б), В) следует, что функция q ((х 4- у)2 + 5х 4- Зу + 4) допустима. Так как
(х 4- у)2 4- 5х 4- Зу 4- 4 = (х 4- у 4- 2)2 4- х — у, то для х у имеем
(х + у 4-2)2 < (х + у + 2)2 + X - у < (х 4- У + З)2 и, следовательно,
q ((ж 4- у)2 4- 5ж 4- Зу 4- 4) = х — у (х > у). Если же х < у, то из
4- у 4- I)2 < (* 4- у 4- I)2 4- Зж 4- у 4- 3 = = (Ж 4- У 4- 2)2 4- х - у < (ж 4- у + 2)2 вытекает, что'
*7 ((ж 4- у)2 4- 5ж 4- Зу 4- 4) = Зж 4- у 4- 3 (ж < у). Вводя для q ((х 4- у)2 4~ 5ж 4- Зу 4~ 4) обозначение ж н- уг приходим к заключению, что функция ж н- у,
12	ГЛ. II. РЕКУРСИВНЫЕ ФУНКЦИИ
определяемая схемой
(х — у, если х > у,
х у — i
[Зя + у + 3, если х у, является допустимой.
Согласно определению итерирования
sg‘r(O) = O, sg‘r(l) = sgO= 1, sgJ'(2) = sgl = 0, ..., то есть
— ,	ГО,	если	х	четно,
др* (%\- <
v '	[1,	если	х	нечетно.
Рассмотрим функцию
/ (х) = х2 + [х!2].
Так как
/ (0) = 0, [// (ж)] = х и
sgJ=	x2 = sgJ [|/7(ж)],_
то из
f(x + l) = f(x) + 2x±l +	=
= f (х) + 2 [	+ 1 +	[/Ж]2 - Р U
где
F (t) = t + 2 []Л7 + 1+ sgJ [/Fl2, следует, что / получается итерированием функции F. Сог-гласно В) функция t + 2 [|/ {] допустима. С другой стороны,
[]Г t]2 = t— q(t) = t~q (t)
и потому функция [j/~t]2 также допустима. Но тогда допустима и функция F (t), а вместе с нею будут допустимы п функции
f(x) = x2 + [^-] ,
Наконец, из допустимости функций [х!2] и ф (t) = t + + 2 [lAi] вытекает допустимость функций
2 []Л7] = ф (t) ~ t, [ }ft ] =
§ 3. ПРИМИТИВНО РЕКУРСИВНЫЕ! ФУНКЦИИ
73
и
f((z + у)2 -5-г3) У12 ху =---------2--------•
Остается доказать допустимость функции —. Для этого заметим сначала, что
ГО,	если х~^у,
((ж ‘	' х [2х + 2у 3>, если х<^у,
и, значит, функция
___________	[1, если х^у, H^) = sS®«-w) + y)-*)=(Oi x<!h
допустима. Но тогда допустима и функция
х у = (х н- у) р (ж, у).
Д) Если g (хъ . . Хп)и h (хг, . . ., хп, у, z) — допустимые функции, то функция f, возникающая из g uh примитивной рекурсией:
f (хг, . . ., жп,0) = g (хг, . . ., хп),
} (хг, . . ., Хп, у + 1) = h (xlt . . ., хп„ у, f (хг, . . ., хп, у)), также допустима.
Согласно теореме 1 предыдущего раздела функция f может быть получена из функций ig, h, с, I, г, о, s, 1^. подстановками и рекурсией вида
Ф (х, 0) = х, ср (х, у + 1) = Ф (ф (х, у)),	(1)
где Ф (z) — подходящая суперпозиция функций g, h, о, s, Ц, с, I, г. Из ранее доказанного следует, что функции с, I, г, о, s, 1т допустимы и что суперпозиция допустимых функций допустимая. Поэтому нам достаточно показать, что если функция Ф (z) допустима, то функция ф (х, у), связанная с Ф рекурсией (1), также допустима.
Рассмотрим вспомогательные функции
V (х) = q ([]Лг]), w {х, у) = ((ж н- у)2 + г/)2 + х. (2)
Из неравенств
((*+уУ 4- у)2 < ((ж + у)2 + уУ + х < ((х + Уу + у + 1)2, (.г + уУ < (х + уУ + у < (х + у + I)3
вытекает, что
q (w (х, у)) = х, v (w (х, у)) = у.	(3)
74	ГЛ. II. РЕКУРСИВНЫЕ ФУНКЦИИ
Покажем, что если для некоторого х окажется q (х 4-4- 1)^0, то
q {х + 1) = q (х) + 1, v (х 4- 1) = v (х).	(4)
В самом деле, условие q (х -j- 1) ¥= 0 означает, что х 4- 1 не есть полный квадрат. Но тогда расстояние от ближайшего меньшего полного квадрата до х 4- 1 па 1 больше расстояния от этого квадрата до х, т. е. q {х -j- 1) = q (ж) 4- 1. С другой стороны, так как х 4- 1 не есть полный квадрат, то	1]=[КХ1 и потому и (х 4- 1) = v (ху
Теперь мы вместо функции ср (ж, у), определяемой рекурсией (1), введем функцию
0 (ж) = <р (у (ж), q (х)).
Из соотношений (3) получаем
0(ш (у, ж))==ф(ж, у}.
Таким образом, функция ср (ж, у) заведомо допустима, если допустима функция 6 (ж). Посмотрим, какой рекурсивной схеме удовлетворяет 0 (ж). Формулы (1), (2) дают 0 (0) == 0.
Далее , если q (х 1)	0, то в силу (4)
0 (ж 4- 1) = ф (к (ж), q (ж) 4- 1) = Ф (6 (ж)).
Если же q (ж 4- 1) = 0, то
0 (ж 4" 1) = ф (у (ж 4~ 1), 0) = v (х 4- 1).
Поэтому для любых значений ж
0 (ж 4- 1) = Ф (0 (ж)) sg (q (х 4- 1)) 4-	_
4- v (ж 4- l)sg (q (ж 4- 1)).
Итак, вводя допустимую функцию
0 (ж, z) = Ф (z) sg (д'(ж 4- 1)) 4- v (х 4- 1) sg (д' (ж 4- 1)), мы можем рекурсивную схему для 0 (ж) представить в виде 0 (0) - 0, 0 (ж 4- 1) = 0 (ж, 0 (ж)).	(5)
Согласно частному случаю теоремы 1 (п. 3.4) функция 0 (ж), удовлетворяющая схеме (5), может быть получена из допустимых функций 0, с, I, г, о, s, подстановками и итерированием подходящей суперпозиции функций 0, с, I, г, о, s, 1т- Таким образом, функция 0 (ж) допустима п утверждение Д) доказано.
§ 3. ПРИМИТИВНО РЕКУРСИВНЫЕ ФУНКЦИИ
75
Из утверждений А), Б), Д) непосредственно вытекает, что все примитивно рекурсивные функции допустимы.
В самом деле, каждая примитивно рекурсивная функция может быть получена из простейших функций о, 8, 7™ конечным числом операций подстановки и примитивной рекурсии. Согласно Б) простейшие функции допустимы. Согласно А), Д) подстановки и примитивные рекурсии допустимых функций суть функции допустимые. Поэтому все примитивно рекурсивные функции допустимы и теорема доказана.
Теорема Р. Робинсона может быть изящно сформулирована на языке теории алгебр. Обозначим через В'1 и ВРг. г совокупность всех одноместных частичных функций п соответственно совокупность всех одноместных примитивно рекурсивных функций. Алгебры
Ф = СВ'1! ~р! *! «О» ФРГ. Г = CBpr. Г! Ч- ! *! 'Т') называются алгебрами Робинсона. Теорема Робинсона означает, что совокупность Врг.г порождается функциями s, q с помощью операций +, *, J, или, что то же самое, что подалгебра фрГ. г порождается 'В $ элементами 8 и q.
Теорема Р. Робинсона была сформулирована и доказана выше лишь для примитивно рекурсивных функций. Однако верна и более общая аналогичная теорема о функциях, примитивно рекурсивных относительно какой-нибудь фиксированной системы частичных функций.
Обобщенная теорема Р. Робинсона. Те и только те частичные одноместные функции примитивно рекурсивны относительно произвольно заданной системы <5 одноместных частичных функций, которые можно получить из функций системы S и функций 8, q конечным числом операций +, *, J.
Доказательство, изложенное выше для теоремы Р. Робинсона, остается верным и для обобщенной теоремы Р. Робинсона, если в нем всюду слово функция заменить словами частичная функция, а слова примитивно рекурсивная заменить словами примитивно рекурсивная относительно ®.
На языке теорпи алгебр обобщенную теорему Р. Робинсона можно, очевидно, сформулировать следующим образом: совокупность всех одноместных частичных функций, примитивно рекурсивных относительно системы одно
76
ГЛ. И. РЕКУРСИВНЫЕ ФУНКЦИИ
местных частичных функций ®, является, совокупностью, порожденной системой О и функциями s, q с помощью операций +, *, J.
Дополнения, примеры и задачи
1.	Доказать примитивную рекурсивность следующих функций: а) функции а (п), равной сумме всех делителей натурального числа п; б) функции Эйлера <р (п), равной количеству натуральных чисел, не превосходящих п и взаимно простых с п.
2.	Доказать, что абсолютная величина многочлена от я- с целыми коэффициентами есть примитивно рекурсивная функция от х.
3.	Пусть |Л2 = а0, а!О2 . . . ап . . . — разложение числа "[Л 2 в бесконечную десятичную дробь. Показать, что ап есть примитивно рекурсивная функция от п.
4.	Показать, что [г ]/~2], [еж] суть примитивно рекурсивные функции от х.
5.	Показать, что функции Д, определяемые посредством совместной рекурсии вида
/1 (0) = <h, f2 (0) = «2,
/1 (г 4- 1) = 1ц (х, fi (ж), /2 (ж)), f2 (х + 1) = /г2 (х,	(х), f2 (х))
с помощью заданных функций 1ц, h2, являются примитивно рекурсивными относительно )ц, h2. Определить понятие совместной возвратной рекурсии и доказать аналогичное утверждение для нее.
6.	Располагаем все пары натуральных чисел в следующем порядке:
<0, 0>;	<0, 1>, <1, 0>, <1, 1>;	<0, 2>, <2, 0>, <1, 2>, <2, 1>,
<2,2>; ...
Доказать, что номер С (х, у} = z пары <г, ?/> в этой последовательности и соответствующие функции х — L (z), у = R (z) примитивно рекурсивны.
7.	Обозначим через g2 совокупность всех частичных функций двух переменных. На g2 определяем операции] +, *, J посредством формул
(7 + g) (я, У) = f у) + g (г, у), (j * g) (х, y} = f (х, g (х, у)), fJ (х, 0) = 0, f (х, у 4- 1) = f (у, fJ (х, у)).
Доказать следующий аналог теоремы Р. Робинсона: двуместная функция / тогда п только тогда примитивно рекурсивна относительно произвольной ’системы двуместных частичных функций когда / может’быть получена конечным числом операций 4-, *, J из функций системы <S и функций I}, s (7|), q
8.	Согласно теореме Р. Робинсона алгебра ^рг.г ~
4-, ♦, </> порождается парой функций s, q. Показать, что алгебра фрГГ порождается п парой функций s, I (также парой з, г), где I, т — канторовы функции из п. 3.3 (см. Р. Робинсон [1]).
9.	Вводим бинарную операцию v над одноместными функциями, полагая по определению (/vg) (г) = с (/ (х), g (х)}. Показать, что
§ 4. РЕКУРСИВНО ПЕРЕЧИСЛИМЫЕ МНОЖЕСТВА
77
алгебра <Sprr; v’ *’ порождается парой функций s, I (и парой r, s) (Р. Робинсон [1]).
10.	Алгебра <8рГ.г! *>^> порождается парой подходящих функций и не порождается никакой одной функцией из gprr (Ю. Робинсон [1]).
§ 4.	Рекурсивно перечислимые множества
До сих пор понятия примитивной рекурсивности, общей и частичной рекурсивности были определены лишь для функций. Теперь эти понятия будут перенесены на подмножества натуральных чисел, а также на множества некоторых других объектов. В данном параграфе изучаются лишь простейшие свойства этих новых понятий. Более тонкие свойства будут изучаться в последующих разделах параллельно с изучением свойств функций.
4.1.	Рекурсивные и примитивно рекурсивные множества. Подмножество А множества всех натуральных чисел 2V называется рекурсивным (примитивно рекурсивным), если характеристическая функция множества А частично рекурсивна (соответственно примитивно рекурсивна).
Так как все примитивно рекурсивные функции частично рекурсивны, то каждое примитивно рекурсивное множество рекурсивно. Обратное неверно: в п. 5.2 будет построены рекурсивные множества, не являющиеся примитивно рекурсивными.
С точки зрения теории алгоритмов из двух введенных понятий — рекурсивного множества и примитивно рекурсивного множества — основным следует считать первое благодаря следующему обстоятельству.
Проблемой вхождения для числового множества А называется задача отыскания алгоритма, который по стандартной записи (например, десятичной) произвольного натурального числа а позволяет узнать, входит число а в А илп нет, т. е. позволяет вычислять значения характе-рпстпческой функции множества А. В силу тезиса Чёрча существование такого алгоритма равносильно рекурспв-ностп характеристической функции. Поэтому можно сказать, что рекурсивные множества — это множества с алгоритмически разрешимой проблемой вхождения.
Выведем теперь несколько основных свойств рекурсивных и примитивно рекурсивных множеств.
Характеристическими функциями пустого множества 0 и множества всех натуральных чисел А7- являются постоян
18	гл. II. РЕКУРСИВНЫЕ ФУНКЦИИ
ные одноместные функции 1 и 0. Эти функции примитивно рекурсивны. Поэтому множества 0и У также примитивно рекурсивны.
Характеристической функцией для конечного множества чисел {а15 . . ., йп} (аг < а2 < . . . < ап) служит примитивно рекурсивная функция
sg (|ж — аг |-1ж — a21- - • • • | x — an|).
Поэтому каждое конечное множество натуральных чисел примитивно рекурсивно.
В п. 3.2 показано, что характеристические функции свойств «быть четным числом», «быть простым числом», «быть точным квадратом» примитивно рекурсивны. Поэтому примитивно рекурсивными являются и множества всех четных чисел, всех простых чисел, всех точных квадратов. Аналогичным путем легко убедиться, что примитивно рекурсивными будут совокупность степеней а0, а1, а2, ... произвольного числа а и многие другие часто встречающиеся совокупности чисел.
Теорема 1. Дополнение рекурсивного (примитивно рекурсивного) множества, а также объединение и пересечение любой конечной системы рекурсивных (примитивно рекурсивных) множеств суть множества рекурсивные (примитивно рекурсивные).
$ В самом деле, пусть А (х), . . ., fn (х) — характеристические функции множеств . . ., Ап. Тогда функции f (х) = sg А (ж), g (я) = Л (х)- . . . • fn (х), h (х) = sg (А (х) + . . . + fn (х))
будут характеристическими соответственно для дополнения множества объединения и пересечения множеств Аи . . ., Ап. Если А (х), . fn (х) частично рекурсивны или соответственно примитивно рекурсивны, то такими же будут и функции f (х), g (х), h (х).
Теорема 2. Если всюду определенная функция f (х) частично рекурсивна (примитивно рекурсивна), то множество А решений уравнения
Ш = 0
рекурсивно (примитивно рекурсивно).
Действительно, характеристической функцией для множества А служит функция sg f (х), рекурсивная или примитивно рекурсивная вместе с функцией f (х).
§ It. РЕКУРСИВНО ПЕРЕЧИСЛИМЫЕ МНОЖЕСТВА
79
Совокупность всех значений, принимаемых некоторой примитивно рекурсивной функцией, в общем случае не будет ми примитивно рекурсивным, ни даже рекурсивным множеством. Эти совокупности будут изучены ниже под именем рекурсивно перечислимых множеств. Однако существует ряд простых признаков для того, чтобы совокупность значений примитивно рекурсивной (рекурсивной) функции была примитивно рекурсивной (рекурсивной). Один из них указывает
Теорема 2. Если примитивно рекурсивная (обще-рекурсивная) функция f (х) удовлетворяет условию
f (х) х (х = Q, i, 2, . . .),
в частности, если f (х) монотонно возрастает, то совокупность М всех значений этой функции есть множество примитивно рекурсивное (рекурсивное).
В самом деле, из неравенства / (у) у следует, что функция
X g(^)=n Sg|/(y)~ v=o
является характеристической для М.
4.2.	Рекурсивно перечислимые множества. Эти множества играют фундаментальную роль в теории рекурсивных функций. Существует несколько равносильных определений указанных множеств. В качестве исходного мы возьмем следующее определение.
Множество чисел А. называется рекурсивно перечислимым, если существует двуместная примитивно рекурсивная функция f (а, х) такая, что уравнение f (а, х) = О имеет решение х тогда и только тогда, когда а £ А.
Далее (п. 6.1) будет показано, что в этом определении па самом деле в качестве функции f (а, х) можно брать произвольную частично рекурсивную функцию. Однако этот результат будет получен нами лишь в результате длинной цепочки теорем. А пока мы, строго придерживаясь указанного определения, выведем из него ряд следствий.
Следствие 1. Каждое примитивно рекурсивное множество рекурсивно перечислимо.
Согласно определению характеристическая функция / (х) произвольного примптпвно рекурсивного множества А является примитивно рекурсивной. Но тогда примитив
80
ГЛ. II. РЕКУРСИВНЫЕ ФУНКЦИИ
но рекурсивное уравнение
f (а) + х = 0
имеет решение х тогда и только тогда, когда а б А.
Следствие 2. Пусть F (a, xi,. . ., жп) — примитивно рекурсивная функция от переменных а, хг, . . ., хп. Множество тех значений параметра а, для которых уравнение
F (а, хъ . . ., жп) = 0	(1)
имеет хотя бы одно решение хъ . . хп, является рекурсивно перечислимым.
Действительно, введем примитивно рекурсивную функцию
f (а, х) = F (a, cni (ж), . . ., спп (ж)),
где (ж) — канторовские функции из п. 3.3. Так как / (а, с (жь . . ., Жп)) = F (а, жь . . ., жп),
то совокупность значений параметра а, для которых разрешимо уравнение f (а, ж) = 0, совпадает с аналогичной совокупностью для уравнения (1) и потому эта последняя совокупность рекурсивно перечислима.
Теорема 1. Непустое множество А тогда и только тогда рекурсивно перечислимо, когда оно совпадает с совокупностью всех значений некоторой примитивно рекурсивной функции.
Пусть f (ж) — примитивно рекурсивная функция, А — множество всех ее значений. Левая часть уравнения
1 / (ж) - а | = 0
примитивно рекурсивна и это уравнение имеет решение ж тогда и только тогда, когда а£А. Следовательно, А рекурсивно перечислимо.
Обратно, пусть множество А непусто и рекурсивно перечислимо. Согласно определению это значит, что А есть совокупность тех значений параметра а, прп которых разрешимо уравнение вида F (а, ж) = 0, где F (а, ж) — подходящая примитивно рекурсивная функция. Рассмотрим примитивно рекурсивную функцию
f (i) = I (t)sgF(l(t), r(t)) + b-sSF(l(t),	(2)
где I (t), r (t) — канторовские функции из п. 3.3, а Ъ— какое-нибудь число из 4. Покажем, что А совпадает с совокупностью всех значений функции / (t).
§ 4. РЕКУРСИВНО ПЕРЕЧИСЛИМЫЕ МНОЖЕСТВА	81
В самом деле, если при некотором t
F {I (t), г (f)) = 0,	(3)
то I (t) 6 А, а из (2) имеем
/ (О = I (0 6 А.
Если же (3) неверно, то из (2) получаем
/ (i) = b 6 А.
Таким образом, все значения функции / (t) входят в А. Пусть теперь а 6 А и, значит, F (а, х) = 0 для подходящего х. Полагая t = с (а, х) и принимая во внимание, что I (с (а, х)) = а, из (2) получим f (t) = а. Следовательно, А совпадает с совокупностью значений функции f (t) и теорема 1 доказана.
Указанное в этой теореме свойство рекурсивно перечислимых множеств иногда принимается за определение этих множеств.
Теорема 2. Сумма и пересечение конечного числа рекурсивно перечислимых множеств являются рекурсивно перечислимыми множествами.
Пусть А; — множество тех значений параметра а, для которых существует решение х уравнения
(а, х) = 0 (i = 1, . . ., П-),
где /г — некоторая примитивно рекурсивная функция. Тогда совокупностью значений параметра а, при которых относительно хь . . ., хп разрешимо уравнение
/1 (а, х^- ... -fn (а, Хп) = 0	(4)
пли соответственно уравнение’,
fa (а, х^ + . .. + /п(а, жп) = 0,	(5)
будет объединение или соответственно пересечение множеств At. Так как левые части уравнений (4), (5) примитивно рекурсивны, то согласно следствию 2 объединение и пересечение множеств рекурсивно перечислимы.
По аналогии со свойствами рекурсивных множеств можно было бы предположить, что дополнение рекурсивно перечислимого множества есть рекурспвно перечислимое множество. Однако это неверно. В п. 6.3 будут построены рекурсивно перечислимые множества, дополнения которых не являются рекурспвно перечислимыми. Более того,
82	ГЛ. И. РЕКУРСИВНЫЕ ФУНКЦИИ
именно этот случай следует считать типичным, так как справедлива
Теорема 3 (Пост). Если какое-нибудь множество А рекурсивно перечислимо и его дополнение А' также рекурсивно перечислимо, то множества А и А' рекурсивны.
Пусть множества А и А' являются совокупностями тех значений параметра а, для которых разрешимы уравнение / (а, х) = 0 и соответственно уравнение g (а, х) = О, где /, g — примитивно рекурсивные функции. Так как для любого а одно из указанных уравнений заведомо разрешимо, то функция
h (а) =	(/ (а, х) g (а, х) = 0)	(6)
всюду определена и, следовательно, общерекурсивна. Поэтому функция
F (а) = sg / (а, h (а))
также общерекурсивна. Из формулы (6) видно, что F (а)— характеристическая функция для А, и потому А и А' рекурсивны.
В дополнение к теореме 1 докажем еще, что совокуп-, ностъ значений, принимаемых произвольной многоместной ’ примитивно рекурсивной функцией F (хг, . . ., хп), яв-\ ляется рекурсивно перечислимым множеством.
Рассмотрим одноместную функцию
f (х) = F (сп1 (х), . . ., спп (х)).	(7)
Эта функция примитивно рекурсивна. В силу 7 и соот-: ношения
/ (® (^11 • - •> ^-п))	• • Ч ^п)
совокупность значений функции / совпадает с совокупно-' стью всех значений функции F и потому эта совокупность рекурсивно перечислима.
4.3.	Порожденные множества. Напомним некоторые понятия из п. 1.3. Пусть И — произвольное множество каких-то элементов. Каждая (частичная) функция F (xlt . . ., хп), определенная на АГ, со значенпями, принадлежащими тому же множеству АГ, называется (частичной) операцией на At. Подмножество А множества AI называется замкнутым относительно частичной операции F, если для каждых значений хг, . . ., хп, взятых из области определения F и прпнадлежащпх А, значение F (я^, . . . . . ., хп) также принадлежит А.
§ 4. РЕКУРСИВНО ПЕРЕЧИСЛИМЫЕ МНОЖЕСТВА	83
Предположим, что в множестве М, снабженном некоторой системой операций Ft, выделена какая-то совокупность V его элементов. Совокупность Vе, являющаяся пересечением всех подмножеств множества М, замкнутых относительно операций Fi и содержащих V, называется совокупностью порожденной системой V при помощи операций Fj. В п. 1.3 было показано, что Vе состоит из тех и только тех элементов М, которые являются значениями термов, записываемых при помощи символов заданных операций Ft и символов элементов системы V.
Для дальнейшего будет важен случай, когда множество М есть совокупность всех натуральных чисел, а операции F} являются примитивно рекурсивными функциями.
Теорема 1. Множество натуральных чисел Vs, порожденное рекурсивно перечислимой совокупностью V с помощью конечной системы примитивно рекурсивных функций Fi (хг, . . ., Хщ^ (i = 1, . . ., s'), является рекурсивно перечислимым.
Обозначим через v (ж) примитивно рекурсивную функцию, множество значений которой совпадает с V*). Согласно сказанному порожденное множество Vе состоит из значений термов a (ai, . . ., ат), записываемых с помощью функциональных знаков Ft и произвольных чисел а15 . . . . . ., ат из V. Так как V состоит из значений функции р(ж), то Vе — из значений термов вида а (и (Ъ^, . . ., v (Ът)), где Ъг, . . ., Ьт— произвольные натуральные числа. Термы последнего вида условимся называть р-термами.
Все р-термы мы теперь перенумеруем. Номером терма v (Ъ) назовем число Зь. Далее нумеруем индуктивно, восходя от более коротких термов к более длинным. Пусть термы а1, . . ., ат. уже получили номера съ . . ., cmi. Тогда номером терма Ft (аг, . . ., <хт[) будем называть чпсло 2’pJ1 . . . рС™л, где символы р0, ръ р2, . . . обозначают последовательные простые числа 2, 3, 5, . . .
Самые короткие р-термы — это термы вида v (&). Их номера, как сказано, равны степеням числа 3. Номера остальных р-термов четны. Таким образом, не каждое натуральное число есть номер какого-то терма, но если натуральное число есть номер какого-нибудь р-терма, то этот терм однозначно восстанавливается путем разложении чисел на простые множители.
*) Для пустого V утверждение очевидно.
84
ГЛ. II. РЕКУРСИВНЫЕ ФУНКЦИИ
Мы хотим теперь построить вспомогательную функцию / (х) таким образом, чтобы / (п) было значением у-терма с номером п, если п является номером терма. С этой целью полагаем по определению / (0) = v (0) и далее
F1(f(ex.(l, п + 1)),. . . ,/(ех (пи, п + 1))), если ех (0, п ф- 1) = 1,
/ (" + !) Qf (ех п . . . , / (ex (777s, 77 ф- 1))), если ех (0, п ф- 1) = з, .т?(ех(1, п ф- 1)) для остальных п.
(1)
Здесь ex (i, п ф- 1) — показатель высшей степени числа pif на которую делится п ф- 1 (см. п. 3.2).
Согласно п. 3.1 указанное определение функции / (ж) можно представить в следующей форме:
/ (0) = v (0),
f (п ф- 1) = G (п, / (ex (1, ?7 ф- 1)), . . ., / (ex (t, п ф- 1))), (2) где t = шах {тг, . . ., тпф и
S
G(n, Xi,. . ., xt) — V (ех(1,77 ф- l))sg П I ех(0,77 ф- 1) — i | ф-г=1 s
+ 3 Pi (2’1, • • • , 2mi) Sg I ex (0, n ф- 1) — i I, 2—1
Так как функции ex (7, 77 ф- 1) удовлетворяют соотношениям
ex (7, п + 1)	77,
то равенства (2) представляют собой схему возвратной рекурсии, описанную в п. 3.2. Исходные функции ех (7, 77 ф-+ 1) и G (п, х1г . . ., Ж/) примитивно рекурсивны. Поэтому и функция / (ж) также примитивно рекурсивна.
Покажем, что / (?г) равно значению v-терма с номером п, если п — вообще номер какого-то v-терма, и что / (77) равно значению подходящего v-терма для любого п.
Для ?7 = 0, 1 это заведомо верно, так как из (1) видно, что / (0) = / (1) = v (0).
§ 4, РЕКУРСИВНО ПЕРЕЧИСЛИМЫЕ МНОЖЕСТВА	85
Пусть доказываемое утверждение истинно для каждого п, меньшего некоторого числа а + 1. Рассмотрим/ (а + 1). Могут представиться лишь следующие три случая.
а)	Число а + 1 есть номер п-терма вида F} (ах, . . .
. • -1
Согласно принятой нумерации термов имеем а + 1 = 21-р? . . . ра™\
где «1, . . ami — номера термов ах, . . ат.. Из (1) находим
/ (а + 1) = Fi (f (ах), . . f (ат.)).
Так как ах а, то по предположению / (а;) равно значению терма a.j и, следовательно,
/ (а + 1) = Ft (ах, . . ., ат.).
Иначе говоря, в рассматриваемом случае f (а + 1) равно значению п-терма с номером а + 1.
б)	Число а + 1 есть номер терма вида v (с) и потому а + 1 = 3е. Из (1) находим
/ (а + 1) = v (с),
т. е. снова получаем, что f (а + 1) равно значению v-терма с номером а + 1.
в)	Число а + 1 не есть номер никакого р-терма. Пусть ex (j, а + 1) = a,i (i = 0, 1, 2,. . .).
По (1) получаем, что либо для некоторого i (1	i з)
f (а + 1) = Fi (f (ах), . . ., / (ami)),	(3)
либо же
/ (а + 1) = v (ах).	(4)
Так как а, а, то / (ах) равно значению какого-то у-терма dj (не обязательно с номером ах). Но тогда в случае (3) / (а 1) равно значению п-терма Ft (ах, . . . • • ат), а в случае (4) / (а + 1) равно значению р-тер-Ма v (а1).
Итак, все условия индукции выполнены и утверждение 'южно считать доказанным. Из него вытекает, что порожденное множество Vg совпадает с совокупностью всех
86
ГЛ. II. РЕКУРСИВНЫЕ ФУНКЦИЙ
значений функции / (и). Так как эта функция примитивно рекурсивна, то множество Vs рекурсивно перечислимо, что и требовалось.
4.4. Множества ?г-ок натуральных чисел. Наряду с множествами натуральных чисел обычно приходится рассматривать множества пар, троек и вообще re-ок натуральных чисел. Поэтому понятия и результаты предшествующих разделов мы распространим теперь на сово-' купностп 71-ок чисел.
Фиксируем некоторое п 2. Через Л1-” обозначим совокупность всех «-ок натуральных чисел. В п. 3.3 каждой ге-ке натуральных чисел <«!, . . ., жп) был поставлен в соответствие ее канторовский номер с (xx, . . ., хп), причем было показано, что это соответствие между Егп и W взаимно однозначно. Ставя в соответствие каждому множеству А re-ок чисел множество с(А) номеров ге-ок из А, мы распространяем канторовское соответствие между Nn и У до взаимно однозначного канторовского соответствия между множествами чисел и множествами ге-ок чисел. Отсюда возникает естественное
Определение. Множество А n-ок натуральных чисел называется примитивно рекурсивным, рекурсивным или рекурсивно перечислимым, если таковым является множество с(А) номеров всех n-ок из А.
Так как объединению и пересечению множеств ге-ок^ отвечают объединение и пересечение совокупностей номеров этих re-ок, то из теорем п. 4.1 и п. 4.2 непосредственно получаем
Следствие 1. Объединение и пересечение конечного числа рекурсивно перечислимых (рекурсивных, примитивно рекурсивных) множеств n-ок натуральных чисел являются рекурсивно перечислимыми (рекурсивными, примитивно рекурсивными) множествами.
Дополнение рекурсивного (примитивного рекурсивного) множества n-ок есть рекурсивное (примитивно рекурсивное) множество.
Если дополнение А' рекурсивно перечислимого множества n-ок А рекурсивно перечислимо, то А и А' —рекурсивные множества.
Характеристической функцией множества А re-ок натуральных чисел называется /г-местная функция / (хъ . . . . . ., ^п.), равная Ощля re-ок фгг, . . ., хп), входящих в А,' и равная 1 для re-ок, не входящих в А. Если с (А) — множество номеров всех n-ок из А и g (х) — характеристиче
§ 4. РЕКУРСИВНО ПЕРЕЧИСЛИМЫЕ МНОЖЕСТВА
87
ская функция множества с (А), то из соотношений g (ж) = / (сп1 (х), . . ., спп (ж)),
g (с (хъ . . хп)) = f (xt, . . хп)
(см. п. 3.3) и примитивной рекурсивности канторовских функций с, cni следует, что множество n-ок тогда и только тогда рекурсивно {примитивно рекурсивно), когда частично рекурсивна (примитивно рекурсивна) его характеристическая функция.
Аналогичным образом доказывается и
Теорема 1. Если всюду определенная функция F (ж1( . . хп) частично рекурсивна (примитивно рекурсивна), то совокупность n-ок <(хг, . . ., хп~>, удовлетворяющих уравнению
F (хг, . . хп) = О,
является рекурсивным (примитивно рекурсивным) множеством.
Если функция F (xlt . . ., хп, ух, . . ., ут) примитивно рекурсивна, то совокупность А тех n-ок <ах, . . ап>, для которых уравнение
F (ах, . . ап, уг, . . .,ут) = 0	(1)
имеет хотя бы одно решение . . ., Ут\ является рекурсивно перечислимым множеством.
Первое утверждение очевидно (см. п. 4.1). Для доказательства второго утверждения вводим функцию
/ (Я1 д) ~ Р (cni (а), . . ., @пп (а), ^7П1 (у)	(у))-
Эта функция примитивно рекурсивна. Уравнение (1) разрешимо при заданных аг, . . ., ап тогда и только тогда, когда разрешимо относительно у уравнение
/ («, У) = 0,	(2)
где а — номер ге-ки <ах, . . ., ап>. Но совокупность значений параметра а, для которых разрешимо уравнение (2), является рекурсивно перечислпмым множеством. Поэтому рекурсивно перечислима и совокупность А.
Теорема 2. Для того чтобы непустая совокупность n-ок была рекурсивно перечислимой, необходимо и достаточно, чтобы она была совокупностью всех n-ок вида
<fi (*), • • fn (*)> (я = 0, 1, . . .),	(3)
/1 (x)t . . t) (х) — подходящие примитивно рекурсивные функции.
88	ГЛ, II. РЕКУРСИВНЫЕ ФУНКЦИИ .	
В самом деле, если функции (х), . . fn(x) прими тивно рекурсивны, то совокупность номеров всех п-сЯ вида (3) совпадает с совокупностью всех значений примЯ тивно рекурсивной функции	Я
/ (ж) = с (ж),	(ж))	Я
и потому совокупность re-ок вида (3) рекурсивно перечиЯ лима.	Я
Обратно, пусть с (А) — множество номеров re-ок рекуЯ сивно перечислимой непустой совокупности. Согласно теЯ реме 1 из п. 4.2 с (А) есть совокупность значений некоторой примитивно рекурсивной функции / (ж). Но в таком случая А состоит из zz-ок вида	Я
<Сп1 (/ (*)), • • • > @пп (f (*))>,	I
что и требовалось.	Я
Графиком функции F (хг, . . ., хп) называется совокупа ность (п + 1)-ок вида (хи . . ., хп, F (хъ . . ., жп)>, гда значение F fo, . . ., жп) должно быть определенным. Ота сюда следует, что если функция F всюду определена, тя характеристической функцией ее графика будет функция
sg | xn+1 — F fo, . . ., xn)\	fl
и, значит, графики примитивно рекурсивных и общерекур» сивных функций являются соответственно множествам!» примитивно рекурсивными и рекурсивными.	1
Легко построить пример не всюду определенной фунак! ции, график которой примитивно рекурсивен. Более того! возможно построить и всюду определенную не примитив! но рекурсивную функцию, график которой примитивна рекурсивен. Это довольно тонкое построение будет выпол! нено в п. 6.4, а сейчас мы докажем лишь следующее до! вольно очевидное утверждение:	I
Теорема 3. Если график М всюду определенно!» функции F (хг, . . ., хп) рекурсивно перечислим, то функ1 ция F общерекурсивна.	1
Согласно теореме 2 совокупность ЛА состоит из (zz + 1)-] ок вида <jr (t), . . .,fn (t), /n+1 (£)>, где /15 . . ., /п+1 — под-1 ходящие примитивно рекурсивные функции.' Функция всюду определена. Поэтому для любых х1г . . ., хп' уравнение	;
I -/1 Ш + • • • + I	= о
§ 4. РЕКУРСИВНО ПЕРЕЧИСЛИМЫЕ МНОЖЕСТВА	89
имеет хотя бы одно решение t, причем для каждого решения t этого уравнения имеем F (хг, . . ., хп) = /п+1 (t). Следовательно, F (2л,   •, жп) =
= /п+1 (р< (I /i (^) I 4" • • • 4" I хп fn (t) I = 0)) П, значит, функция F (xlt . . ., хп) общерекурсивна.
В заключение мы хотим сформулировать для ге-ок натуральных чисел еще теорему о порожденных множествах.
Согласно п. 1.2 /«-местной операцией (частичной) на мно?кестве всех тг-ок 2Vn называется отображение, которое последовательностям re-ок <j1T . . ., ставит в соответствие определенные ге-ки = F (?х, . . jm). Если
= <^i, • • •, xiny (i = 1, . . ., т), то каждая координата н-ки fy = <?/х, , . уп> будет функцией от координат и-ок jx, . . ., $т: Hi-fi (^ХХ, • • ч • • •> ^7П1> • • ч %тпп) G =	• • ч
(4) Обратно, задавая произвольно функции /г-, мы сможем по «-кам fx, . . ., найти «-ку $ и тем самым восстановить операцию F. Если операция F частичная, то координатные функции fi также частичные и наоборот.
Помимо координатных функций fi с операцией F мы свяжем еще одну функцию /, которая будет называться представляющей функцией для F. Определяется она следующим образом.
Пусть даны некоторые числа аг, . . ., ат. Берем тг-ки Ен • . номеров ах, . . ., ат, т. е. тг-ки
?г ~	(^t)i • • ч @пп (flifF,
и вычисляем номер а н-кп F (?х, . . ., £т). Далее по определению полагаем / (ах, . . ., ато) = а. Обратно, если известна функция / (ах, . . ., ат), то очевидным путем восстанавливается и операция F(xr, . . ., рто),’представляемая функцией / (аг, . . ., ат).
Определение. Операция F (?х, . . ., ?т), задан-На& на множестве FF1 всех п-ок натуральных чисел, назы-вается частично рекурсивной, общерекурсивной или примитивно рекурсивной, если таковой является функция '	ат), представляющая операцию F,
90
ГЛ. II. РЕКУРСИВНЫЕ ФУНКЦИИ
Сравнивая определения представляющей и координат-i ных функций, непосредственно получаем	|
Следствие. Для того чтобы операция F (хг, . . Л . .	х-Д}, определенная на Nn, была частично рекурсив-1
ной, общерекурсивной или примитивно рекурсивной, неД обходимо и достаточно, чтобы таковыми были все коордиД натные функции (4) операции F.	•	|
Например, рассматривая целые комплексные числа хг + ix„ как пары натуральных чисел хД, видим, что] операция сложения этих чисел является примитивно ре-з курсивной.	я
Аналогично, пусть заданы какие-либо примитивно pe-j курсивные функции
g (и, уъ у2), hi Си, х2, уг, у2) (z = 1, 2, 3, 4). Тогда двучленная операция F (j, р), определенная на условиями
F «xi, ж2>, <ръ у2» =
<7zi (и, . .., у2), h2 (и,  , УД), если g(xi,... , у2) = 0,
</г3 (ап,. . . , z/2), hi (xlt. . . , у2)>
(для остальных Xi,. .., у2,
будет примитивно рекурсивной.
В самом деле, указанные условия означают, что координатные функции /1, /2 для операции F задаются таблицами
А (*1, yi, у2) =
hr Си, же, У1, у2),
если g (и,  • •, z/2) = 0, h3 (И, ж2, yi, у2)
(для остальных xlt... , у %,
h2 (xt, х2, yi, у2),
(для остальных Xi, х2, yi, у-2,
показывающими (см. п. 3.1), что эти координатные функции, а вместе с ними и операция F, являются примитивно рекурсивными.
Теорема (и. 4.3) о порожденных множествах чисел легко переносится без изменений и на множества n-ок чисел,
§ 4. РЕКУРСИВНО ПЕРЕЧИСЛИМЫЕ МНОЖЕСТВА	91
Те о р е м а 4. Пусть на множестве Nn всех п-ок натуральных чисел задано конечное число примитивно рекурсивных операций Pt (jx, . .	?m.) (i = 1, . . s)
и пусть задано некоторое рекурсивно перечислимое множество V n-ок из Уп. Тогда совокупность Vs n-ок, порожденная элементами V с помощью операций F\, также рекурсивно перечислима.
Пусть с (F), с (Fg)— совокупности каиторовских номеров и-ок из V и соответственно из Vs. Обозначим через /, (,?!, . . жт.) функцию, представляющую операцию F (fj, . .	i'm.) (i = 1, . .	s). Остается лишь убедиться,
что множество чисел с (Fg) порождается множеством с (F) с помощью операций fr, . . ., fs, так как тогда ввиду теоремы 1 из п. 4.3 с (Fg) и Vе будут рекурсивно перечислимыми.
Множество Fg есть совокупность значений термов, записываемых при помощи символов операций и обозначений n-ок из F. Пусть a (jx, . . ., jn) — один из таких термов. Заменяя в нем символы операций Ft символами представляющих функций fi, а символы n-ок символами их номеров, получим терм, значение которого будет равно номеру значения терма а. Таким образом, совокупность с (Fg) является множеством значений термов, записываемых при ПОМОЩИ СИМВОЛОВ функций fi и символов чисел из с (F), т. е. с (Vе) порождается совокупностью с (F) при помощи функций fi, что и требовалось.
Согласно п. 1.3 множество М, снабженное конечной системой определенных на нем операций Ft (zx, . . ., жт{), называется алгеброй, символически обозначаемой через = <М; F,, . . ., Fs>.
Если основное множество М алгебры ЭД является совокупностью всех n-ок натуральных чисел, а основные операции Fi являются примитивно рекурсивными, то алгебра ЭД называется примитивно рекурсивной. Теорема 4 может быть теперь переформулирована следующим образом: каждое рекурсивно перечислимое множество элементов примитивно рекурсивной алгебры порождает в этой алгебре рекурсивно перечислимую подалгебру.
Примеры и задачи
1.	Каждое бесконечное рекурспвно перечислимое множество содержит бесконечное рекурсивное подмножество.
2.	Проекции. Геометрически zi-ки чисел истолковывают обычно как точки тг-мерного пространства; числа xlt . . ., хп называют
92
ГЛ. II. РЕКУРСИВНЫЕ ФУНКЦИИ
координатами ri-ки <xlt . . ., хп>. Пусть 1	• • • <Чп < п- т-ку
. . ., xi > называют проекцией точки <xlt . . ., хп> на коорди-
натную <i1; . . ., £т>-плоскость. Совокупность проекций всех точек/ множества А на <ilt . . гт>-плоскость называется проекцией множества А на эту плоскость.
Показать, что проекция рекурсивно перечислимого множеству есть множество рекурсивно перечислимое и что каждое рекурсивно^ перечислимое n-мерное множество есть проекция подходящего (п -J-) + 1)-мерного примитивно рекурсивного множества.
3.	Вещественное число а, имеющее вид а = clq -|-	-|- . . .,
где а0, а±, . . . целые, 0	< 9 для i = 1, 2,. . ., называется ре-
курсивным (примитивно рекурсивным), если рекурсивна (примитивно рекурсивна) функция /а (х), определенная условиями
/а (0) = | а0 I. /а (« + 1) = «п+г
Показать, что все алгебраические вещественные числа примитивно’ рекурсивны и что все рекурсивные вещественные числа образуют алгебраически замкнутое поле.
ГЛАВА III
ОБЩЕРЕКУРСИВНЫЕ
И ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИИ
Центральное понятие теории алгоритмов — это понятие функции, значения которой вычислимы с помощью алгоритма. Согласно тезису Чёрча (п. 2.3) алгоритмически вычислимые функции отождествляются с частично рекурсивными функциями. Настоящая глава посвящена доказательствам фундаментальных теорем о рекурсивных и частично рекурсивных функциях. Теоремы эти образуют основу теории рекурсивных функций.
§ 5. Общерекурсивные функции
До сих пор не было установлено, что класс общерекурсивных функций действительно шире класса примитивно рекурсивных функций. В настоящем параграфе этот пробел восполняется фактическим построением общерекурсивной функции, не являющейся примитивно рекурсивной.. Более того, построенная общерекурсивная функция от двух переменных оказывается универсальной для всех одноместных примитивно рекурсивных функций и в дальнейшем изложении играет особую роль. Конструирование универсальной функции проходит весьма просто при помощи одного специального вида рекурсии, с изучения свойств которого мы и начнем изложение материала этого параграфа.
5.1. Рекурсии 2-й ступени. Числа натурального ряда О, 1, 2, . . . образуют естественным образом упорядоченную последовательность. Эта упорядоченность играет Фундаментальную роль в задании функций с помощью примитивной рекурсии. Именно, если определяемая функция многоместная, то из аргументов выбирается один, задается значение функции, когда этот аргумент равен О, и дается правило, как найти значение функции в точке п -}- 1, если известны ее значения при меньших значениях аргумента. Допустим теперь, что мы хотим аналогичным способом задать функцию двух аргументов F (х, у), но
94 ГЛ. HI. ОБЩЕ- И ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИЙ
хотим вести рекурсию не по одному аргументу, а сразу по обоим. Тогда мы предварительно должны как-то упори дочить все пары чисел (х, у}. Конечно, упорядочивать из можно многими способами. Остановимся на словарном упорядочении: пара z/> будет считаться предшествующей паре {хг, уг'), если либо х < хъ либо х = xlt а у < < Выписывая пары в только что установленном порядке, получим
В этом расположении пары вида (п, 0> играют особук роль — у них нет непосредственно предшествующей пары а пара <0, 0> вообще является начальной.
Вернемся теперь к функции F (х, у), которую мы хотид задать рекурсией сразу по двум аргументам. Принимая во внимание расположение (1), мы должны сначала задать F (0, 0), положив его равным некоторому числу а. Затем мы должны как-то выразить F (х, у) через значения это! же функции для предыдущих пар значений аргументов Здесь возможны следующие случаи:
а)	Требуется найти F (0, х). Предыдущие значенш функции имеют вид F (0, у), где у < х.
б)	Требуется найти F (п + 1, 0). Предыдущие значе ния функции имеют вид F (пи х), где гах <1 п, а х произ вольно. В частности, если «предыдущие» значения функ ции F известны, то можно считать известными и значения выражений вида
F (/1 <F), g (я:)), F (га), F (f2 (га), g (х)')'),
F (ft («), F (f2 (п), F (f3 (га), ж))), . . .,	(2)
где /{ (га), g (х) — какие-либо наперед заданные функции удовлетворяющие условиям


/z(ra)<ra(j = 1,2, . . .).	(3)
в)	Требуется найти F (п Ч- 1, х + 1). Предыдущие значения функции F здесь могут быть следующих типов F (п + 1, fi (*)), F (п), F (f2 (и), g (ж))),
F {h (n), F (n + 1, /2 (x))), . . .,	(4)
гДе ft — наперед заданные функции, удовлетворяющие условиям (3).
§ 5. ОБЩЕРЕКУРСИВНЫЕ ФУНКЦИИ
95
Таким образом, чтобы задать функцию F (х, у) рекурсией по паре переменных, мы можем задать выражения для р (п 4- 1, 0), F (п + 1, х + 1) через члены вида (2), (4), а также задать функцию одной переменной F (0, х + 1) и число F (0, 0). В полном объеме этот способ задания нам далее не потребуется. В частности, нам не будут нужны члены вида F (/L (n), F (fa (п), F (fs (п), х))) и аналогичной более сложной структуры. Мы ограничимся рассмотрением лишь следующего способа, который только и встретится нам далее. Этот способ мы будем называть рекурсией 2-й ступени.
Определение. Пусть заданы всюду определенные функции
G (х0, хг, . . ., хт), Н (х0, Xi, . . жД h (х)
и всюду определенные функции fa (х), gj (х), удовлетворяющие требованиям
fa (ж) < х, gj (ж) < ж (i = 1, . . ., т; / = 1, . . ., к).
(5)
Говорят, что всюду определенная функция F (ж, у) возникает из функций G, Н, /г, /г, gj рекурсией 2-й ступени, если F (га + 1, ж + 1) =
= G (п + 1, ж, F (/т (га), F (п + 1, ж)),
F (fa (га), F (/з (га), Ж + 1)), F (fa (га), ж + 1), . . .
• • F (fm (га), ж + 1)),
F (п + 1, 0) =	(6)
= H(n + i,F(gl (п), F (g2 (п), 0)), F (п, 0),
F (?з (га), 0), . . ., F (gk (га), 0)),
F (0, ж) = h (ж)
для всех значений п, х.
Например, в п. 5.3 мы детально изучим функцию В (ж, у), определенную схемой
В (га + 1, ж + 1) = В (га, В (п + 1, ж)), В (п + 1, 0) = sgra, В (0, ж) = 2 + ж.
Сравнение этой схемы со схемой (6) показывает, что В (х, у) возникает рекурсией 2-й ступени из функций
G (га, ж, у) — у, (га) = га, h (х) = 2 + ж,
Д (га) = ggra.


96 ГЛ, III. ОБЩЕ- И ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИИ
Покажем теперь, что каковы бы ни были функции G, H,h и функции/^, gb удовлетворяющие условиям (5), существует функция F (х, у) и только одна, удовлетворяющая схеме (6).
Построение функции F (х, у) выполняется очевидным путем. По определению для всех х полагаем F (0, х) = = h (х). Далее, если для всех пар <га, ц>, меньших пары <п Д- 1, 0>, значения F (и, v) определены и для них условия (6) соблюдены, то значение F (п Д- 1, 0) определяем второй формулой из (6). Наконец, если значения F определены для всех пар, меньших пары <ге Д- 1, х Д- 1>, то значение F (п Д- 1, х Д- 1) определяем первой формулой из (6). Ясно, что полученная таким образом функция удовлетворяет условиям (6). Поскольку выбиравшиеся значения для F (га, ж) однозначно вытекали из формулы (6), то формулы (6) определяют F однозначно.
Для дальнейшего принципиальное значение имеет Теорема 1 (о рекурсии 2-й ступени). Если указанные в определении рекурсии 2-й ступени функции G, Н, h, fi, gj примитивно рекурсивны, то возникающая из них посредством рекурсии (6) функция F является общерекурсивной.
Чтобы сократить запись формул, докажем эту теорему для т = 4, к = 3. В общем случае рассуждения остаются теми же.
Обозначим через 31 график функции F, т. е. совокупность троек чисел вида <ж, у, F (х, р)>. Согласно п. 4.4 теорема 1 будет доказана, если мы обнаружим, что совокупность М рекурсивно перечислима. Посмотрим, что означают равенства (6) для М.
Первое из равенств (6), очевидно, можно пересказать так: если тройки
<га Д- 1, х, и>,	(га), и, v>, (j3 (га), х Д- 1, р>,
</2 (и), р, q>, <Jt (га), х Д- 1, ш>	(7)
принадлежат 31, то
(п Д- 1, х Д- 1, G (п Д- 1, х, v, q, ш)> g 31.	(8)
Второе из равенств (6) равносильно утверждению: если тройки
<&. (га), 0, u>, <gr (га), и, и>, <п, 0, ш>, <£3 (га), 0, р> (9) принадлежат 31, то
(п Д- 1, 0у Н (га Д- 1, v, w, р)> g 3f.



















(10)
§ 5, ОБЩЕРЕКУРСИВНЫЕ ФУНКЦИИ	97
Наконец, последнее из равенств (6) утверждает, что Л содержит все тройки вида <0, х, h (х')У.
Обозначим через № совокупность всех тр'оек чисел. Мы хотим определить на 2V3 такие операции Л (и1, и2, us, и и5), ® («1, и2, и3, и4), которые для наборов троек (7), (9) имели бы своими значениями соответственно тройки (8) и (10). С этой целью полагаем по определению для произ-вольных ljh
Л (01)	• • ч <^5, ^5» 25>) =
= <^i> Уз, G (хъ yt, z2, z4, z6)>, (11)
если выполнены условия
х2 = fi (^i 1), Уз = «!, xs = /3 ---1), р3 = У1 + 1, х4 = f2 СИ 1), У4 = z3, х5 = f4 (х4 1), уъ = yi + 1,
(12) и полагаем
Л «и> У1, zi>,   , <И, Уб, z5>) = <0, 0, h (0)>,	(13)
если условия (12) не выполнены.
Аналогично полагаем по определению
® (<И> У1, zi>,   , Уь, zt>) =
= <x3 + 1, О, Я (z3 + 1, z2, z3, z4)>, (14) если выполнены условия
= Уз СИ), И = gi Сн)> Уз = zi, И = Уз (хз),	(15)
п полагаем
® «И. У1, Zj>, • • <х4, У4, z4>) = <0, 0, h (0)>, (16) если условия (15) для х4, у4, . . ., z4 не удовлетворяются.
Так как функции G, Н, h, ft, gt примитивно рекурсивны, то согласно п. 4.4 операции Л и 53 также примптивно рекурсивны.
Обозначим через J£o совокупность троек вида <0, х, h (х)у. Из примитивной рекурсивности функции h (х) следует, что совокупность Л£о рекурспвно перечислима.
Согласно теореме о порождаемых совокупностях (п. 4.4) совокупность Я* всех троек, которые можно получить пз троек множества Jf0 с помощью операций Л, S3, является рекурспвно перечислимой и нам остается доказать лишь совпадение совокупности Jf* с графиком Л.
Прежде всего замечаем, что Л содержит порождающее множество Лй. Кроме того, условия (11), (13) и (14) , (16)
98 ГЛ. III. ОБЩЕ- И ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИИ показывают, что совокупность М замкнута относительно операций Л, $?>. Совокупность М* по определению есть наименьшая совокупность, замкнутая относительно Л,-S3 и содержащая М0. Таким образом, М* С М.
Обратное включение М QM* проще всего доказать индукцией по параметрам п, х троек <n, х, F (п, х\), составляющих график М. Для п — 0 график М содержит лишь тройки <0, х, h (х)~). Все они входятв М*. Пусть для некоторого п все тройки <г, х, F (г, х)У, удовлетворяющие условию г п, входят в М *. Покажем, что тогда и тройка
+ 1, 0, F (п + 1, 0)> входит в М*. Полагая и = = Р {gi (п), 0), v = F (gy (тг), и), w = F (тг, 0), р = = F (g3 (тг), 0), имеем в силу (6)
F (тг + 1, 0) = Н (;г + 1, v, w, р).
Так как gt (п) п, то все тройки (9) по предположению входят в М*. Применяя к тройкам (9) операцию 33, получим тройку <тг + 1, 0, F (п + 1, 0)>. Совокупность И* замкнута относительно операции S3. Следовательно, тройка <тг 4- 1, 0, F (п + 1, 0)> принадлежит И*.
Аналогично доказывается и утверждение, что если для данных ?г, х все тройки <r, s, F (г, s)> с условием <r, s> < < (ji + 1, х + 1> содержатся в М*, то и тройка <тг + + 1, х + 1, F (тг + 1, х + 1)> содержится в М*. Тем самым включение М С И*, а вместе с ним и равенство М = И* доказаны.
5.2. Универсальная общерекурсивная функция. Рассмотрим произвольную систему S частичных тг-местных функций. Частичная функция F (х0, xlt . . ., хп) от п + 1 переменных называется универсальной для семейства S, если выполнены следующие два условия:
а)	для каждого фиксированного числа i п-местная функция F (г, #!,..., ж71) принадлежит S;
б)	для каждой функции f (хг, . . ., хп) из S существует такое число i, что для всех Ху, . . ., хп
F (г, Ху, . . ., хп)' = f (хг, . . ., хп).
Иначе говоря, функция F (х0, хг, . . .', хп) универсальна для семейства S, если все функции из S можно расположить в последовательность
F (0, Ху, . . ., хп), F (1, Ху, . . ., хп), ..., F [у, Ху, . . ., хп),...
(1)
§ 5. ОВЩЕРЕКУРСИВНЫЕ ФУНКЦИИ	99
-а
Число I называется номером функции F (I, х1г . . . хп), а полученная таким образом нумерация функций семейства ® называется нумерацией, отвечающей универсальной функции F. Обратно, если задана какая-либо нумерация системы S, т. е. если задано какое-нибудь отображение i натурального ряда на ®, то функция F (х0, a,’i, . . хп), определенная формулой
F (х, Х^. . . ., Xrj) fx (^1, - - ., Xn)j
является универсальной для S.
Заметим, что рассматриваемые здесь нумерации в отличие от нумераций пар, троек и т. д. из п. 3.3 не однооднозначны: различные натуральные числа у, i могут быть номерами одной и той же функции из ®.
Существование достаточно «хорошей» универсальной функции является важной характеристикой системы S. Например, если система ® состоит только из всюду определенных функций, то существует очень простой метод (диагональный метод Кантора) построения всюду определенной функции, не входящей в S.
В самом деле, пусть F (х, xlt . . ., хп) — универсальная функция для семейства ® некоторых всюду определенных функций от п переменных. Из определения следует, что эта универсальная функция будет также всюду определенной. Вводим новую функцию g, полагая
g Сн,  • хп) = F (;ч, хи х2, . . ., хп) + 1.	(2)
Функция g (хг, . . хп) не входит в S.
Действительноесли бы g принадлежала семейству ®, то при подходящем натуральном i для всех хх, . . ., хп было бы истинно равенство
F (j, хг, . . ., хп) = F (хг, хг, х2, . . ., хп) + 1.
Однако при х1 = i оно обращается в противоречивое соотношение
F (i, i, . . ., хп) = F (i, i, . . ., хп) + 1, что и доказывает наше утверждение.
Отметим два важных следствия этого утверждения. Пусть S — система всех //-местных рекурсивных или соответственно примитивно рекурсивных функций. Равенство (2) показывает, что если функция F (х0, хг, . . ., хп) рекурсивна или примитивно рекурсивна, то таковой является и функция g (хг, . . ., хп). Но эта функция не
4*
100 гл. Ш. ОБЩЕ- И ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИИ входит в S и, значит, она не рекурсивна или соответственно не примитивно рекурсивна. Тем самым пришли к следующей простой, но существенной теореме.
Теорема 1. Система всех п-местных общерекурсивных функций не имеет общерекурсивной универсальной функции. Система всех п-местных примитивно рекурсивных функций не имеет примитивно рекурсивной универсальной функции {п = 1, 2, . . .).
Нижеследующая теорема принадлежит к числу основных теорем теории рекурсивных функций.
Теорема 2. Система всех одноместных примитивно рекурсивных функций имеет общерекурсивную универсальную функцию.
Чтобы построить искомую универсальную функцию, нужно все одноместные примитивно рекурсивные функции расположить в последовательность вида (1). Для этой цели мы воспользуемся теоремой Р. Робинсона из п. 3.5, согласно которой все одноместные примитивно рекурсивные функции можно получить из функций S (х) = X + 1 и q (х) = х — []Лж]2 операциями сложения, суперпозиции и итерирования функций. Эти операции были обозначены в п. 3.5 символами +, *, J. Упомянутая теорема Р. Робинсона утверждает, что каждая одноместная примитивно рекурсивная функция является значением подходящего терма, составленного из индивидуальных символов s, q и функциональных символов. Обратное также верно: значение каждого терма упомянутого вида есть примитивно рекурсивная одноместная функция. Поэтому, нумеруя термы, мы одновременно занумеруем и все примитивно рекурсивные одноместные функции. Номер терма а условимся обозначать через N (а).
Для самых коротких термов s и q полагаем по определению
N (s) = 1, N (q) = 3.	(3)
Далее определяем номера термов индуктивно, восходя от коротких термов к более длинным. А именно, если для каких-нибудь термов а, Ь мы уже знаем их номера N (а) = a, N (Ь) = Ь, то по определению полагаем
А(а АЬ) = 2-3“ • 5Ь, А(Й*В) = 4 • За • 5Ь,
N (Ja) = 8 • За.	(4)
Например, термы s + Jqn J (s -f- s) будут иметь номера 2-3-б8'33 и соответственно 8-330.
§ 5. ОБЩЕРЕКУРСИВНЫЕ ФУНКЦИИ	101
Можно считать, следовательно, что мы определили для каждого терма а его номер. Ясно, что далеко не каждое натуральное число является номером некоторого терма, но если число а есть номер терма, то только одного, и этот терм легко восстанавливается путем разложения а на простые множители.
Определяем теперь новую функцию F (п, х) формулой
F (п, х) = fn (х),	(5)
где fn — терм с номером п. Так как не все натуральные числа являются номерами термов, то функция F (п, х) также определена не для всех значений га и потому является частичной. Однако для тех значений га, для которых F определена, из способа нумерации термов (3) и (4) вытекают следующие соотношения:
	Ча (*) + fb (х),	если	ио е СО II
	fa(fb(^l	если	га = 4- 3“- 5Ь,
	fa (fn (X — 1)),	если	га = 8  За, ж>0,
/ /у (?г, х) =	о,	если	га = 8-3“, х=0,
	О'(ж),	если	га = 3,
	-S(x),	если	/1 = 1.
Принимая во внимание равенство (5), мы можем соотношения (6) переписать в виде
F (га, ж) =			♦
	F (exi га, х) ф- F (ех2 га, х),	если	ехога = 1,
	F (exi га, F (ех2 га, ж)),	если	ех0 га = 2,
— •	F (exi га, F (п, х — 1)),	если	ех0 га = 3, ж 0,
	0,	если	ехога = 3, ж = 0,
	<2 (га, ж)	для	остальных га, ж,
			(7)
где для краткости положено
Q (п, х) = s (х) sg | га — 1 | + q (х) sg | га — 3 |.
Подчеркнем еще раз, что соотношения (7) установлены лишь для тех значений га, которые являются номерами термов. Мы хотим теперь найти всюду определенную функцию D (га, х), удовлетворяющую тем же соотношениям (7) для всех значений га, х. Возникают вопросы:
102 гл. III. ОБЩЕ- И ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИИ
существует ли такая функция D и совпадают ли значения D (п, х) со значениями F (тг, х) в области определения F, если функция D существует? Чтобы ответить на первый вопрос, перепишем условия (7) для функции D в более подробной форме:
D(n -ф 1, х -f- 1) =
D (h (п), х + 1) + D (f2 (тг), х 4- 1),
D (h (n), £»(« + !,<
Q (п 4-1, х 4-1)
D(n + 1,0) =
Д(/1(п),0)4-Д(/3(п),0),
= .D(A(n),Z)(/2(n),0)),
•Sg (n)
D (0, х) = 0,
если ex0 (n 4~ 1) = 1, если ех0 (п 4- 1) = 2, если ех0 (/г 4- 1) = 3, для остальных п,
(8)
если ех0 (n 4~ 1) = 1, если ех0 (тг 4- 1) = 2,
для остальных п,
(9)
(Ю)
где положено
Л (и) = ехх (тг 4- 1), /2 («) = ех2 (п 4- 1).	(И)
С помощью приема, рассмотренного в п. 3.1, мы можем переписать схемы (8), (9) в виде простых равенств и таким образом заменить условия (8)—(10) условиями
D (п 4- 1> х 4- 1) =
= G (п + 1, х, D (4 (п), D (п + 1, х)), D (Д (тг), D (72), X + 1)), D (f1 (72), X + 1), D (f2 (72), X + 1)), (12) D (72 + 1, 0) = H (72 + 1, D (Ji (72), D (72), 0)),
D & (72), 0), D (f2 (72), 0)),
где
G (m, x, y, z, u, i>) =
= (u + v) sg | exom — 1 | + z sg ] exom — 2 | 4-4* У sg I ex0772 — 3 J 4- Q (m, x) sg (| exom — 11 | exom—21 x
X I exo772 — 3 I ),
H (m, y, z, u) = (z 4- u) sg J exom — 1 | -f- у sg | exom — — 2 I + Sg I 772 — 1 I ,
§ 5. ОБЩЕРЕКУРСИВНЫЕ ФУНКЦИИ
103
Но условия (12) совпадают со схемой рекурсии 2-й ступени, рассмотренной в предыдущем разделе. Из (И) видно, что функции h (ж), /2 (ж) удовлетворяют требованиям
/1 (*) < fz (х) < ж,
наложенным на эти функции в п. 5.1. Применяя теорему о рекурсии 2-й ступени из п. 5.1, приходим к заключению, что функция D (n, s), удовлетворяющая требованиям (8)—(10), не только существует, но и является рекурсивной функцией.
Теперь индукцией по параметру т докажем, что
D (т, х) = F (т, х) (х = 0, 1, 2, . . .)	(13)
для тех т, которые являются номером некоторого терма, и что для остальных значений т одноместная функция D (т, х) все же является примитивно рекурсивной, хотя равенство (13) ввиду неопределенности правой части и не будет верным.
В самом деле, для начальных значений т = 0, 1, 2, 3 из (8)—(10) получаем непосредственно
D (0, х) = D (2, х) = 0, D (1, х) = s (х), D (3, х) = q (х).
Далее, пусть доказываемое утверждение справедливо для всех значений т, не превосходящих некоторого п. Рассмотрим выражение D (п + 1, х) как функцию от х. По условию выражения D (Д (п), ж), D (/2 (п), а;) являются примитивно рекурсивными функциями от х. Первые два равенства из системы (12) показывают, что функция D (п + 1, х) возникает из примитивно рекурсивных функций посредством обычной примитивной рекурсии и потому эта функция примитивно рекурсивна.
Наконец, пусть п + 1 есть номер некоторого терма. Тогда /х (п) и /2 (п) — также номера термов и, следовательно,
D (ft («), х) = F (fi (п), х) (i = 1, 2; х = 0, 1, . . .). (14)
Первые два равенства системы (12) для рассматриваемого значения п + 1 справедливы для функции D (п + 1, х), и для функции F (п 1, х). В силу (14) правые части указанных равенств одинаковы для функции D (п + 1, х) и для функции F (п + 1, х)Г~ Поэтому D (n_-j- 1, х) = F (п + 1, х), что и требовалось.
104 ГЛ. III. ОБЩЕ- И ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИИ
Итак, мы построили общерекурсивную функцию D (п, х), обладающую следующими свойствами:
а)	для каждого фиксированного п одноместная функция D (п, х) является примитивно рекурсивной;
б)	для каждой одноместной примитивно рекурсивной функции / (ж) существует такое число п (равное номеру терма, представляющего функцию /), что D (п, х) = = f (*)•
Это означает, что D (п, х) есть искомая общерекурсивная универсальная функция для класса всех одноместных примитивно рекурсивных функций.
Следствие 1. Класс общерекурсивных функций шире класса примитивно рекурсивных функций: существуют общерекурсивные функции, не являющиеся примитивно рекурсивными.
В качестве примера можно взять двуместную функцию D (п, х). Она общерекурсивна и согласно теореме 1 примитивно рекурсивной быть не может. Из доказательства теоремы 1 видно, что общерекурсивная одноместная функция D (х, х) также не является примитивно рекурсивной.
Следствие 2. Для каждого п — 1, 2, . . . класс всех п-местных примитивно рекурсивных функций имеет общерекурсивную универсальную функцию.
Для п = 1 искомой универсальной функцией является D (п, ж). Поэтому пусть п 2. Рассмотрим функцию
Dn+1 (ж0, Ху, . . ., хп) = D (х0, с (ху, . . ., хп)),
где с fo, . . ., хп) — канторовский номер (п. 3.3) п-ки чисел <Ху, . . ., хпу. Для любого фиксированного х0 функция D^1 является примитивно рекурсивной функцией от Ху, . . ., хп. С другой стороны, пусть g (Ху, . . ., хп) — какая-нибудь м-местная примитивно рекурсивная функция. Тогда примитивно рекурсивной будет и одноместная функция
f(x) = g (сп1 (х), . . .,спп (ж)),
где cnt (х) есть i-й член n-ки, имеющей канторовский номер х (п. 3.3). Из универсальности функции D вытекает, что для подходящего х0 для всех х будем иметь
/ (х) = D (х0, х).
Подставляя сюда вместо х чпсло с (ху, . . ., хп) и замечая, что
("И., •  -I ^7i))	' Я'Ь
§ 5. ОБЩЕРЕКУРСИВНЫЕ ФУНКЦИИ
105
получим
g (х^ . . ., хп) — D (xq, с (хъ . .	жп)).
Следовательно, Dn+1 (х0, хг, . . хп) — искомая общерекурсивная функция, универсальная для семейства всех примитивно рекурсивных «-местных функций.
Построив общерекурсивные функции, не являющиеся примитивно рекурсивными, естественно спросить себя, а существуют ли рекурсивные множества, не являющиеся примитивно рекурсивными (п. 4.1)? Ответ утвердителен. Чтобы найти такое множество, достаточно найти общерекурсивную функцию, принимающую лишь значения О и 1 и не совпадающую ни с одной примитивно рекурсивной функцией. Но такой функцией заведомо является функция
D (ж) — sg D (х, х).
В самом деле, функция!) (х) общерекурсивна и принимает лишь значения 0 и 1. Если бы D (х) была примитивно рекурсивной, то нашлось бы такое число «, что для всех х
sg D (х, х) — D («, п), откуда при х — п получили бы противоречие
sg D (n, п) = D («, п).
Множество, характеристической функцией которого служит функция D (х), и есть искомое рекурсивное, но1 не примитивно рекурсивное множество.
Аналогичный вопрос о существовании нерекурсивных рекурсивно перечислимых множеств будет решен в п. 6.3.
5.	3. Быстрорастущие функции. Мы решили задачу построения общерекурсивной функции, не являющейся прпмптпвно рекур-i ивной, методом универсальных функций. Другим методом для решения той же задачи может служить метод построения функции, растущей быстрее любой функцпп заданного класса. Этот метод очень удобен при исследовании сравнительной силы различного рода рекурсий. Мы сейчас изложим его прпменительпо к уже рассмотренному классу примитивно рекурсивных функций.
Итак, мы хотим найти по возможности простые, по очень быстрорастущие функции. Опыт показывает, что произведение растет быстрее суммы, степень быстрее произведения. Называя сложение, умножение и возведение в степень действиями 0-п, 1-п п 2-п ступени и вводя для них в целях единообразия обозначения
Ро (а, х) = a -j- х, Ру (а, х) = ах, Р.г (а, х) = ах, приходим к знакомой всем пдее о продолженпп этой последовательности путем введения действий высших ступеней. Прп этом действие
106 гл. III. ОБЩЕ- И ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИИ
высшей ступени должно возникать из действия предыдущей ступени так же, как умножение возникает из сложения, возведение в степень из умножения. Функции Ро, Ру, Рг связаны следующими соотношениями:
Pj (а, х + 1) = Ро (а, Ру (а, .?)), Рх (а, 1) = а,
(1)
Р2 (а, х + 1) = Ру (а, Р? (а, .?)), Ръ (а, 1) = а.
Продолжим эту цепочку, полагая по определению для п — 2, 3, . . .
Pn+1 (а, 1) = а,	(2)
^п+1 (а, х 4- 1) = Рп (а, Рп+1 (а, х)).	(3)
Чтобы функции Рп {а, х) были определены всюду, положим Рп+1 (а, 0) = 1 (п = 1, 2,. . .)
и соотношения (2), (3) будем считать определениями функций Рп (а, х) для п = 2, 3,. . . Ясно, что равенства (1) вытекают из соотношений (2), (3) и соотношения Рх (а, 0) = 0. В силу (2), (3), например, имеем
Р3 (а, 0) = 1, Р3 (а, 1) = а, Р3 (а, 2) = аа, Р3 (а,3) = аа“•
Вводим новые функции
Б (га, х) = Рп (2, х), А (.т) = В (х, х).
Функции В (п, х) часто называют функциями Аккермана, а функцию А (х) — диагональной функцией Аккермана. Покажем, что функция А (.т) общерекурсивна.
Для функции В (я, х) из соотношении (2), (3) вытекают следующие тождества:
В (n + 1, х + 1) = В (и, В (п. + 1, х)),	(4)
В (п -|- 1, 0) = sg п,	(5)
В (0, х) = 2 + X.	(6)
Сравнивая эти тождества со схемой рекурсии 2-й ступени, видим, что функция В (га, х) возникает пз примитивно рекурсивных функций при помощи рекурсии 2-й ступени. Следовательно, функция В (га, х), а вместе с нею и функция А (х) общерекурспвны.
Наша цель теперь состоит в доказательстве следующего предложения:
Теорема 1 (Аккерман [1]). Для каждой одноместной примитивно рекурсивной функции j (х) существует такое число а, что
/ (т) <( Л (х) (х = а, а + 1, . . .),
и, следовательно, функция А (х) не примитивно рекурсивна.
Прежде чем переходить к доказательству этой теоремы, выведем несколько свойств функции В (га, х).
а)	В (л, х) 2х (п 2; х = 1, 2,. . .).
Так как В (2, х) = 2х, то для га. = 2 это соотношение верно. Далее применяем индукцию по п. Пусть для некоторого га > 2
§ 5. общерекурсивиые функции
107
соотношение а) истинно при всех значениях а: > 1. Согласно (2) В (п. 4- 1, 1) = Рп+1 (2, 1) = 2 > 24
Пусть теперь для какого-то а; > 1 имеем В (га 4~ 1, а:) > 2х. Тогда В (п + 1, х + 1) = В (п, В (га 4- 1, а:))-> 2B<n+1-	> 22Х > 2Х+!
и, следовательно, соотношение а) доказано.
б)	В (га, х + 1) > В (га, х} (га, х = 1, 2, . . .).
Так как В .(1, х) = 2х, то для га = 1 это неравенство истинно. Пусть б) истинно для некоторого га > 1. В силу (4) и а)
5 (га + 1, х + 1) = В (п, В (п 4- 1, а:)) > 2В<п+1’ж)>В (п 4- 1,аг), что и требовалось.
в)	В (га 4“ 1, а:) О В (га, х 4- 1) (га О 1, а: О 2). Действительно, в силу (4), а), б)
В (га 4- 1, х 4- 1) = В (га, В (га 4- 1, а:)) > В (га, 2х) > В (га, х 4- 2). Произвольную одноместную функцию f (а:) условимся называть В-маокорируемой, если существует такое га, что
/ (а:) < В (га, х) (х — 2, 3,. . .).
Лемма. Все одноместные примитивно рекурсивные функции В-мажорируемы.
Доказательство этой леммы удобно разбить на ряд отдельных утверждений.
1)	Функции S (х) = х 4- 1 и q (х) = х — [(/х]2 В-мажорируе-W-, так как для х > 2
q (а:) < s (а:) < 2х = В (2, х).
2)	Сумма В-мажорируемых функций В-мажорируема. Пусть произвольные функции / (аг), g (а:) для а: О 2 удовлетворяют соотношениям
/ (а;) < В (raj, х), g (х) < В (п?, х).
Тогда, полагая п = гах 4~ га2, имеем
/ (г) < В (п, х), g (а:) < В (га, а:).	(7)
Отсюда согласно а), б), в) получаем
/ (*) 4- g (х) < 2В (га, х) < 2В<'1+1’	< В (п, В (п + 1, х)) =
= В (п 4- 1, х 4- 1)< В (п 4- 2, х), что п требовалось.
3)	Суперпозиция В-мажорируемых функций В-мажорируема. Действительно, пз (7) последовательно получаем
f (g (*)) < В (п, g (а:)) < В (га, В (га 4- 1, х)) =
= В (га 4~ 1, х -|- 1) В (га 4- 2, х).
108 ГЛ. Ш. ОБЩЕ- И ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИИ
4)	Итерация В-мажорируелюй функции В-мажорируема. Пусть для х 2 имеем / (z) < В (ге, х). Положим
т = п -f- / (0) 4- / (1) + f (f (0)).
Итерация g (z) функции / (z) определяется равенствами
g (0) = 0, g (х + 1) = / (g (х)).
Покажем, что
g (х) < В (т, х) (х 2).	(8)
Для х = 2 имеем
g (2) = / (/ (0)) < 2'<'«>»+1 < В (п, f (f, 0)) + 1) < В (т, 2).
Далее, по индукции предположим, что для некоторого z > 2 неравенство (8) справедливо. Рассмотрим g (х + 1). Возможны два случая: a) g (х) > 2 и Р) g (z) = 0, 1. В случае а) имеем
g (z + 1) = / (g (г)) < В (г, g (z)) < В (т — 1, В (m, z)) =
= В (т, х 1). В случае Р) снова имеем
g (* + 1) = / (g (*)) < / (0) + / (1) < 2т~п <
В (п, т — п -|- х Ц- 1) В (т, х -|- 1).
Таким образом, утверждение 4) доказано.
Теперь для вывода леммы остается лишь сослаться на теорему Р. Робинсона из п. 3.5. Согласно этой теореме все примитивно рекурсивные функции получаются из функций s (z) и q (х) сложениями, суперпозициямп и итерациями. Но согласно!) функции s, q В-мажорируемы. Согласно 2) — 4) операции сложения, суперпозиции п итерации, будучи применены к В-мажорируемым функциям, дают снова В-мажорируемые функции. Поэтому все одноместные примитивно рекурсивные функции В-мажорнруемы.
Докажем, наконец, теорему 1. Пусть / (z) — некоторая примитивно рекурсивная функция. Согласно лемме для подходящего п при всех z > 2 будем иметь f (z) < В (п, х). Но тогда
А (п х) = В (п z, п + z) В (ге, п + z) > f (п -|- х) (z > 2),
что и требовалось.
. 5.4. Обращение функций. Алгебра Робинсон. Согласно основному определению (п. 2.4) всюду определенная одноместная функция / (z) называется общерекурспвной, если ее можно получить пз базисных функции s (z) = z 1, о, I-1 с помощью конечного числа операций подстановок, примитивных рекурсии п ц-операций. Таким образом, для решения вопроса о рекурсивности одноместной функции f (z) мы должны строить / (z) из многоместных функций. Естественно возникает вопрос, а нельзя ли указать такие операции и такие одноместные исходные функции, чтобы все одноместные общерекурсивные функции п только их можно было получить из исходных, оставаясь все время в классе одноместных функций? Аналогичный вопрос уже ставился п был решен в и, 3,5
§ 5. ОБЩЕРЕКУРСИВНЫЕ ФУНКЦИИ	109
применительно к классу одноместных примитивно рекурсивных функций. Теперь мы рассмотрим указанный вопрос для общерекурсивных функций.
Пусть f (х) — произвольная одноместная частичная функция. Согласно п. 2.3 функция g (х), определенная формулой
g А) = Ни (f (//) = *), называется обратной для f (а:) и обозначается символически через /-1. Оператор, ставящий в соответствие функции / функцию /-1, называется оператором обращения. Легко видеть, что обратная функция /-1 (х) будет всюду определенной тогда и только тогда, когда заданная функция / (ж) всюду определена и совокупность ее значений совпадает со всем натуральным рядом.
Основной пашей целью сейчас является доказательство следующего результата.
Теорема 1 (Ю. Робинсон [1]). Каждая общерекурсивная одноместная функция может быть получена из функций $ (х) = = х 1 и q (х) — х — [jAd2 конечным числом операций сложения, суперпозиции и обращения одноместных функций. При этом операция обращения выполняется только тогда, когдр, результатом ее является всюду определенная функция.
Доказательство этой теоремы в целом аналогично доказательству соответствующей теоремы Р. Робинсона о примитивно рекурсивных функциях из п. 3.5. Так же, как и в п. 3.5, одноместную функцию / (а:) назовем допустимой, если она может быть получена из функций а, д'так, как указало в теореме 1. Многоместную функцию F (хх, . . ., хп) мы будем называть допустимой, если для любых одноместных допустимых функций fi (х), . . ., jn (а:) будет допустимой одноместная функция F (/, (а:), . . ., fn (а:)).
Теорема 1 будет доказана, если нам удастся доказать, что все общерекурсивныс функции (как одноместные, так и многоместные) допустимы. Доказательство будет разбито на ряд шагов, в результате которых затем будет выведено окончательное утверждение.
А) Суперпозиция (многоместных) допустимых функций есть допустимая функция. Доказательство очевидно.
Б) Функция О'-1 (х) всюду определена и
(Г1 (2.т) = .г2 + 2а:, q~r (2х + 1) = х"- + 4а: + 2.	(1)
В самом деле, для любого х
х2 < х~ -L 2х < (а: + I)2 < х2 + 4.Т + 2 < (а: + 2)2 н. значит,
q (а2 4- 2х) = 2а:, q (х2 -f- 4.? 4- 2) = 2х -f- 1.
Таким образом, числа
У = У о =	+ 2а:, z = z0 = .г3 4- 4а: 4- 2
являются решениями уравнений
q (У) = 2а:, д'(z) = 2а: 4- 1.	(2)
Надо показать, что у0, z0 — наименьшие решения. Пусть у, z — какие-нибудь решения уравнений (2). Это значит, что
у = т1 4- 2х <( (т I)2, z = п2 + 2х -}- 1 (п 4- I)2.
ПО ГЛ. III. ОБЩЕ- И ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИИ
Отсюда следует, что х т, в г-|- 1 и потому у = т2 2х г2 2г = уа, z = п2 + 2х + 1 > (х + I)2 + 2х + 1 = z0.
Таким образом, формулы (1) истинны.
В) Функции х, о, х у, I? (xj, . . ,, хп) = xi допустимы. Это непосредственно вытекает из очевидных формул
9 ((Г1 W) = х, 9 (9'1 (х + х) + 1) = о и определения допустимости функций.
Г) Функции вида ах by с, где а, Ь, с — произвольные фиксированные натуральные числа, допустимы.
В силу А), В) функции I* (.г, у) = х, (я, у) = у, з (0) = 1 допустимы. Функция ах -{- by -f- с возникает из упомянутых функций повторными сложениями и потому сама допустима.
Д) Функции х2, sg х, sg х, [г/2], ху, х — у, []/~ х] допустимы.
В п. 3.5 была введена функция
х ч- у = q((x 4- у'2 + 5жН-Зу + 4) = J	х^у,
[Зг-|-у-|-3, г<у.
В силу Б)
{х + у)2 + 5х Зу + 4 = у-1 (2х + 2у) -)- З.г + у + 4 и потому на основании Г) функция х -г- у допустима.
Теперь из очевидных формул
х2 = о-1 (2г) -ч- 2х, sg х = q (г2	1), sg х = 1 sg х
заключаем, что функции х2, sg х, sg х допустимы.
Сложнее вывести допустимость [х/2]. Пусть
/ (г) = (о (о’1 (х) + 2)).	(4)
Для х = 2t согласно Б) имеем
Ш = ^g (o' (г2 + 2t + 2)) - 0.
Если же г = 2/ -J- 1, то
Ш = sg (o' (г2 + 4г + 4)) = 1.
Иначе говоря, f (х) есть характеристическая функция для свойства быть четным числом и формула (4) лишь показывает, что эта функция допустима. Рассмотрим уравнение
/ (у) -г 2? (у) = х.	(5)
Полагая у0 = (г -f- [х/2])2 + [х/2] и принимая во внимание соотношение / (z2) = / (z), получим o' (z/о) = [х/2], f (у0) = у (г) и, значит, 20" (Уо) + / (Уо) = 2 [х/2] + / (г) = х.
Это показывает, что уравнение (5) имеет решение для каждого г. Поэтому функции [2q + У)'1 всюду определена, и, следовательно,
§ 5. ОБЩЕРЕКУРСИВНЫЕ ФУНКЦИИ
111
допустима. Из (5) вытекает, что
9(у) = у (® -S-/(У))	(6)
для любого у, удовлетворяющего соотношению (5). В частности, (б) должно быть верным и для у — (2q 4 /;-1 (х), то есть
q ((2? + /Г1 (z)) = ~ (х н- / (х)) = [х/2].
Следовательно, функция [х/2] допустима.
Из очевидного соотношения
((х 4 у)2 4- х2) у2
2
ху =
заключаем, что допустима и функция ху.
Из формулы (3) вытекает, что
((х -4- у) 4 у) х = J	х'^у
Ц	12х + 2р + 3, х<у
Поэтому, вводя функцию
У (х, у) = sg ((х 4- у) 4- у -=- х) = | будем иметь
х -1- У = v (х, у) (х у).
Следовательно, функция х — у допустима.
Наконец, рассмотрим выражение
“’(«)=q(~x^ *)]+&%х-
(7)
Для х = 0 имеем ю (0) = 0. Если же х = t2, t > 0, то
^а) = Гу<7((/-V + 2/-2)
4 1 = _ (2/— 2) -|- 1 _ t.
Следовательно, для любого t имеем w (t2) = t п потому
w (х — q (х)) = w ([/х]2) = [/х]	(8)
для каждого х. Формулы (7), (8) показывают, что функция’^/х] Д шустпма.
Е) Канторовские функции (п. 3.3) с (х, у), I (х), г (х) допустимы.
Эти функции получаются из функций 1, х, у с помощью операций +	[|Л], [/2], которые согласно доказанному не выводят
за пределы класса допустимых функций.
Ж) Если функция h (х, у) допустима и уравнение h (х, у) = 0 разрешимо для каждого х, то функция
f (*) = В» (x, у) = 0)	(9)
также допустима.
Положим z — с (х, у). Тогда х = I (z), y = r (z). Так как кан-торовский помер z = с (х, у) пары <х, у> при фпкспрованном х
112 ГЛ. III. ОБЩЕ- И ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИЙ
является строго растущей функцией аргумента у, то справедливо 1
равенство	,1
/ (x) = Ру (h (-т- !/) = 0) =	1
= г (р2 (I (z) = х &h (I (z), г (z)) = 0)). (10) 1
Введем функцию g определением
g(z) = Z (z).^(Z (z), г (z)).
(И)
Для х > 0 из равенства g (z) — х следует х = I (z) п h (х, г (z)) = 0. Отсюда
rg г (г) =
0, если
/(а:), если
х = 0, х )> 0.
(12)
Таким образом, функция rg~x совпадает с / всюду, кроме, возможно, х = 0.
Из (12) получаем представление
/ («) = f (O)-sg (х) + rg-1 (г).	(13)
Так как функции h, I, г, sg, +, • допустимы, a f (0) — фиксированное число, то в силу (11) функции g и g-1 допустимы, а ввиду (13) допустима и функция /.
3)	Функция, [х/у] и функция Гёделя Г (х, у) (п. 3.3) допустимы.
Это непосредственно вытекает из предыдущих результатов в силу формул из пп. 3.2 и 3.3, посредством которых определяются [аг/у] и Г (х, у).
Доказательство теоремы Робинсон на этом можно считать законченным. Действительно, в п. 3.4 было доказано, что каждую обще-рекурсивную функцию можно получить из простейших функций о, s, Г^Л и функций 4-, —, Г, с, I, г конечным числом операций подстановки и специальной минимизации вида (9). Но утверждения Д), Е), 3) показывают, что все упомянутые функции допустимы, а утверждения А), Ж) показывают, что подстановки п специальные минимизации, прпмепенпые к допустимым функциям, дают допустимые функции. Таким образом, все общерекурспвные функции допустимы.
Аналогпчно теореме Р. Робинсона (п. 3.5) теорема Робинсон также допускает простое алгебраическое истолкование. Совокупность всех всюду определенных и совокупность всех общере-курспвных одноместных функций, рассматриваемых вместе с определенными па них операциями сложения +, композпцпп * и обращения -1, образуют две алгебры: алгебру Робинсон
%= <$; +, *, -Ъ
всех одноместных функций п алгебру Робинсон
SRg.r = <8g.r’ +’ *’ -1>
всех одноместных общерекурспвных функций. Операция -1, примененная к всюду определенной функции, дает, вообще говоря, частичную функцию, не входящую в {у}. Поэтому алгебры SR; п
г частичные. Теорема Робинсон утверждает, что элементы s, q в алгебре SR2 порождают подалгебру7 9?g г.
§ 5. ОБЩЕРЕКУРСИБНЫЕ ФУНКЦИИ	ИЗ
Дополнения, примеры и задачи
1.	Пусть D (га, .т) — универсальная функция, построенная в п 5.2. Если / (аг) — D (га, х), то п называется D-номером f (х). Показать, что каждая примитивно рекурсивная функция имеет бесконечно много B-номеров.
2.	Показать, что существуют примитивно рекурсивные функции / (т, п), g (т, п), h (га), удовлетворяющие тождествам
D (т, х) Д- D (п, х) = D {f (т, га), .т),
D {т, D {п, х)) = D (g (гаг, га), х),
D'r (га, х) = D (h (га), х),
т. о. позволяющие по В-номерам т, п каких-то примитивно рекурсивных одноместных функций находить номер их суммы, композиции, итерирования.
3.	Функции, которые можно получить из простейших функций о, s, операциями подстановки, примитивной рекурсии и рекурсии 2-й ступени, назовем функциями 2-й ступени. Пользуясь методом быстрорастущих функций, показать, что существуют общерекур-сшшые функции, не являющиеся функциями 2-й ступени (см. П е-т е р [1]).
4.	Пусть Зр г — совокупность всех одноместных частично рекурсивных функций. Операция обращения -1 будет всюду определенной на gp Г. Показать, что элементы s, q являются порождающими алгебры <§р г; -}-, *, -1> (см. п. 5.4).
Показать, что алгебра <5*г; *, -1> порождается двумя подходящими элементами и пе порождается никаким одним элементом. Функции с (rl (х), 1г (х)), с (х, 1), с {I (х) -|- 1г (х), х) заведомо порождают указанную алгебру (10. Р о б и п с о и [1]).
6.	Пусть (52 — совокупность всех двуместных частичных функций, — совокупность всех двуместных частичных функций, частично рекурсивных относительно какой-то фиксированной системы @ частичных функций. Показать, что порождается с помощью операций-}-, *, Zlf системой ©п функциями 1\, s (Л?), q (l|) (ЗУ-операция минимизации, определенная вп. 2.3, операция * для двуместных функций определена в задаче 7 к § 3).
7.	Верно' лп следующее утверждение: в алгебре <g-1, +, *, -1>, 1 де J*-1 — совокупность всех одноместных частичных функции, произвольная спстема © С д-1, содержащая функции s, q, порождает подалгебру, состоящую пз всех одноместных частичных функций. частично рекурсивных относительно ©*)?
8.	Показать, что совокупность всех одноместных функций 2-й ступени (см. выше задачу 3) обладает общерекурсивной универсальной функцией (см. Петер [1]).
*) Ответ отрицательный; см. Поляков Е. А. Рекурсивные Функции.— Иваново, 1978, с. 61—71.
114 ГЛ. III. ОБЩЕ- И ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИИ
§ 6.	Частично рекурсивные функции
В этом параграфе сначала показывается, что каждая частично рекурсивная функция допускает параметрическое представление при помощи примитивно рекурсивных функций, а затем с помощью построенной в п. 5.2 рекурсивной универсальной функции D (н, х) строится частично рекурсивная функция, универсальная для всех одноместных частично рекурсивных функций. Это центральный результат теории частично рекурсивных функций. С помощью частично рекурсивной универсальной функции строится пример нерекурсивного рекурсивно перечислимого множества. В конце параграфа рассматриваются некоторые специальные формы, к которым могут быть приведены частично рекурсивные функции.
6.1.	Параметризация частично рекурсивных функций. Согласно п. 4.4 графиком n-местной частичной функции / (хг, . . ., хп) называется совокупность последовательностей <xt, . . ., хп, уУ натуральных чисел, удовлетворяющих соотношению
/ Си, • • , хп) = У-
В частности, график нигде не определенной функции есть пустое множество.
Теорема 1(о графике частично рекурсивной функции). Для того чтобы частичная функция f была частично рекурсивной, необходимо и достаточно, чтобы график f был рекурсивно перечислим.
Для нигде не определенной функции / утверждение этой теоремы очевидно. Для функций с непустым графиком утверждение теоремы 1, как легко видеть, означает, что функция / (ajlt . . ., х-п) тогда и только тогда частично рекурсивна, когда она представима в параметрической форме
Xi = a-t (0 (i = 1, . . ., н), у = р (^, где at (t), Р (t) — подходящие примитивно рекурсивные функции. По этой причине теорему 1 иногда называют теоремой о параметрическом представленпп частично рекурсивных функций.
Достаточность условий теоремы 1 устанавливается так же, как в п. 4.4. Доказательство необходимости удобно разбпть на ряд самостоятельных утверждений. А именно, докажем последовательно, что операции подстановки,
§ 6. ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИИ	115
примитивной рекурсии и минимизации, примененные к функциям, имеющим рекурсивно перечислимый график, дают функции с рекурсивно перечислимым графиком. Так как все частично рекурсивные функции получаются посредством указанных операций из простейших функций о, s, 1т, имеющих согласно п. 4.4 примитивно рекурсивный график, то тем самым будет доказана и теорема 1. Болеетого, упомянутые утверждения относительно операций примитивной рекурсии и минимизации нам нет необходимости доказывать в общем виде. В силу результатов п. 3.4 достаточно будет рассматривать примитивные рекурсии и минимизации тех частных видов, которые указаны в и. 3.4.
А) Суперпозиция функций, имеющих рекурсивно перечислимые графики, есть функция с рекурсивно перечислимым графиком.
Оставляя в стороне тривиальный случай, когда какая-нибудь из заданных функций нигде не определена, предположим, что заданные функции g, gr, . . ., gm имеют графики
G (t), . . ., ССт+1 (0>}> б?г = {<₽г1 ю,.... ₽in+1 m (i = 1, . . ., т), где аг, — подходящие примитивно рекурсивные функции. Нам надо изучить график F функции
/ (Ж!, . . ., хп) = g fa (х1г . . ., хп), . . ., gm (хг, . . ., а:„)).
Согласно определению операции суперпозиции утверждение (x-l, . . ., хп, у} £ F можно представить в виде
(Зг/i... ym)«a:i,.... хп, yi>£Gi&...
... &	. . . , Хп, Ут) 6 &т & <№> • • • ! Ут’ УУ G®)»	(1)
где (3j/i • • • ут) обозначает утверждение «существуют такие уг, . . ., ут, что. . .», а символ & обозначает слово и. В свою очередь, утверждение (1) с помощью графиков функций g, glt . . ., gm можно переписать в виде (3W1 •  • im)(Pn (Н) = Xi & ... & pln (ti) = xn& ...
• • • & Pmi (im) = X1&. ..& pmn (tm) = xn & & ai (t0) = pin .x (ti) & . . . & am (t0) = pmn+1 (tm) &	(t0)='y).
116 гл. III. ОБЩЕ- И ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИИ
Поэтому, вводя функцию
/г (я?1, . • • , хп, у, to,. . . , im) —
— 2l I Pij (M — Xj I 4" 3 I ai (M Pi n+1 (^i) I + | am+l (to) У \, i, j	i
получим равносильное (1) утверждение
(3*0. • • tm) (h (xr, . . ., xn, y, t0, . . tm) = 0).
Это означает, что график функции / состоит из всех тех. последовательностей <(хг, . . ., хп, у>, для которых уравнение
h (хг, . . хп, у, t0, . . .,tm) = 0
разрешимо относительно t0, . . ., tm. Так как функция h примитивно рекурсивна, то на основании теоремы 1 из п. 4.4 заключаем, что график функции / рекурсивно перечислим.
Б) Если функция / (х, у) связана соотношениями
f (х, 0) = х, f(x,y + l)=h (f (х, у))	(2)
с функцией h, имеющей рекурсивно перечислимый график, то f (х, у) также имеет рекурсивно перечислимый график.
Оставляя снова в стороне тривиальный случай, когда график функции h пуст, предположим, что график h состоит из пар
<а (t), р (£)> (t = 0, 1, . . .),
где а, р — подходящие примитивно рекурсивные функции. График F функции f состоит из троек (х, у, z), для которых f (х, у) = z. Разобьем его на две части: совокупность Рг троек (х, у, z), для которых у = 0, и совокупность Р2 троек (х, у, z), для которых у > 0. Первое из соотношений (2) показывает, что Fr состоит из всех троек вида (х, 0, х) и потому F\ — рекурсивно перечпслпмая совокупность. Остается показать, что совокупность Ег также рекурсивно перечислима.
Соотношение (2) показывает, что условие <х, у, z} G £ F2 равносильно существованию чисел а1? . . ., а,,^ таких, что
ar = h (х), a2=h (щ), . . ., z = h (ау^).
Равенство ai+1 = h (а;) эквивалентно существованию числа ii+1, для которого
® (ti+1) Щг Р (ti+1) =
§ 6. ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИИ	117
Поэтому условие <ж, у, z> g F2 равносильно существованию чисел t2, t2, . . ., ty, для которых
а (Н) = ^, а (£2) = Р (П)> • .	® (tv) = р (tyi.1), Р (^) = zi
т. е. для которых
У-1
|<х(Х1) — ж| + 2 I(W-Р(П)| +1Р(ty)-zI=о. 1=1
(3)
В и. 3.3 была построена примитивно рекурсивная функция Гёделя Г (и, х) и было' показано, что для любых П, . . ty система уравнений
Г (и, i) = ti (z = 1, . . ., у)
имеет решения относительно и. Подставляя в (3) вместо выражение Г(м, г), получим уравнение
| а (Г (и, 1)) - х | + J|' | а (Г (и, i + 1)) -Р (Г (и, z)) | +
+ |р(Г(и, у))-z| = 0,	.(4)
имеющее решение и тогда и только тогда, когда (3) имеет решение (tv . . ., ty). Согласно п. 3.1 левая часть уравнения (4) есть примитивно рекурсивная функция от х, у, z, и. Обозначая ее через g (х, у, z, и), приходим к заключению, что совокупность F2 состоит из всех тех троек (х, у, z>, для которых уравнение
g (х, у, z, и) = 0
имеет решение и. Так как функция g примитивно рекурсивна, то множество F.2 рекурсивно перечислимо, что и требовалось.
В) Если частичная функция g (х, у) имеет рекурсивно перечислимый график, то функция f (х), получающаяся из g (х, у) операцией минимизации:
f (*) = (g (х, у) = 0),	(5)
также имеет рекурсивно перечислимый график.
Как и выше, мы можем предполагать, что график (? функции g не пуст и, следовательно, пмеет вид
G = {<« (#), р (t), v (ф} (t = 0, 1, . . .),
118 ГЛ. III. ОБЩЕ- И ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИИ	1
где а, р, у — примитивно рекурсивные функции. Соотношение (5) равносильно утверждению о существовании чи-' сел а0, а1} . . ., av, удовлетворяющих требованиям
g (х, i) = at (i = 0, 1, . . ., у),
dj #= 0	(/ = 0, 1, . . у — 1), ау = О,
т. е. равносильно утверждению о существовании чисел t0, . . ., ty, для которых
a (0) = х, р (С-) = /, Y (tj) ¥=• 0 (/ = 0, 1, у — 1),
а = х, р (ty). = у, у (ty) = 0.	(6) -
Условия (6) равносильны соотношению и	У—1
S (|“(М- х\ + IPPi) — И) + «/Sg п Y(*i)+?(U = 0.
i=0	г=0
(7)
Полагая Д — Г (и, I), видим, что
<х, у) е F ^7 (3w) (h(х, у, и) = 0),	(8)
где через /г (х, у, и) обозначено выражение, получающееся из левой части соотношения (7) подстановкой Г (и, i) вместо Поскольку функция h примитивно рекурсивна, из (8) следует, что график F функции/ рекурсивно перечислим.
Теорема 1 доказана. Отметим несколько ее следствий.
Следствие 1. Область определения каждой частично рекурсивной функции есть множество, рекурсивно перечислимое.
Действительно, если график частично рекурсивной функции Д не пуст, то согласно теореме 1 его можно представить в виде
{<Щ (t).....U^j. (/)>},
где u^t), . . ., zz;.+1 (t) — примитивно рекурсивные функции. Но в таком случае областью определения функции / будет совокупность s-ок вида <zzT (t), . . ., us (ф)У (t = = 0, 1, . . .) и потому эта область будет рекурсивно перечислимой.
Следствпе 2. Совокупность значений, принимаемых частично рекурсивной функцией /, является рекурсивно перечислимой.
§ 6. ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИИ	119
В самом деле, если эта совокупность не пуста, то график функции можно представить в указанном виде (Ы1 (i), • • us+i (t)y и совокупностью всех значений функции / будет совокупность всех значений функции (i). Так как функция us+1 примитивно рекурсивна, то совокупность ее значений есть (п. 4.2) рекурсивно перечислимое множество.
Прежде чем сформулировать еще одно следствие, напомним разницу между характеристической функцией множества и частичной характеристической функцией'. характеристической функцией множества А называется функция, равная 0 в точках Л. и равная 1 вне А; частичной характеристической функцией А называется функция, равная 0 на Л и не определенная вне Л.
Следствие 3. Множество А п-ок чисел тогда и только тогда рекурсивно перечислимо, когда его частичная характеристическая функция частично рекурсивна.
Пусть А — непустое рекурсивно перечислимое множество. Оно состоит из п-ок вида (£), . . ., ип (£)>, где ut (i) — примитивно рекурсивные функции. График частичной характеристической функции <р (х-^ . . ., хп) множества А состоит из всех последовательностей вида <ux (£), . . ., ип (i), 0>, t = 0, 1, . . . Поскольку 0 = о (£)— примитивно рекурсивная функция, график ср (ajj, . . ., хп) рекурсивно перечислим, а сама функция ф частично рекурсивна.
Обратное утверждение непосредственно вытекает из следствия 1, так как каждое множество есть область определения своей частичной характеристической функции.
Следствие 4. Пусть F (хг, . . ., хт, уъ . . ., уп) — частично рекурсивная функция от т п переменных. Тогда совокупность А тех т-ок (рц, . . ., хт), для которых уравнение
F (xlt . . хт, У1, . . ., уп) = О
имеет хотя бы одно решение . . ., уп), является рекурсивно перечислимым множеством.
Согласно теореме о параметрпзацпп график функции F, если он не пуст, можно представить в виде совокупности последовательностей
<cq (t), . . ., ат (t), a,n+1 (f), . . ., a„]+n (t), a (£)>
(i = 0, 1, 2, . . .),
120 гл. III. ОБЩЕ- И ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИИ
где аг (£), а (/) — подходящие примитивно рекурсивные функции. Совокупность А СОСТОИТ ИЗ 771-ОК	(t), . . .
. . ., ат (£)>, где t пробегает совокупность решений уравнения a (i) = 0. Согласно п. 4.2 эта совокупность рекурсивно перечислима и потому либо пуста, либо является совокупностью значений подходящей примитивно рекурсивной функции р (и). Отсюда видно, что совокупность А либо пуста, либо состоит из всевозможных m-ок вида
<“i (₽ (и)), . . ., am (р (и))> (и = 0,1,2,.. .).
Так как функции аг (Р (и)) примитивно рекурсивны, то совокупность А рекурсивно перечислима, ;что и требовалось доказать.
Следствие 5. Совокупность последовательностей Сщ, . . ., xs\ удовлетворяющих уравнению
f fo, . . ., xs) = 0,	(9)
левая часть которого / есть частично рекурсивная функция от хг, . . ., xs, является рекурсивно перечислимым множеством.
В самом деле, функция
а (я) = pz (х -{- t = 0)
частично рекурсивна и определена только для х = 0. Следовательно, совокупность решений уравнения (9) совпадает с областью определения частично рекурсивной функции а (/ (хг, . . ., xs)). Согласно следствию 1 область определения этой функции рекурсивно перечислима, что и требовалось.
6.2. Универсальные частично рекурсивные функции. Установленная в предыдущем разделе теорема о параметризации позволяет легко, доказать следующую важную теорему Клини о нормальной форме.
Теорема 1. Каждая частично рекурсивная функция f (хг, . . ., х.) представима в форме
. . ., xs) = I (И/ (F fo, . . ., xs, t) = 0)),	(1)
где I (x) — нумерационная функция из n. 3.3, a F — подходящая (зависящая omf) примитивно рекурсивная функция.
По условию график М функцпп / рекурсивно перечислим и, следовательно (п. 4.4), существует прнмптпвно рекурсивная функция g (ж15 . . ., :щ, у, а), для которой
<ж15 . . ., xs, Уу е М аа (За) (g (xlt . . ., xs, у, а) = 0).
§ 6. ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИИ	121
Полагая с (у, а) = t, видим, что
<П,  •
(90 (g (xlt ...,xs,l (i), г (0) = 0 & у = I (0). (2)
В частности, если для каких-нибудь . ., xs, t
g (xv x,„ I (0, r (i)) = 0,
to <xr, . . ., xs, I (t)y £ ЛГ и, значит, I (t) = / (a^, . . ., xs), то есть
I (Hz (g («1, Xs, I (t), r (0) = 0)) = / fo, . . ., xs).
(3)
Формула (3) доказана нами для тех значений х1г . . . . . xs, для которых левая часть равенства (3) имеет определенное значение. Но из (2) видно, что из неопределенности значения левой части формулы (3) вытекает неопределенность значения f (хг, . . ., xs). Поэтому равенство (3) справедливо для произвольных значений xlt . . xs. Полагая
g (xlr . . ., xs, I (t), r (0) = F (a?!, . . ., xs, i),
получим формулу (1).
Замечание. Из доказательства формулы (1) видно, что в этой формуле вместо функции I (х) можно взять «левую» функцию L (х) из любой тройки функций L (х), R (х), С (х, у), связанных с какой-нибудь нумерацией пар натуральных чисел (см. п. 3.3), лишь бы функции L (х), R (х) были примитивно рекурсивными.
До сих пор мы различали всюду определенные частично рекурсивные функции {рекурсивные функции) и общерекурсивные функции, т. е. функции, которые могут быть получены из простейших функций о, s, операциями подстановки, примитивной рекурсии и операцией минимизации, производимой лишь над такими функциями, для которых результат минимизицип является всюду определенной функцией. Нам было лишь известно, что каждая общерекурсивная функция рекурсивна. Верно и обратное утверждение.
Следствие. Каждая рекурсивная функция / общерекурсивна.
В самом деле, согласно теореме 1 функция f может быть представлена в форме (1), которая показывает, что функция f получается пз простейших функций операциями подстановки, примитивной рекурсии и операцией минимиза
122 ГЛ. III. ОБЩЕ- И ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИИ
ции ц, примененной единственный раз к функции F (ху, . . . . . ., xs, t). Так как функция / по условию всюду определена, то функция
р( (F	xs, t) = 0)
также должна быть всюду определенной, что и требовалось.
Итак, понятия рекурсивной и общерекурсивной функции равносильны.
Рассмотрим теперь вопрос о построении универсальных функций. Пусть $р.г обозначает совокупность всех 5-местных частично рекурсивных функций. Как уже говорилось в п. 5.2, частичная функция U (ж0, х1г . . ., xs) называется универсальной для совокупности ^р.г, если §р.г состоит из функций
U (0, Xi, . . ., х5), U (1, Ху, . . ., xs), . . .
В п. 5.2 была построена общерекурсивная функция Ds+1 (п, Ху, . . ., аД, универсальная для совокупности S'pr.r всех примитивно рекурсивных s-местных функций. Там же было показано, что универсальная функция для класса §рГ.г не может быть примитивно рекурсивной, а универсальная функция для класса всех общерекурсивных s-местных функций не может быть рекурсивной. Однако для совокупности $р.г частично рекурсивных функций положение иное.
Теорема 2. Существует частично рекурсивная функция T!+l (х0, Ху, . . ., xs), универсальная для совокупности всех s-местных частично рекурсивных функций.
А именно, такой функцией заведомо является частичная функция
Р+1 (х0, хъ . . ., xs) = I (Ц( (Z)s+2 (х0, Ху, . . . , хг, t) = 0)),
(4) где О3+2 — упомянутая выше общерекурсивная функция, универсальная для совокупности всех (s -f- 1)-местных примитивно рекурсивных функций. Действительно, из формулы (4) непосредственно видно, что Ts+1 — частично рекурсивная (з 1)-местная функция. С другой стороны, пусть f (ху, . . ., xs) — какая-нибудь s-местная частично рекурсивная функция. Представляем ее в форме Клини (1). В этой форме функция F примитивно рекурсивна п, следовательно, найдется такое число а, что
F (Ху, . . ., хг, t) =	(а, ху, . . ., xs, i)
§ 6. ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИИ	123
для всех значений xlt . . xs, t. Подставляя Os+2 (alt xlt .  ., xs, i) вместо F (xr, . . xs, t) в формулу (1), получаем
/ (xu . . xs) = Ts+1 (а, хъ . . ., xs)
для всех значений xlt . . xs. Следовательно, функция Ts+1 (xQ, xr, . . ., xs) универсальна для совокупности §-р.г.
6.3.	Доопределение функций. Построение нерекурсивного рекурсивно перечислимого множества. Частичная функция g (х^ . . ., xs) называется расширением частичной функции / (xx, . . ., a;s), если в каждой точке, в которой функция / определена, функция g также определена и значение g в этой точке совпадает с значением /, т. е. если график / содержится в графике g. Всюду определенное расширение частичной функции / называется доопределением /. Ясно, что каждая частичная функция имеет доопределение. Дело меняется, если.ищутся непроизвольные доопределения, а рекурсивные.
Теорема 1. Никакая частично рекурсивная функция U (ж0, xi, . . ., xs), универсальная для совокупности всех s-местных частично .рекурсивных функций, не может иметь общерекурсивных доопределений.
Существует одноместная частично рекурсивная функция, принимающая лишь значения 0,1 и не имеющая рекурсивных доопределений.
Введем частичную функцию
V (х) = sgU (х,х, . . ., х).	(1)
Эта функция частично рекурсивна и принимает лишь значения 0 и 1. Допустим, что она имеет рекурсивное доопределение W (х).
Рассматривая вместо W (ж) «-местную функцию
Л (W (яД, х2, . . ., xs) = W (жД
и принимая во внимание универсальность функции U, видим, что для некоторого числа а и всех значений х1} . . .  . ., xs имеет место равенство
Р7 (xj) = U (а, хг, . . х„).
Полагая здесь = . . . = xs = а и сравнивая результат с соотношением (1), получаем противоречивое равенство
W (а) = sg W (а).
124 ГЛ. III. ОБЩЕ- И ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИИ
Таким образом, функция V (ж) не имеет рекурсивных доопределений и второе утверждение теоремы 1 доказано. Если бы частичная функция U (х0, хг, . . xs) имела рекурсивное доопределение Р (ж0, жп . . ., xs), то функция sg Р (х, х, . . ., х) в силу (1) была бы рекурсивным доопределением V (ж), которое, как показано, не существует. Тем самым доказано и первое утверждение теоремы 1.
Теорема 2. Существуют нерекурсивные рекурсивно перечислимые множества.
Рассмотрим универсальную частично рекурсивную функцию Т2 (ж0, ж^, построенную в п. 6.2. Вводим функцию
Е (ж) = sg Т2 (х, х).
Эта функция частично рекурсивна, принимает лишь значения 0, 1 и не имеет рекурсивных доопределений. Обозначим через JT0 совокупность решений уравнения Е (ж) = — 0. Согласно следствию 5 теоремы о графике (п. 6.1) множество Мо рекурсивно перечислимо. Докажем, что оно не рекурсивно. Пусть, напротив, Ms рекурсивно. Тогда характеристическая функция % (ж) множества М0 была бы рекурсивной. Но % (ж) = 0 там, где Е (ж) = 0, и % (ж) = = 1 там, где Е (х) = 1, т. е. % (х) — рекурсивное доопределение функции Е (ж), которая таких доопределений не имеет. Полученное противоречие доказывает теорему.
Следствие. Существует примитивно рекурсивная одноместная функция, совокупность значений которой нерекурсивна.
Действительно, построенное выше множество Мо рекурсивно перечислимо, но не рекурсивно. Поэтому оно непусто, а каждое непустое рекурсивно перечислимое множество есть совокупность значений подходящей примитивно рекурсивной функции g (ж).
Примитивно рекурсивные функции алгоритмически вычислимы. Следовательно, существует алгоритм, позволяющий вычислить значенпе g (ж) при'любом ж. В то же время нерекурсивность совокупности Мй всех значений функции g (ж) означает, что не существует алгоритм, позволяющий для произвольного числа а узнать, входпт а в Ма или нет, т. е. разрешимо уравнение g (ж) = а или нет.
Итак, совокупность значений примитивно рекурсивной функции может не быть рекурсивным множеством. Поэтому известный интерес представляет тот факт, что совокупность
§ 6. ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИИ	125
значений монотонно растущей общерекурсивной функции является рекурсивным множеством (п. 4.1, теорема 3).
Теорема 3. Каждое бесконечное рекурсивно перечислимое множество А есть совокупность значений подходящей общерекурсивной функции g (/), принимающей для различных значений t различные значения.
Иначе говоря, для каждого бесконечного рекурсивно перечислимого множества А существует общерекурсивная функция g (i), отображающая взаимно однозначно натуральный ряд на А.
По условию А есть совокупность значений некоторой примитивно рекурсивной функции и (t). Искомую функцию g (i) строим следующим образом. Полагая по определению g (0) = и (0). Пусть значения g (0), g (1), . . . . . ., g (ri) уже определены. Тогда берем наименьшее t такое, что и (t) $ {g (0), g (1), . . ., g (n)}, и полагаем g (n -J- 1) = и (i). Существование такого значения t вы-, текает из бесконечности множества А. Поэтому функция g (п) всюду определена. Множество всех ее значений, очевидно, совпадает с множеством значений функции и. Для формального доказательства рекурсивности g выразим ее через и с помощью основных операций. Положим
п
р(п) = р.;(П|и(£) — u(i)|^0).	(2)
Ч=о
Число v (п) есть наименьшее значение t, для которого и (t) $ {и (0), и (1), . . ., и (п)}.
Сравнивая это с определением функции g (ж), видим, что g (1) = и (р (0)), g (2) = и (V (V (0))), . . .
Поэтому, вводя еще функцию w (х) посредством рекурсии w (0) = 0, w (п 1) = v (ш (га)),	(3)
окончательно будем иметь g (х) = и (ю (х)) и, значит, в силу (2), (3) функция g (ж) общерекурспвна.
В заключение докажем еще одну простую теорему о существованпп частично рекурсивных продолжений некоторых функций.
Теорема 4. Если функции fa (х1, . . ., хф) и 8с (жг, . . ., xs) (г = 1, . . ., п) частично рекурсивны и час
126 ГЛ. Ш. ОБЩЕ- И ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИИ
тичная функция h (ж15 . . xs) удовлетворяет условиям
' =/1(^1, .., xs), если g1(x1, . . ., жД = 0, = /2 (xi, .. ., xs), если g2 (яц, . . xs) = О, h(xi, ..xs)< .....................................
= fa(x1,. . ., xs), если. gn (x^ .. ., xs) = 0, не определено для остальных Xi,. . xs,
mo h — также частично рекурсивная функция.
В силу теоремы о графике достаточно показать, что график Н функции h рекурсивно перечислим. Обозначим через At совокупность тех последовательностей (рц, . . . . . ., xs, у), которые удовлетворяют уравнениям
I ft fo, . . xs) — у | ф- gt (xlt . . xs) = О,
i = 1, . . ,,п. (4)
Ясно, что Н есть объединение совокупностей Alt . . ., Ап. Левая часть уравнения (4) есть частично рекурсивная функция от переменных хг, . . ., xs, у. Поэтому в силу следствия 5 теоремы 1 (и. 6.1) множество рекурсивно перечислимо. Из рекурсивной перечислимости множеств Аг, . . ., Ап вытекает рекурсивная перечислимость их объединения IL, что и требовалось.
Следствие 1. Если область определения М частично рекурсивной функции / (х±, . . ., xs) рекурсивна, то / имеет рекурсивное доопределение.
По условию характеристическая функция % множества М общерекурсивна. Рассмотрим функцию g, заданную схемой
_ ( f(X!, ..xs), если 'x,(x1,...,xs) = 0, g(X!,.. .,xs) — ( 0, если |Х(Ж1)..., х,)~ 4| = 0.
Эта функция всюду определена и согласно предыдущей теореме частично рекурсивна. В то же время она является расширением функции /.
Следствие2. Если частично рекурсивная функция U (х0, х±, . . ., xs) является универсальной для совокупности всех s-местных частично рекурсивных функций, то область определения М этой функции есть нерекурсивное рекурсивно перечислимое, множество.
Действительно, множество М как область определения частично рекурсивной функции рекурсивно перечислимо. Если бы J/ оказалось рекурсивным, то согласно следствию
§ 6. ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИИ	127
1 функция U была бы рекурсивно неопределимой, что противоречит теореме 1.
6.4.	Исследование представления Клини. Ввиду важности нормального представления Клини (п. 6.2) представляет интерес более детальное исследование этого представления, произведенное Ску-лемом и Марковым. Прежде всего возникает вопрос: нельзя ли в представлении Клипи обойтись без внешней функции I. Полный ответ на этот в-опрос дает
Теорема 1 (С кулем [1]). Для того чтобы функция f (ij, . . ., xs) была представима в виде
f (Z1, • • Xs) = (Q (zt, . . ., xs, t) = 0),	(1)
где Q fo, . . ., xs, t) — подходящая примитивно рекурсивная функция, необходимо и достаточно, чтобы график функции f был примитивно рекурсивным.
Достаточность очевидна, так как примитивная рекурсивность графика / означает, что примитивно рекурсивна его характеристическая функция, равная % (Xj, . . ., xs, у). Но тогда очевидное равенство
/ (arj, . . ., xs) =	(% (хр . . ., xs, у) = 0)
дает сразу же искомое представление f в виде (1).
Необходимость. Пусть f имеет вид (1). Вводим функцию
х п
G (хи . . ., xs, х) = 11— sg П Q (xi, . . ., ха,1) | .	(2)
71=0	1=0
В силу результатов п. 3.2 функция G примитивно рекурсивна. Кроме того, из формулы (2) видно, что у = f (х1, . . ., .г.ч) тогда и только тогда, когда у — наименьший корень уравнения G (ау, . . .  . ., xs, у) = 0. Следовательно,
f (.?!, . . ., xs) = (G (.?!, . . ., xs, t) = 0).	(3)
Представление (3) имеет тот же вид, что и представление (1). Особенность состоит в том, что теперь число / (.rlt . . ., xs) = t является единственным решением уравнения G (х15 . . ., xs, t) = 0. Но в таком случае функция sg G (xlt . . ., xs, у) будет характеристической функцией графика f и, значит, этот график примитивно рекурсивен.
Нам остается показать, что в форме Скулема (1) представима не каждая частично рекурсивная функция. Согласно теореме 1 Для этого достаточно построить общерекурспвную функцию, график которой не является примитивно рекурсивным.
В качестве исходного материала берем построенную в п. 5.2 общерекурсивную функцию D (,т0, .-ц), универсальную для совокупности всех одноместных примитивно рекурсивных функций. К качестве искомой функции можно взять функцию
F (ж) = sg D {х, х).
Действительно, эта функция не может быть примитивно рекурсивной, так как в противном случае для подходящего числа п мы имели бы тождество V (х) = D (п, х), пз которого получили бы со-
128 гл. III. ОБЩЕ- И ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИИ отношение
D (п, п) = V (n) = sgD (п, п),	.:
. противоречащее определению функции sg. Характеристической функцией графика V является функция
X (*> У) = sg | у — V (.г) | .
Если бы эта функция была примитивно рекурсивной, то такой же была бы п одноместная функция
% (х, 0) = V (х), что противоречит доказанному выше. Таким образом, общерекурсивная функция V (г) не может быть представлена в форме Скуле-ма (1).
Чтобы получить характеристику тех функций L, которые могут играть роль «внешней» функции в теореме Клини о специальной форме (п. 6.2), введем, следуя Маркову [1], понятие функции большого размаха. Именно, будем говорить, что функция L (.г) имеет большой размах, если для каждого натурального а уравнение L (х) =а пмеет бесконечно много решений. Например, функциями большого размаха являются ехпх, х — [l/'x]2 и т. д.
Лемма 1. Для каждой примитивно рекурсивной функции большого размаха L (х) существуют примитивно рекурсивная функция R (z) и общерекурсивная функция С (х, у), связанные тождествами
L (С (х, у)) = х, R (С (х, у)) = у, С (L (г), R (о:)) = х. (4)
Иначе говоря, каждая функция большого размаха связана с функцией, осуществляющей простую однозначную нумерацию пар натуральных чисел (ср. п. 3.3).
По условию для каждого значения х уравнение L (у) = L (х) имеет бесконечно много решений относительно у. Пусть у„. у,, ув, . . .— эти решения, расположенные в порядке возрастания. Среди них должно встретиться и само х: х = уп. Номер п будет функцией от х: п = R (х). Таким образом, уд^ = х. Из очевидной формулы
Л (х) = § sg | L (х) — L (i) | -- 1	(5)
i=0
следует, что функция R (х) примитивно рекурсивна.
Покажем теперь, что в последовательности
<£ (0), R (0)>, <£ (1), R (1)>, ...,<£ (n), R (п)>, ...	(6)
встречается каждая пара натуральных чисел и только один раз.
Действительно, из определения функции R (х) выводим, что номером произвольной пары чисел <я, Ь> в последовательности (6) служит решение уравнеппя L (х) = а, имеющее номер Ь.
Теперь легко устанавливается, что функция
С (х, у) = ц( (| х — L (г) |	| у — R (t) | = 0)
связана с функциями L и R тождествами (4).
§ 6. ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИИ
129
Теорем а 2 (Марков [1]). Если L (х) —- примитивно рекурсивная функция большого размаха, то для каждого s > 0 каждая s-местная частично рекурсивная функция f может быть представлена в виде
/ (*1> • • •, *«) = L (14 (F (*1.г) = °)),	(7)
где F — подходящая (зависящая от j) примитивно рекурсивная функция.
Если для какого-нибудь числа s > 0 и какой-нибудь примитивно рекурсивной функции L (х) каждая s-местная общерекурсивная функция f представима в клиниевской форме (7), то L (х) — функция большого размаха.
Докажем первое утверждение. Согласно лемме 1 существуют примитивно рекурсивная функция R (х) и общерекурсивная функция С (х, у), составляющие вместе с функцией L (х) тройку нумерующих функций. В таком случае согласно теореме Клини о нормальной форме (п. 6.2, замечание к теореме 1) каждая s-местная частично рекурсивная функция / может быть представлена в виде (7).
Второе утверждение будем доказывать способом от противного, а именно, покажем, что для каждой примитивно рекурсивной функции L (х), не имеющей большого размаха, существует общерекурсивная функция /, которую нельзя представить в виде (7). По условию должно существовать такое число а, для которого уравнение L (х) = а имеет не более конечного числа решений. Если это уравнение совсем не имеет решений, то в виде (7) нельзя представить даже функцию / (х) = х. Допустим, что уравнение L (х) = а имеет решения blt . . ., Ът, и пусть f (х) — какая-нибудь функция, имеющая вид (7). Как уже сказано, мы можем считать при этом, что для каждого х уравнение F (х, Z) = О имеет не более одного решения t. Мы теперь хотим доказать, что при сделанных предположениях совокупность решений уравнения f (х) = а будет непременно примитивно рекурсивным множеством и, значит, никакая функция f (х), у которой множество решений указанного уравнения не примитивно рекурсивно, не может быть представлена в виде (7). Но такую функцию построить очень легко. Например, если а = 0, то требуемым свойством обладает функция V (х) = sg D (х, х). Если же а =/= 0, то требуемым свойством обладает функция aV (х).
Итак, рассмотрим решения уравнения j (х) = а. Их совокупность есть объединение решении уравнений
ц( (F (х, t) = 0) = bi (i = 1, . . ., т),
т. е. уравнений F (х, ?ц) = 0. Поскольку функция F (х, t) примитивно рекурсивна, то совокупность решений каждого уравнения F (х, bi) = 0 примитивно рекурсивна (п. 4.1), а потому примитивно рекурсивной будет п совокупность решений уравнения f (х) = а, что и требовалось.
Дополнения, примеры и задачп
1.	Если график всюду определенной функции рекурсивен, то функция также рекурсивна. Существует не примитивно рекурсивная всюду определенная'функция, график которой примитивно рекурсивен (см. функцию'”^ (Q = 0) в формуле (1) из п. 6.4).
130 гл. Ш. ОБЩЕ- II ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИИ
2.	Обозначим через min; (f (х, t) = 0) наименьшее из решении t уравнения / (х, I) = 0, если решения существуют. Если же решений нет, то значение указанного выражения будем считать неопределенным. Оператор min; отличается от оператора минимизации
Например,
(< — (а: + 1) = 0) не определено, mini (Z — (ж + 1) — 0) = х + 1.
Построить такую частично рекурсивную функцию f (х, t), для которой функция
g (х) = min( (/ (х, t) = 0)
не является частично рекурсивной.
3.	Частичная функция f (хг, . . ., хп) тогда и только тогда представима в форме
/ (xlt . . ., хп) = (g (х,, . . ., хп, t) = 0),	(а)
где g — подходящая общерекурсивная функция, когда график f рекурсивен. (Для доказательства необходимости заменить g в (а) функцией g*, для которой уравнение g* (хг, . . ., хп, t) = 0 имеет не более одного решения Z, после чего будем иметь / (ЗЕ) = у <=> ФФ g* (ЗЕ, у) = 0, где положено ЗЕ = <24, . . ., zn>.)
Частичная характеристическая функция множества М представима в виде (а) тогда и только тогда, когда М рекурсивно.
4.	Элементарными по К а л ь м а р у [1] функциями называются всюду определенные функции от произвольного числа аргументов, которые можно получить из функций 1, 2^, х + у, х -> у с помощью конечного числа операций подстановки, суммирования и мультиплицирования (см. п. 3.1).
Ясно, что все элементарные по Кальмару функции примитивно рекурсивны. Обратное неверно. Пусть функция £ (я, п) определяется рекурсией g (я, 0) = 1, g (я, п + 1) = я^а,п\ Показать, что каждая элементарная по Кальмару функция / (xj, . . ., хп) удовлетворяет неравенству
f (*!, • • ; !»)< I (2 + х± + . . . + хп, с),	(Ь)
где с — константа (зависящая от /). Отсюда, в частности, следует, что функция £ (.г, у) по элементарна (Б е р е ц к и [1]).
Верно ли, что каждая примитивно рекурсивная функция /, удовлетворяющая неравенству вида (Ь), элементарна?
5.	Говорят, что функция f (x1? . . ., хп) получается явной трансформацией из функции g (xj, . . ., хт), если
/ (*i, • • •> *п) = g («1, • • Щп},
где каждое ut — пли константа, пли какая-то переменная xj. Говорят, что функция f (г,, . . ., хп, х) получается из функций g, h, а ограниченной рекурсией, еслп
/ (хх, . . ., хп, 0) = g (а:,, . . ., хп),
/ (*^1j • • •» Хц, X -р 1) ll (*^1»   *, Хп, х, f (х^, . . ., Хп, х\), f (*i, . . ., хп, х) a (Xj, . . ., хп, х).
§: 6. Частично рекурсивные функций	131
Показать, что элементарные по Кальмару функции — это те и только те функции, которые можно получить из функций х + 1, ху КОНОЧНЫМ числом явных трансформаций и ограниченных рекурсий Цжегорчик [1]).
6.	Функцией, элементарной по С к у л е м у [3], называется функция, которую можно получить из функций 1, х у, х — у операциями подстановки и суммирования из п. 3.1. Легко видеть, о го функции ху, [х/у], I (х), ?• (х), Г (х, у) элементарны по Скулему. Показать, что каждая элементарная по Скулему функция / (я,, . . . . . хп) удовлетворяет неравенству вида
/ (х1,  • > хп) (2 -j- хъ -j- . . . -j- хп)с,
где с — константа, зависящая от /. В частности, элементарные по Кальмару функции 2х, 23 не элементарны по Скулему.
7.	Класс Д некоторых общерекурсивных функций назовем "остаточным, если для любого п каждая непустая рекурсивно перечислимая совокупность n-ок чисел является совокупностью ?г-ок вида
«х, (г), . ... ап («)> (t = 0, 1, . •. .),
где «j (/), . . ., ап (/) — подходящие функции класса .К. Например, заведомо достаточным является класс всех примитивно рекурсивных функций.. Возникает задача о нахождении других, по возможности более простых и узких достаточных классов.
Анализируя доказательство теоремы о графике частично рекурсивной функции (п. 6.1), показать, что класс элементарных по ('.кулему функций является достаточным.
8.	В каждом бесконечном рекурсивно перечислимом множестве содержится бесконечное рекурсивное подмножество. Существуют бесконечные рекурсивно перечислимые множества, не содержащие бесконечных примитивно рекурсивных подмножеств (см. следующую задачу).
9.	Пусть 51 — совокупность значений функции Аккермана .1 (х) пз п. 5.3. Эта совокупность рекурсивна. Показать, что У не может быть совокупностью значений никакой примитивно рекурсивной функции / (х), принимающей различные значения прп различных значениях аргумента. (Допустим противное. Так как А (х) монотонно возрастает*), то на отрезке натурального ряда 0, 1, . . .  • •, А (х) содержится ровно х чисел множества 2(. Берем числа ' (0). f (1), . . ., f (я — 1), Если они все лежат на указанном отрезке, ю самое большое пз них совпадает с А (х). Если нет, то самое большое из них больше А (х). Поэтому, полагая g (г) == f будем i=°
иметь А (х) g (х) для всех значений х. В виду примитивной ре-курсивностп функции g (х) указанное нераванство противоречит основному свойству функции Аккермана — расти быстрее всякой примитивно рекурсивной функции.)
10.	Пусть F, G — частично рекурспвныге одноместные функции, А — объединение областей определения! этих функций. Покапать, что определенная ниже функция Н имеет своей областью оп
*) Для х>0; Л(0) = Л(1) = 2.
132 ГЛ. III. ОБЩЕ- И ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИЙ
ределения множество Лив каждой точке а: 6 А значение Н (ж) или совпадает с F (г), или совпадает с G (х).
Пусть области определения функций F и G суть множества значений примитивно рекурсивных функций / (х) и соответственно g (х). Полагаем
h (*) = l-Ч (f (О = х V (/ (i)=/= х & gif) = х)),
И (х\^ \ F (ж), если f (А (*)) = х’
[ G (х), если g (h (х)) = х.
Аналогичное построение проходит и для функций от большего числа переменных (см. п. 7.3).
И. Основываясь на глубокой теореме (см. § 16) о представимости рекурсивно перечислимых совокупностей re-ок чисел в экспоненциально диофантовой форме, Девис [3] показал, что существуют функции Р (х), g (х, у, z), h (х, у, z), получающееся конечным числом подстановок из функций о, 7^, ху, 2х, I (х), г (х), такие, что каждая одноместная частично рекурсивная функция f (х) представима в форме
'/ (х) = Р (|.i; (g (п, х, f) = h (п, х, 4))).
12. Бинарное отношение <, определенное на натуральном ряде, назовем простым конструктивным расположением натуральных чисел, если существует общерекурсивная функция а (ж), значение которой а (п) есть «ближайшее за п большее число» в смысле порядка < и если отношение < упорядочивает натуральные числа в простую последовательность, т. е. если все натуральные числа содержатся в последовательности
а < а (а) < о (о (а)) < . . . <	(а) < . . .
Показать, что каждая общерекурсивная функция / (х) представима в форме / (х) = g (2х), где g определяется схемой
g (а) = а0, g (х) = h (х, g (а (х))) (ж =£ а).	(а)
Здесь а — наименьшее число в подходящем конструктивном простом порядке <, а (х) и h (х, у) — примитивно рекурсивные функции, причем а (ж) < ж для х =£ а (см. Л ю [2], М а й х и л [1]).
13. Показать, что существуют общерекурспвпые одноместные функции, не представимые в виде ср (g (х)), где ср примитивно рекурсивна, a g определяется схемой (а) пз предыдущей задачи. (Проблема Раутледжа. Решение см. Л ю [1].)
ГЛАВА IV
НУМЕРОВАННЫЕ СОВОКУПНОСТИ
Для того чтобы понятия рекурсивности и рекурсивной перечислимости перенести из области натуральных чисел в область более сложных объектов — n-ок чисел — мы предварительно занумеровали все n-ки натуральными числами. В данной главе метод нумерации будет рассмотрен в общем виде. Он позволяет глубже вскрыть природу алгоритмических процессов и прямым путем приводит к решению многих интересных проблем. Впервые метод нумерации для решения фундаментальных вопросов математической логики был применен К. Гёделем, вследствие чего многие важные нумерации обычно называются нумерациями Гёделя. При более детальном изучении конкретных нумераций Гёделя целесообразно, однако, ввести особые названия для некоторых из этих нумераций, что ниже и сделано.
§ 7.	Нумерации совокупностей множеств и функций
Изучение нумераций производных совокупностей объектов мы начнем с подробного изучения специальных нумераций совокупностей всех одноместных частично рекурсивных функций и всех рекурсивно перечислимых множеств, которые будем называть нумерациями Клини и Поста.
7.1.	Универсальные функции Клини. При детальном изучении свойств частично рекурсивных функций удобнее пользоваться не универсальными фукциями Т™1 (х0, х^...   ., Хп), построенными в п. 6.2, а особыми функциями Клини, к определению которых мы и перейдем.
Введем стандартное обозначение
[х, у] = с (I (х), с (г (ж), у)),	(1)
где с (х, у) — канторовский номер пары (х, у), а I (х) и г (х) — левое и правое число пары с номером х (п.3.3).
134	ГЛ. ГУ. НУМЕРОВАННЫЕ СОВОКУПНОСТИ
Из тождеств
с (I (х), г (х)) = X, I {с (х, у)) = X, г (с (х, у)) = у и формулы (1) непосредственно следует, что если [ж, у] = = п, то
х = с(1 (и), I (г (и))), у = г (г (п)).	(2)
Поэтому вводя обозначения
[d2i = с (I (х), I (»• (х))), [ж]22 = г (»• (х)), будем иметь тождества
[Ы21, Ы22] = х, [[z,z/]]21 = х, [[ж, у]]22 = у, показывающие, что функция [х, у], так же как и функция Кантора с (х, у), осуществляет взаимно однозначную нумерацию пар натуральных чисел.
Положив еще по определению
[«!, х2, . . Жз] = [...[[Xi, х2], х3], . . ., xs] (s = 3, 4, . . .),
(3) получим взаимно однозначную нумерацию s-ок чисел. Решая уравнение
[zj, . . xs] = х	(4)
относительно х1; . . ., xs, будем иметь
= [[• • • [^21^21 • • • Ъ1,	*^2 = [[ • • • [[•Г'гПа! • • •] 211221 • • •»
Xs = [х]22. (5)
Правые части этих равенств обозначим соответственно через [z]si, . . ., [z]ss. Тогда из (4), (5) получим тождества
[Ы81, • • •, Wssl = X, [[Xj, . . ., ^ZsUsj = Xi-
Отметим еще тождество
[#!, . . . , Хт,	—
----------------------- lie'll . • *5 #tn], Xjn+i, . . ., 3?sl,	(6) непосредственно вытекающее из (3).
Функции Кантора с (ж, у), I (х), г (х) — примитивно рекурсивные функции, выражающиеся через свои аргументы при помощи элементарных арифметических операций +, X, —, []^], [ /2]. Формулы (1), (2) показывают, что такпмп же будут и функции [ж, у],
Теперь мы вместо универсальных функций 7S+1 (ж0, Xi, • • л xs), построенных в п. 6.2, введем следующие
§ 7', НУМЕРАЦИИ СОВОКУПНОСТЕЙ МНОЖЕСТВ
135
функции Клини:
К2 (х0, х±) = Т2 (I (х0), с (г (xQ), жД), Ks+1 (х0, х'г, . . ., xs) = Ks ([z0, z-J, x2, . .	ж5) (s =
= 2,3,...). (7)
Из тождества (6) вытекает важное соотношение jK?+j+1 (х0, . . xs+i) = Ktvl ([х0, . . ., xs], xs+1, . . ., xs+t), (8) связывающее функции Клини, имеющие разное количество аргументов.
Лемма 1. Функция Клини Ks (зц, . . ., xs) связана с универсальной функцией Т"1 (xQ, хг, . . ., xs) тождеством
Ks (с (х0, хг), х2, . . ., xs) = P+1 (х0, хи . . ., Xs). (9)
Прежде всего заметим, что нумерации с (х, у) и [х, у] удовлетворяют своеобразному закону ассоциативности с (х0, с (хп х2)) = [с (х0, хг), х2],	(10)
легко проверяемому с помощью тождеств, связывающих функции I (х), г (х), [х, у]. Далее,
К2 (с (х0, xj, х2) = Т2 (х0, с (хи х2)) = Т3 (х0, хи х2).
Аналогично,
К3 (С (х0, Хг), х2, х3) = К2 ([с (х0, хг), х2], х3) =
= К2 (с (х0, с (хи х2)), х3) = Т3 (хй, с (хг, х2), х^ =
= Т± (х0, xlt х2, х3) и т. д.
Теорема 1. Функция Клини К1'"1 (х0, х±, . . ., хп) является частично рекурсивной функцией, универсальной для совокупности всех п-местных частично рекурсивных функций от Xi, . . ., хп-
Пусть f (xt, . . ., хп) — какая-нибудь частично рекурсивная функция. Из универсальности функции Т11- следует, что при некотором фиксированном а будем иметь тождество
0-х + f (хх, . . ., Хп) = Тп+2 (а, х, х±, . . ., хп) —
= (с (а, х), x-l, . . ., хп).
Полагая в нем х = Ои обозначая число с (а, 0) через Ь, получим тождество
/(^it • • ч -г'п) = l (д, х±, . . ., Хп),
136
ГЛ. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ
которое и доказывает, что функция Кп+1 (ж0, х1, . . хп) универсальна для частично рекурсивных функций от переменных хг, . . хп.
7.2.	Нумерация Клини. Ставя каждому натуральному числу п в соответствие одноместную функцию К.2 (п, х),  получим отображение множества всех натуральных чисел 2V на совокупность всех одноместных частично рекурсивных функций. Это отображение будем далее называть • нумерацией Клини и обозначать через %. Там, где не возникнет опасность наложения обозначений, вместо Ю+1 (ж0, x-l, . . ., zs) будем писать просто .К (х0, хъ . . ., xs). Число п называется клиниевским номером функции К (п, х), которая будет обозначаться также через хп и иногда через Кп.
Теорема 1. Для каждой, частично рекурсивной функции / (х) существует такое фиксированное число а, что все числа последовательности
[а, 0], [а, 1], . . ., [а, т], . . .	(1)
будут клиниевскими номерами функции f(x).
По условию f (я) = К (п, х). Так как К. (х0, у, х) — универсальная функция, то найдется такое число а, что при любых значениях переменных у, х
0-у + f (z) = к (а, у, х) = К ([д, у], х).
Поэтому последовательность (1) действительно состоит из номеров / (ж).
Рассмотрим следующую задачу: даны клиниевские номера функций f (х) и g (х). Требуется найти клиниевские номера их суммы и суперпозиции.
Рассуждаем так. Берем следующие функции от переменных и, v, х:
К (и, х) + К (у, х), К (и, К (и, х)).
Так как К (а?0, и, V, х) — универсальная функция, то найдутся такие числа а, Ь, что тождественно относительно и, V, х
К (и, х) + К (у, х) = К (а, и, v, х) = К ([а, и, у], х), К (и, К (у, х)) — К (Ь, и, v, х) = К ([Ъ, и, у], х).
Следовательно, если т, п — номера функций /, g, то числа [а, т, п], [Ь, т, nJ заведомо будут номерами / 4- g и / (g (*))•
§ 7. Нумерации совокупностей множеств
137
Аналогичные утверждения имеют место для ц-опера-цпи, операции примитивной рекурсии и других операций.
Несмотря на простоту доказательства, следующая теорема играет значительную роль во многих рассуждениях.
Теорема 2 (теорема Клини о неподвижной точке). Для каждой частично рекурсивной функции h (х±, . . . . . ., хп, Хп+1) существует такая примитивно рекурсивная функция g (хх, . . хп), что
Kh(xr, . . ., хп, g (x15 . . ., хп)) = ng (Хр . . ., хп)*). (2)
В частности, для каждой частично рекурсивной функции 1ъ (х) существует такое число а («неподвижная точка» отображения h), что
nh (а) =	(3)
Докажем первое утверждение. Рассмотрим вспомогательную функцию К (h (zp . . ., хп, [у, у, xlt . . ., ж„]), t). Из универсальности функции К (х0, у, хг, . . ., хп, t) следует, что при подходящем числе а имеем тождество
К ([а, у, х_, . . ., хп], t) =
= К (h (хъ . . ., хп, [у, у, xlt . . ., xj), t).
Полагая здесь у = а, [а, а, х1г . . ., хп] = g (xlt . . . . . хп), получим искомое тождество (2). Соотношение (3) можно рассматривать как частный случай соотношения (2) при п = 0.
В связи с нумерацией Клини естественно возникает вопрос о том, какие свойства частично рекурсивных функций можно эффективно распознать по номерам функций. Например, естественно спросить, существует ли алгоритм, позволяющий для произвольного п узнать, является ли Функция с номером п нигде не определенной, тождественно равной нулю, примитивно рекурсивной и т.п. В точных терминах этот вопрос можно изложить следующим образом: является ли рекурсивной совокупность клиниевских номеров нигде не определенной функции, тождественного аУля, всех примитивно рекурсивных функций? Нижеследующая теорема дает отрицательный ответ на все этп вопросы: никакое нетривиальное (т. е. присущее некоторым, но не всем функциям) свойство одноместных частично рекурсивных функций не может быть эффективно
*) При этом, если h (zi, . . хп, g (xi,  . хпУ) не определено, вчитается, что обе части (2) означают нигде не определенную функ-
13&
ГЛ. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ
распознаваемым по клиниевским номерам функций. Иными словами, справедлива следующая
Теорем а 3 (Райс [1]). Если ® — непустое семейство одноместных частично рекурсивных функций, отличное от совокупности всех таких функций, то множе- : ство клиниевских номеров функций, принадлежащих ®, не может быть рекурсивным.
Пусть, напротив, множество А клиниевских номеров всех функций из S рекурсивно. Тогда рекурсивным будет j и множество А' клиниевских номеров всех функций, не; принадлежащих ® (А' — дополнение А). По условию и в S и вне S функции есть. Поэтому А и А' не пусты.. Выберем в А и А! по одному числу а, Ъ и определим функцию
[ а, если х£А', s{x) | если х g д	(4).
Согласно теореме 4 (п. 6.3) функция g (х) общерекурсивна. Применяя теорему о неподвижной точке, приходим к выводу, что должно существовать число п, для которого »g (п) = хп.	(5)
Какое из множеств Л, А' содержит п? Если п 6 А, то при помощи (5) получаем
и 6 А =4 хп 6 ® =4 xg (п) 6 ®.	(6)
С другой стороны, принимая во внимание (4), имеем
п 6 A =$g(n) = Ъ => Kg (п) = xb 6 &.	(7)
Заключения (6) и (7) противоречат друг другу и потому п не может принадлежать А. Меняя ролями множества А п А', получим, что п не может принадлежать А'. Мы по-лучилп противоречие, так как каждое чпсло должно входить либо в А, либо в его дополнение А'. Теорема 3 доказана.
Итак, совокупность всех клиниевских номеров всех функций любого нетрпвпального семейства функций S не может быть рекурсивным множеством. Однако для некоторых частных семейств S совокупность 4 будет рекурсивно перечпслпмоп. Мы сейчас не будем заниматься разысканием всех семейств <5, обладающих указанным свойством (см. задачп 9, 10 в конце этого параграфа), ограничимся лишь следующим очевидным утверждением.
§ 7. НУМЕРАЦИИ СОВОКУПНОСТЕЙ МНОЖЕСТВ	139
Теорема 4. Множество А. клиниевских номеров всех одноместных частично рекурсивных функций, принимающих в данной точке х = а данное значение Ь, рекурсивно перечислимо. Множество В всех клиниевских номеров всех непустых *) функций также рекурсивно перечислимо.
В самом деле, А есть множество решений уравнения К (у, а) = Ь. Ввиду частичной рекурсивности функции О — | К (у, а) — Ъ | это множество рекурсивно перечислимо (следствие 1 теоремы 1 (п. 6.1)). Аналогично доказывается и рекурсивная перечислимость множества В номеров непустых функций.
Согласно теореме Райса множества А и В нерекурсивны. Таким образом, в дополнение к примеру, построенному в п. 6.3, мы получили серию новых рекурсивно перечислимых нерекурсивных множеств.
7.3.	Нумерация Поста. Так как каждое рекурсивно перечислимое множество есть совокупность значений подходящей частично рекурсивной функции и совокупность значений каждой частично рекурсивной функции есть рекурсивно перечислимое множество, то, называя совокупность значений функции К (и, х) при х = 0, 1, 2, . . . множеством с номером и, мы получим нумерацию всех рекурсивно' перечислимых множеств. Эта нумерация называется нумерацией Поста и будет далее обозначаться символом л. В частности, символами лп или лп будет обозначаться множество с номером п, т. е. совокупность значений указанной выше функции К (п, х).
Между нумерациями Клини и Поста существует простая связь, часто позволяющая из свойств одной нумерации получать свойства другой. А именно, если А — какое-нибудь рекурсивно перечислимое множество, то ростовским номером А является клиниевский номер каждой частично рекурсивной функции, совокупность значений которой совпадает с А. Таким образом, еслп совокупности всех клиниевских номеров отдельных функций называть кли-ниевскими кирпичами, а совокупности постовскпх номеров рекурсивно перечислимых множеств — постовскими кирпичами, то каждый постовский кирпич будет блоком, составленным из целых клиниевских кирпичей. Ясно, что для каждого непустого рекурсивно перечислимого множества А существует бесконечно много частично рекур
*) Пустой называется функция с пустым графиком, т. е, нигде не определенная функция.
140
ГЛ. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ
сивных функций, имеющих А своим множеством значений. Поэтому каждый постовский кирпич, отвечающий непустому множеству, состоит из бесконечного множества кли-ниевскйх кирпичей. Исключение составляет лишь постовский кирпич, отвечающий пустому множеству. Он в точности совпадает с клиниевским кирпичом, отвечающим нигде не определенной функции. Отсюда, в частности, следует, что множество постовских номеров всех непустых множеств совпадает с множеством клиниевских номеров всех пустых функций и потому это множство рекурсивно перечислимо. Рассмотренное соответствие между клиниев-скими и постовскими кирпичами показывает такжеj что теорема Райса справедлива и для постовской нумерации.
Заметим еще, что совокупность постовских номеров всех множеств, содержащих данное число а, является рекурсивно перечислимой.
Действительно, эта совокупность совпадает с совокупностью тех значений п, для которых уравнение К (и, х) = = а имеет хотя бы одно решение х. Ввиду частичной рекурсивности функции К указанная совокупность рекурсивно перечислима.
Предикат Р (жь . . ., хп) называется рекурсивно перечислимым (рекурсивным), если рекурсивно перечислимо (рекурсивно) множество тех и-ок (рц, . . ., хД, для которых предикат Р истинен. Частичной характеристической функциейпреурка-та Р будем называть частичную функцию % (а?], . . ., хп), равную 0 на тех тг-ках, на которых предикат Р истинен, и не определенную там, где предикат Р ложен. Из следствия 3 (и. 6.1) видно, что предикат Р тогда и только тогда рекурсивно перечислим, когда его частичная характеристическая функция частично рекурсивна.
Более тонкие и более специфичные свойства рекурсивно перечислимых предикатов дают две следующих теоремы.
Теорема 1 (о представлении предикатов). Для каждого рекурсивно перечислимого предиката Р (хг, . . . . . .. Жп+i) существует такая примитивно рекурсивная функция h (х2, . . ., хп+1), что
Р (хи х2, . . ., хп+1) ==• x^ah (х2, . . ., Жп41)	(1)
для всех значений хг, . . ., xn±i.
Рассмотрим сначала случай п — 1. По условию график предиката Р (х, у) можно представить в виде
X = v (0> У = (t) (t = 0, 1, . . .),-	(2)
§ 7.. НУМЕРАЦИИ СОВОКУПНОСТЕЙ МНОЖЕСТВ
141
где v, w — подходящие примитивно рекурсивные функции.
При заданном у все значения £, удовлетворяющие второму из уравнений (2), можно представить (ср. п. 4.2) в виде
t = и sg | w (и) — у | + sg | w (и) — у I (» (z) = У)- (3)
Подставляя выражение (3) вместо t в формулу х = v (i), получим формулу вида" х — F (у, и), где F — частично рекурсивная функция от у, и. Функцию F (у, и) можно представить при подходящем числе а в виде К (а, у, и) и, значит,
Р (х, у) 44 (Ви)(К ([а, у\, и) = х) или
. Р (х, у) 44 ж £ я [а, у].
Итак, для п = 1 теорема 1 доказана. Пусть теперь п > 1. Обозначим через Q (xlt у) предикат Р (xlt [y]nl, .. • . . ., [y]nn). По только что доказанному существует примитивно рекурсивная функция g (у) такая, что
Q (*i, У) 44	£ Jtg (*/)•
Подставляя сюда вместо у выражение \х2, . . ., zn+i], получим требуемое утверждение (1)*).
Теорему 1 иногда формулируют в следующем виде: для каждой частично рекурсивной функции F [xlt . . . . . . , xn+i) существует такая примитивно рекурсивная функция h (х2, . .., z,iн), что для любых фиксированных значений х2, . . ., хм множество значений х, удовлетворяющих уравнению F (х, х2 , . . ., жп+1) = 0, имеет пос-товский номер h (х2, . . ., z(i+i).
Чтобы свести эту новую формулировку к старой, достаточно рассмотреть предикат Р, определяемый формулой
Р (хг, . . ., Зтг+1) 44 F (хг, . . хп^) = О,
п применить к Р теорему 1.
В качестве одного из приложений этой теоремы дока-жаем такое
Следствие. Существуют такие примитивно рекурсивные функции и (х, у), v (х, у), что для любых чисел
*) Если Р — тождественно ложный предикат, то h x;,+i)=. = где <? — какой-либо номер пустой функции.
142
ГЛ. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ
т, п
Лщ II Лп—U Лп— ^и(т,п',‘	1
Согласно определению лт есть совокупность тех зна- I 'пений f, для которых уравнение К [т, х) = t имеет реше- I ние х. Аналогично, лп есть совокупность тех значений t, | для которых уравнение К (п, у) = t имеет какое-то реше- ] ние у. Отсюда видно, что множество лт Q лп состоит из | тех значений t, для которых уравнение	1
\ К (т, х) — t | + | К (п, у) — t | = 0 j имеет решение (х, уу. Согласно следствию 4 теоремы о j параметризации частично рекурсивных функций (и. 6.1) 1 совокупность Р троек <щ, п, ty, для которых указанное i уравнение имеет решение (х, уУ, является рекурсивно ; перечислимой. По теореме 1 существует примитивно ре- i курсивная функция v (т, п), для которой
<m, п, ty 44 £ £
но это и значит, что лт лп = л^т>П).
Докажем второе утверждение. Введем функцию
G (т, п, х) —
если х четно, К (п, -	\, если х нечетно.
Согласно теореме о кусочно заданных функциях (и. 6.3) функция G (т, п, х} частично рекурсивна. Множество ее значений при х = 0, 1, 2, . . . есть лт |J лп. Ищем такое число а, чтобы для всех т, п, х
G (т, п. х) ~ К (а, т, п, х) = К ([а, т, и], х).
Совокупность значений функции К ([а, т, п], х) есть
Л[а,т,п]- Таким”образом,
Лт U Лп = Л[а, т, п]
и, следовательно, в качестве искомой функции и (т, и) можно взять функцию [а, т, п].
В каком-то смысле аналогом для теоремы Клини о неподвижной точке (п. 7.2) является следующая
Теорема 2 (теорема М а й х и л а [2] о неподвижной точке). Для каждого рекурсивно перечислимого предиката Р (xv . . ., x1+i) существует ^такая примитивно
§ 7. НУМЕРАЦИИ СОВОКУПНОСТЕЙ МНОЖЕСТВ
143
рекурсивная, функция g (х2, . . хп), что
Р (xv . . хп, g (х2, . хп)) дд xt 6 л§ (х2, . . ., хп) (4) дм всех значений xv . . хп.
В самом деле, согласно теореме 1 найдется такая примитивно рекурсивная функция й (х2, . . xn±i), что будет иметь место соотношение (1). Применяя к функции k (х2, . . ., хп+1) теорему Клини о неподвижной точке, заключаем, что для подходящей примитивно рекурсивной функции g (х2, . хп) будем иметь
хТг. (х2, . . хп, g {х2, . . ., хпУ) = %g (х2, . . хп). (5)
По для любых чисел а, Ъ равенство ла = лЪ влечет равенство ла = лЪ. Поэтому из (5) имеем
Jt/i (^2? • • •>	§ (^-2> ' ' •’ %n))	(®2> • * ’> Хп).
(6)
Наконец, подставляя в соотношение (1) вместо xn+i выражение g (х2, . ... ХпР с помощью равенства (6) получим (4).
В дополнение к теореме о кусочном задании функций из п. 6.3 мы сейчас докажем более общее предложение, полезное при построении частично рекурсивных функций, продолжающих заданные при определенных условиях.
Теорема 3 (о совместном продолжении). Пусть заданы частично рекурсивные функции Ft (х, у) с областями определения At (i— 1, . . ., г). Существует частично рекурсивная функция F (х, у, zx, . . ., zr), удовлетворяющая следующим требованиям:
a)	F определена для тех и только тех значений х, у, Zp . . ., zr, для которых выполнено хотя бы одно из условий
xfiKZi&tx, у> G А{ (i = 1, . . ., г);
б)	для каждых х, у, zx, . . ., zr из области определения Функции F существует такое I, что х G Я-Z/ и
F (х, у, zx, . . ., zr) = Ft (х, у).
Функцпю F, удовлетворяющую условиям а), б), можно определить, например, следующим алгоритмом. Пусть заданы какпе-нибудь числам, у, zx, . .., zr. По условию существуют регулярные процессы, позволяющие находпть элементы множеств Лх, . . ., Аг, л21, . . ., л2г. Делаем первые шаги в этпх процессах, затем последовательно делаем вторые шаги и т. д. В результате некоторых шагов
144	ГЛ. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ
будут получаться элементы упомянутых множеств, а некоторые шаги будут давать промежуточные результаты. Получив после какого-нибудь шага число х из некоторого azt или пару чисел <а;, из Лг, проверим, не будет ли среди всех полученных, в том числе и на предыдущих шагах, чисел, пар чисел и информаций ^вида а 6 лг, (a, by £ Aj для какой-нибудь i-й пары утверждений х £ rtzf, <£> уУ 6 Ah Как только такая пара найдется, процесс прекращается и вычисляется значение Fi (х, у). Это и будет значением выражения F (х, у, zn . . ., zr). Если указанный процесс не обрывается, то F (х, у, zlt . . ., zr) считается неопределенным.
Ясно, что построенная таким образом функция F удовлетворяет требованиям теоремы 3. Значения F вычисляются посредством процесса, имеющего алгоритмический характер. В силу тезиса Чёрча (п. 2.3) мы можем верить, что функция F частично рекурсивна. Однако для формального доказательства частичной рекурсивности функции F надо все же выразить F при помощи операций подстановки и ц-операции через рекурсивные функции, т. е. переложить приведенное выше определение функции F на язык формул. Это мы теперь и сделаем.
Ищем такие числа ах, ..., ап, чтобы
Fi (ж, у) = -К (аи х, у) = К ([ао ж], у) (г = 1, , . г).
Представим график функции w = К (п, у) в параметрической форме:
п = f (t), у - g (t), w = h (£),
гДе /> У, h — подходящие рекурсивные функции (п. 6.1).
В каждый момент времени t находим числа / (t), g (t), h (t) и запоминаем следующую информацию:
h (i) = к (/ (О, g (*)), h (t) e Л/ (t).
В соответствии с изложенным ищем наименьшее tt при котором для подходящего i, 1 i г, было бы
h (и) = х, f (и) = Zf, / (р) = -[аг, xl, g (р) = у,
где и = [i]21, р = [£]22 (см. п. 7.1). Вводя функции
фг (?) = Фг (t, х, у, zn . . ., zr) =
= | х — h (и) | + | f (u) — Zi | + | / (p) — [a(, x] | +
+ I g (v) — у I,
§ 7. НУМЕРАЦИИ СОВОКУПНОСТЕЙ МНОЖЕСТВ	145
мы сможем искомое значение t представить в виде
t* = t* (х, у, zlt . . zr) = цг (Фг- . . . -Фг = 0).
Зная t*, мы должны найти еще то значение i, при котором Ф{ (t*) = 0, после чего положить функцию F равной величине выражения Ft (х, у) = h (у (£*)). Но это будет достигнуто, если мы по определению положим F (х, у, zt,... . . .,zr) = h(v (£*)).
Функция F получается из рекурсивных функций /, g, h подстановками, ц-операцией и операциями +, —. Поэтому функция F частично рекурсивна, что нам и требовалось.
В теореме 3 указаны функции Ft (х, у) лишь от двух переменных. Однако ясно, что сама теорема и ее доказательство остаются истинными и в случае, когда задаются функции Ft (х, у±, . . ., ут), содержащие любое число параметров . . ., ут.
Заметим еще, что теорема 3 останется верной и в том случае, если в ее формулировке условия х nzt заменить условиями fi (х, у, z1, . . ., zr) = 0, где /г — какие-нибудь частично рекурсивные функции, так как в силу п. 7.3 условия Л = 0 равносильны условиям вида х£лд{(у, zlt. . zr), где (Ji — подходящие рекурсивные функции.
7.4. Однозначные нумерации. Нумерации Клини и Поста занимают исключительное место в теории алгоритмов благодаря тому, что, имея какой-нибудь алгоритм для вычисления значений функций /0 (г),	(г), . . . или чисел множеств So, Sj, . . ., мы всегда
можем найти такую примитивно рекурсивную функцию <р (и), что Ф (ге) будет клиниевским номером функции fn (х) или соответственно постовским номером множества Sn. Конечно, нумерации Клини и Поста не единственные из нумераций, обладающих этим свойством. Все нумерации, обладающие указанным свойством, носят общее название гёделевских нумераций. В известном, точно определенном смысле все гёделевские нумерации изоморфны друг другу (см. н. 9.3) и все они достаточно сложны. Как мы видели, каждая частично рекурсивная функция и каждое рекурсивно перечислимое множество имеют в нумерациях Клинп и Поста нерекурсивные совокупности номеров. Естественно возникает вопрос: нельзя лп построить такую нумерацию всех рекурсивно перечислимых множеств (или частично рекурсивных функций), при которой каждое рекурсивно перечислимое множество (частично рекурсивная функция) имело бы в точности один номер, н в то же время чтобы по номеру п множества (функции) в новой нумерации можно было посредством алгоритма найтп постовский (клпниевскпй) номер <р (п) •'того множества (функции)? В 1958 г. Ф р п д б е р г [1] показал, что такие однозначные нумерации рекурсивно перечислимых множеств п всех частично рекурсивных функций действительно существуют. Нпже этн результаты излагаются в слегка обобщенной форме.
146
ГЛ. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ
Пусть <3 — какая-то непустая система рекурсивно перечислимых множеств. Произвольное отображение а совокупности натуральных чисел 7V на систему ® называется нумерацией @. Через а (п) или ап обозначается то множество пз S, которое отвечает числу п при отображении а. Число п называется a-номером множества ап.
Нумерация а называется вычислимой (Успенский [1]), если существует общерекурсивная функция q> (г) такая, что ф (п) есть постовский номер множества ап, т. е. если
ап — лф (п) (п = 0, 1, . .	(1)
Система ® рекурсивно перечислимых множеств называется вычислимой, если существует хотя бы одна ее вычислимая нумерация.
Частичная функция А (п, х) называется универсальной для нумерации а, если для каждого натурального значения п множество ап совпадает с множеством всех значений А (п, х) при х = 0, 1, . . .
Легко убедиться, что нумерация а тогда и только тогда вычислима, когда она обладает частично рекурсивной универсальной функцией.
Действительно, пусть частично рекурсивная функция А (п, х) универсальна для нумерации а. Обозначая через а клиниевский номер функции А, имеем для произвольных п, х
А (п, х) = К {а, п, х) = К ([а, п], х)
и, таким образом, [a, zi] — постовский номер множества ап.
Обратно, пусть нумерация а вычислима и ф (п) — общерекур-спвная функция, удовлетворяющая соотношению (1). Тогда функция К (ф (zi), х) очевидно, частично рекурсивна и универсальна для а.
Нумерация а семейства множеств @ называется однозначной, если ат ф ап для т ф п, т. е. если каждое множество из ® имеет один и только один а-номер.
Поставим вопрос: какпе вычислимые семейства множеств обладают вычислимой однозначной нумерацией? Каковы необходимые п достаточные признаки тех вычислимых семейств множеств, которые обладают вычислимыми однозначными нумерациями?
Вопрос этот в настоящее время, по-видимому, открыт. Ниже даются лишь достаточные условия, пз которых, однако, следует, что семейство всех рекурспвно перечпслпмых множеств обладает однозначной вычислимой нумерацией. Предварительно докажем следующее очевидное утверждение, справедливое как для вычислимых, так и для однозначных вычислимых нумерации.
Теорема 1. Если семейство множеств S, обладающее (однозначной) вычислимой нумерацией, содержит пустое множество, то, выбросив из ® это пустое множество, получим семейство, допускающее (однозначную) вычислимую нумерацию. Если к семейству множеств <5, обладающему однозначной вычислимой нумерацией, присоединить любое конечное число рекурсивно перечислимых множеств, то получится семейство, обладающее однозначной вычислимой нумерацией.
§ 7. НУМЕРАЦИИ СОВОКУПНОСТЕЙ МНОЖЕСТВ	147
В самом деле, пусть А (п, х) — универсальная частично рекурсивная функция, осуществляющая (однозначную) вычислимую нумерацию семейства ©. Обозначим через М совокупность тех значений параметра п, для которых уравнение А (п, х) = у имеет хотя бы одно решение х, у. В силу и. 4.2 множество М рекурсивно перечислимо. Берем общерекурспвпую функцию р (Л), совокупность значений которой совпадает с Л[ и которая при различных значениях аргумента принимает различные значения (и. 6.3). Ясно, что частично рекурсивная функция
Аг (ге, х) = А (р (?г), х)
является универсальной для семейства ® — 0. Если нумерация © однозначна, то ввиду разнозначности функции р нумерация, осуществляемая функцией А, (п, х), также однозначна.
Докажем второе утверждение теоремы. Пусть снова А (п, х) — универсальная функция нумерации семейства © п пусть /0 (.т), . . . . . ., fs (х) — примитивно рекурсивные функции, совокупности значений которых Мо, . . ., Ме различны и не входят в семейство ©. Тогда частично рекурсивная функция
S
А ('Б ж) = Л (г) sg I п — 11 + sg (п - s) А(п+ (s + 1), х), i—О
очевидно, является универсальной для семейства ® и множеств Л70, . . ., Ms. При этом, если функция А давала однозначную нумерацию, то /1; дает также однозначную нумерацию.
Теорема 2. Каждая вычислимая. нумерация а семейства множеств g, не содержащего пустого множества, обладает обще-рекурсиено'1 универсальной функцией.
Пусть А (п, х) — какая-нибудь частично рекурсивная универсальная для @ функция. Область определения этой функции представима в виде совокупности пар 7ф (t), ф (7)>, 7=0, 1, . . ., где ф, ф — подходящие примитивно рекурсивные функции. Для каждого п совокупность тех значений х, для которых функция .1 (п, х) определена, можно представить в виде совокупности всех значений, принимаемых прп t = 0, 1, ... функцией (см. п. 4.2) В (п, 7) = sg | п — ф (7) ] ф (7) -j- sg | п — ф (7) | ф (цу (ф (у) = п)). Так как для каждого п уравнение ф (у) = п имеет решение, то Функция В (n, 7) общерекурспвна. Функция А (п, В (п, 7)) универсальна для нумерации а. В силу изложенного она общерекурспвна.
Стандартным номером (у-номером) конечного множества чисел пц, . . ., ту < т2 <С . . . < ту) называется число п = _ 2™i _!_ 2m= -]- . . . -j- 2m,:. Стандартным номером - пустого множества называется 0. Ясно, что стандартная нумерация — одна из вычислимых однозначных нумераций семейства всех конечных множеств. Характерное ее свойство состоит в том, что прп ней число элементов множества с номером п, а следовательно, максимальный и минимальный элементы этого множества суть рекурсивные функции от п.
Семейство © какпх-нпбудь конечных множеств .называется '.'-перечислимым, если совокупность у-номеров множеств из © Рекурсивно перечислима, Всякое у-перечислимое семейство ко-
148
ГЛ. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ
печных множеств, очевидно, вычислимо и даже однозначно вычислимо.
После этих предварительных замечаний докажем теперь следующую тонкую основную теорему.
Теорема 3. Пусть вычислимое семейство <5 рекурсивно перечислимых множеств содержит у-перечислимое подсемейство <50 конечных множеств такое, что
а) любое конечное подмножество Мо произвольного множества М из <5 содержится в подходящем конечном подмножестве ЛТ1 CZ ЛГ и е <50;
Р) каждое множество из @0 содержится в некотором строго большем множестве из <50.
Тогда заведомо существует однозначная вычислимая нумерация семейства @.
Из теоремы 1 следует, что при доказательсве теоремы 3 мы можем предполагать, что семейство <3 не содержит пустого множества. Согласно теореме 2 в этом случае ® обладает общерекурсивной универсальной функцией А (га, х) и ® состоит из множеств Ао, А,, . . ., Ai, . . ., где Ai — совокупность значений А(1, 0), А (I, 1), ... функции А (I, х).
Наша цель—построить такую последовательность So, Sj,. ..  рекурсивно перечислимых множеств, чтобы множества этой последовательности были попарно различны и в совокупности исчерпывали семейство <5. Следуя Фридбергу, будем строить эти множества «шагами». Конечная часть множества Sx, построенная после i-ro шага, бедет обозначаться через , а множество Sx бу- -дет по определению равно объединению множеств S* (t = 0,1,...).
Одновременно с множествами будут строиться конечные множества Л* и особая частичная функция / (Z, 4).
Множества А^ будут строиться так, чтобы выполнялось следующее их свойство:
1)	Каждое непустое А^ принадлежит <50, А® С? Aj Cl А® СУ . . .
и Ai есть объединение всех А^
Если / (Z, 4) определено при некоторых значениях I, t п х = = / (Z, t), то будем говорить, что число х — последователь числа I в момент t. Еслп х = f (I, t — 1), а / (I, t) не определено, то будем говорить, что х' освобождается (от Z) в момент t. Соотношение х = = / (Z, 4) содержательно означает, что в момент 4 мы «хотим» далее так строить множества S™, чтобы оказалось Sx = Л/, п только некоторые «препятствия» могут нас заставить далее отказаться от этого'намерения 'и в некоторый момент освободить х от I. Числа, не^являющиеся в момент t последователями, будем называть свободными в момент 4. Наконец, будем говорить, что в момент 4 обозревается номер lt = I (4), где I (4) — левая нумерационная функция пз п. 3.3. Из свойств этой функции следует, что каждый данный номер п = I, обозревается в бесконечное чпсло моментов 4, так как уравнение п = 1( имеет бесконечно много решении для 4.
Указываемый ниже процесс построения множеств Л|, Sx и функции f таков, что означенные множества и функция / будут, помимо требования 1), удовлетворять также требованиям:
§ 7. НУМЕРАЦИИ СОВОКУПНОСТЕЙ МНОЖЕСТВ	149
2)	В каждый момент t произвольное чис^о х может быть последователем не более одного числа I. Если чис.ю х в момент t освобождается, то в момент t и во все следующие моменты х остается свободным.
3)	Для каждого х S® С Sj. С С .. . Если ранее момента t число х было свободным все время, то S^1 = 0.
4)	Для каждых х, t из S* =4= 0 следуем 8* б ©о- Если для некоторых х, t х = / (lt, t), то
5)	В каждый момент t из 8^=]= 0, х~= у следует S^C-Sy.
По определению полагаем множества Л/1, S"1 пустыми и значения / (Z, —1) неопределенными (Z, х = 0, 1, . . .).
Берем произвольное t 0 и предполагаем, что Л“, 5“ / (I, и) для всех и < t и всех I, х известны и удовлетворяют требованиям
Построим сначала множества а[. Полагаем Ау = 0 для и > t. Если же v t, то конструируем Ау следующим образом. По условию существует такая примитивно рекурсивная функция g (п), что числа g (0), g (1), . . g (г), . . . являются стандартными номерами всех множеств семейства So- Вычисляя постепенно элементы этих множеств и сравнивая для каждого z = 0, 1, ... множества yg (0), yg (1), . . ., yg (z) с дданными множествами '4*-1, {А (и, 0), А (и, 1), . . ., А (и, /)} л растущим множеством {Л. (у, 0), А (у, 1), . . ., А (у, z)}, ищем такое значение s, чтобы
{Л (у, 0), . . ., Л (у, i)} U A1'1 С yg (S) С
С {А (и, 0), А (и, 1), . . А (и, z)}.
Из предположения а) доказываемой теоремы следует, что искомые значения s найдутся. Берем минимальное значение s и полагаем а], = yg (s). Ясно, что построенные таким способом множества Л* удовлетворяют требованию 1).
Переходим к определению и f (Z, t). Здесь придется различать несколько случаев.
Случай 1: f (lt, t — 1) = у п для некоторого I < lt {0, 1, ..., у} ЛЛ«={0,1,...,у}П л‘;.
Освобождаем у, полагая / (lt, Z) неопределенным, и полагаем f (I', t) = f (I’, t - 1) (Z' ф lt}, S*x = s^1.
Случай II: случай I места не имеет и существует чпсло х, для которого А[ = S^1 п одновременно
а)	х = f (Z, t — 1) и Z Z; или
б)	х в момент t— 1 свободно и х lt, пли
в)	х в момент t — 1 свободно и ранее момента t число х смещено числом, равным lt (операция смещения определена ниже (см.
150	ГЛ. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ .
случай III В)). В этом случае ничего не меняем, т. е. полагаем ~	11 f (1’ 0 = f (г> f — для всех х п
Случай III: ни случай I, ни случай II места не имеют. Тогда выполняем последовательно слудующие операции:
А)	Если / (Zf, t — 1) определено, то полагаем f (lt, t) = у = = / (Z;, t — 1). Если же / (lt, t — 1) не определено, то через у обозначаем наименьшее пз чисел, не бывших до момента t ни разу последователями, и полагаем / (Z(, t) — у.
Б) Полагаем 8{у = S^1 U А* . В силу свойств 3), 4) или S^1 = 0, или S*-1 CZ а\ . Поэтому после выполнения one-•J	. У
рации Б) будем иметь S* = А1, .
V
В)	Если существует такое х (единственное в силу 5)), что S^T1 = А* и х у, то полагаем Sx = yg (s), где s — наименьшее чпело, при котором yg (s) содержит S*-1 и отлично от S*, Sq~x, S*-1, . . . Согласно условию 0) такое s заведомо существует.
Выполняя операцию В), мы говорим, что смещаем число х числом lt в момент t.
Г) Если число х, смещаемое числом lt, в момент t — 1 не свободно, то освобождаем х.
Полагаем S* = S^1, / (I, t) = j (I, t — 1) для всех г, I, которые не упоминаются в А), Б), В), Г).
Итак, способ построения S^., / (Z, t) указан. Из него непосредственно следует, что множества S*, А* и функция / (Z, t) удовлетворяют требованиям 1) — 5). Докажем, что эти множества и функция обладают также следующими свойствами 6) — 9).
6)	Каждое число х может смещаться лишь конечное число раз.
Пусть х смещается в момент t и не свободно в момент t — 1. Тогда в силу Г) оно будет свободно в момент t, а в силу 2) х будет свободным п во все последующие моменты. Пусть х смещается снова в какой-нибудь пз этих последующих моментов и > t числом 1и. По условию х свободно в момент и — 1. Если бы было х 1и пли х смещался чпелом 1и ранее момента и, то у нас был бы случай Пб) плп Пв), что невозможно. Такпм образом, во все последующие моменты и чпело х может смещаться лишь числами 1и, меньшими х, п каждым не более одного раза. Следовательно, х смещается не более конечного числа раз.
7)	Каждое Sx содержится в ®. Если Sx бесконечно, то число хг начиная с некоторого момента t, постоянно является последователем некоторого а и Sx = Аа.
Сначала предположим, что Sx конечно. Тогда для некоторого t Sx = Slx t So п потому Sx G S.
Пусть теперь Sx бесконечно. Так как Sx есть объедпненпе возрастающей последовательности конечных множеств S^. (t = — 0, 1, . . .), то в этой последовательностп бесконечно много раз должен встречаться случай, когда Sx~x =f= Но это возможно лишь дцбо в случае III В) (х = у), либо когда х в момент t смещается
§ 7. НУМЕРАЦИЙ СОВОКУПНОСТЕЙ МНОЖЕСТВ
151
числом Z(. Согласно свойству 6) число х может смещаться лишь конечное число раз. Поэтому для бесконечно многих t должен наступать случай III В), х = f (lt, t — 1). Но х не может быть последователем различных чисел. Таким образом, для бесконечного числа значений t имеем а = lt, х = f {a, t — 1), 8'J. = А1а. Следовательно, начиная с некоторого момента t, х — последователь а и Sx = Аа.
8)	Если х =}= у, то Sx =р Sy.
Пусть, напротив, х =. у, Sx = Sy. Если Sx, Sy конечны, то для некоторого t было бы Sx = Sy, что противоречит свойству 5). Пусть Sx, Sv бесконечны. Тогда в силу 7) должны существовать такие числа а, Ь, что Sx = Аа, Sy = At, и, начиная с некоторого момента t0, числа х, у — постоянные последователи чисел а, Ь. Так как х =£ у, то a =f= Ъ. Пусть а <; Ь. Из Аа = Аь следует, что, начиная с некоторого момента ij,
{О, 1, . . ., у} П 4 = {0, 1, . . ., Ь} П Аь (* > Н)-
Берем такое t, что lt = b, t > t0, t > tx. Тогда в момент t имеем случай I и потому в этот момент должны освободить число у вопреки предположению. Итак, Sx=f= Sv и свойство 8) доказано.
9)	Каждое Аа совпадает с некоторым Sx.
Пусть т — наименьшее число, для которого Ат = Аа, и потому для каждого I <; т имеем А/ =/= Ат. Множества Ai и Ат отличаются некоторым элементом г; (Z = 0, 1, . . ., т — 1), входящим в одно из них и не входящим в другое. Берем такой момент и, когда каждое из чисел г0, гь . . ., гт_х уже находится в соответствующем пз множеств А™, А™, . . ., А^^. Тогда не только в момент и, по и в произвольные более позднпе моменты tlt t2 будем иметь
и'1 Ат (г < "г> zi > 5s “)	(2)
и, сверх того,
(0,1,...,1}п4^{°,1,.-..,х)п4	(*>*),	(3)
где z = шах {г0, гп . . ., zm_r} .
Допустим, что в какой-то момепт t0 некоторое число с приобретает последователя х, раньше последователем не бывшего. Поскольку последователп приобретаются только посредством операции 1II А), то
11о = с, х = f (с, /0), S% = А*°.
Посмотрим, как меняется 8^. при возрастании t от t0 до момента г, в который х освобождается. Изменение множества 8^ может происходить лшпь прп помощи операции III Б) и операции смещения г, во время которой происходит одновременно и освобождение х. Поэтому до момента освобождения .г- множество 8^. может увеличиваться лишь при помощи операции III Б), т. е. в те моменты t, когда
lt = С, х = f (с, t), sfx = Afc.
Таким образом, если t растет от t0 до г, то множество Sx поочередно становится равным А^, А^, . . ., А*к п перед моментом
152	гл. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ
освобождения v
(4)
Может ли число т бесконечно много раз приобретать и потом терять последователей? Произвольное число, побывав последователем и освободившись, вновь последователем стать пе может. Поэтому, если ответ на поставленный вопрос положителен, то число т в какой-то момент t0 > и должно приобрести последователя х > г и затем в некоторый момент v > и потерять ого. Покажем, что это невозможно.
Освобождение х может происходить двумя способами: после’ операции смещения х числом lv и при помощи случая I, когда т = 1„. Так как
х > г, х = / (m, v — 1), v и,
то из неравенств (2) вытекает, что освобождение при помощи случая I невозможно. Допустим, что х смещается в момент у числом lv и потому
x = f(m, v— 1), Z <zre, V	V
Сравнивая эти условия с равенством (4) для с = т, получаем
= Ап	v>u,lv< m),
что и противоречит соотношению (2).
Итак, ответ на заданный вопрос отрицателен и потому существует такой момент ы, начиная с которого т не может терять последователей.
Существует бесконечно много значений t, удовлетворяющих условиям Z( = т, t и>. В каждый из таких моментов t число т не может терять последователя и потому в момент t случай I заведомо не наступает. Допустим, что в рассматриваемые моменты бесконечно часто наступает случай III, т. е. для бесконечно многих значений t
т = If, х = / (m, t — 1), S^. = A™ (t w).
Так как, начиная с момента w, число т не может менять последователей, то чпсло х здесь от t не зависит. Но если для фиксированных х, т равенство S* = А1т выполняется прп бесконечно многих значениях t, то Sx = Ат и, следовательно, утверждение 9) прп сделанных допущениях истинно.
Допустим теперь, что случай III выполняется лпшь для конечного числа рассматриваемых значений t. Тогда бесконечно часто должен встречаться хотя бы одпн пз случаев На), Пб), Пв).
Пусть бесконечно часто встречается случай Пб), прп котором
S^.-1 = А^, х < т.
Чпсло х здесь может меняться с ростом t, но множество возможных значений для него лпшь конечно. Поэтому для какого-то фиксированного х равенство = А1т будет иметь место прп бесконечном числе значении t п потому Sx = Ат.
§ 7. НУМЕРАЦИИ СОВОКУПНОСТЕЙ МНОЖЕСТВ	153
Пусть бесконечно часто наступает случай Пв), когда
S^"1 — А^т и х ранее смещен числом т.	(5)
Но в момент s смещения х числом т должен наступать случай III, а таких моментов по предположению существует лишь конечное чпсло. Поэтому в соотношении (5) х хотя и зависит от t, но может принимать лишь конечное число значений. Среди этих значений найдется такое г, при котором равенство 8х~г = А'т будет выполняться для бесконечно многих значений t, откуда снова 8Х = А.,п. Наконец, пусть бесконечно часто наступает случай Па), при котором
= х = f (I, t — 1), I < m, t > w.	(6)
Значение l здесь, вообще говоря, зависит от t, но так как оно не больше фиксированного числа т, то условия (6) должны выполняться бесконечно часто и для некоторого фиксированного значения I, которое далее только и будёт рассматриваться.
Пусть I = т. Так как после момента w число т не меняет последователей, то г в (6) не зависит от t и потому 8*~г = А1т для бесконечно многих значений t, откуда 8Х = Ат.
Аналогично, если I < т, но х при изменении t принимает лишь конечное множество значений, то тогда снова при некотором фиксированном х для бесконечного числа значений t будем иметь = = Afm, откуда 8Х = Ат.
Остается рассмотреть случай, когда в соотношении (6) для фиксированного I переменная х принимает бесконечно много различных значений при изменении t. Отсюда следует, что число I бесконечно много раз приобретает последователей.
Пусть х становится последователем I в момент ш и в момент t > t0 удовлетворяет требованиям (6). Согласно (4)
s’-1=Ais
Сравнивая с (6), получаем
' Ат = Ai'K	&>	h > и> 1 < т)>
что противоречит неравенству (2). Таким образом, рассматриваемый случай невозможен, а во всех предыдущих случаях -оказалось, что Аа = Ат = 8Х и, значпт, свойство 9) истинно.
Свойства 7) — 9) в совокупности означают, что отображение х —» является однозначной нумерацией системы <S. Остается доказать вычислимость этой нумерации. Правила построения множеств S* дают возможность для каждых х, t найти стандартный номер q> (ж, t) множества 8Хг причем легко убедиться, что функция ф (.т, t) общерекурспвна.
С другой стороны, легко строптся примитивно рекурсивная функция у (р, х), совокупность значений которой прп каждом р > О совпадает с конечным множеством, имеющим стандартный номер р. Рассмотрим общерекурсивную функцию Ф (х, I, у) — у (ф (х, t), у). Фиксируя х и меняя t, у, получим в качестве значений функции ф
154
ГЛ. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ
все числа множества Sx п только их. Поэтому функция Ф (г, I (и), г (и)) является искомой общерекурсивпой функцией, универсальной для нумерации х —-> >$х, что и требовалось.
Следствие (Фридберг [1]). Совокупность g всех рекурсивно перечислимых множеств обладает однозначной вычислимой нумерацией.
В самом деле, семейство g вычислимо, так как оно имеет универсальную частично рекурсивную функцию К (п, t). С другой стороны, оно содержит все конечные множества, совокупность которых п можно взять в качестве семейства g0, указанного в условиях теоремы 3.
Выше рассматривались семейства множеств чисел. Переход от семейств множеств к семействам функций требует лишь нескольких очевидных дополнительных замечаний.
Пусть g — семейство одноместных функций. Отображение а: N —» g натурального ряда на g называется нумерацией ®. Если различным числам отвечают различные функции, то нумерация называется однозначной. Функция F (и, х) называется универсальной для, нумерации а., если число п есть a-номер функции f (х) = = F (п, х). Нумерации, имеющие частично рекурсивные универсальные функции, называются вычислимыми.
График функции / (х) — это совокупность пар чисел <х, уу, удовлетворяющих соотношению f (х) = у. Совокупность канторовых' номеров этих пар условимся временно называть 1-графиком функции/. Согласно п. 6.1 функция / частично рекурсивна тогда и только тогда, когда ее 1-график — множество, рекурсивно перечислимое.
Пусть задана какая-либо нумерация a: N —> g некоторого семейства функций g и пусть п — a-номер функции / б Ставя числу п в соответствие 1-график функции /, получим нумерацию семейства gT 1-графиков функций из <5. Эту нумерацию семейства ®х также будем называть а-нумерацией.
Теорема 4. Семейство функций g тогда и только тогда вычислимо (соответственно однозначно вычислимо), когда вычислимо (однозначно вычислимо) семейство 1-графиков функций из <5.
В самом деле, пусть А (п, t) — универсальная функция для семейства gj. Фиксируем п. Совокупность Ап значений функции А (п, t) будет 1-графиком некоторой функции / (х) из g. Найдем эту функцию. Пусть х задано, у = / (х). Тогда номер пары <.г, у> должен принадлежать Ап, т. е. для подходящего t
с (х, у) = А (п, t), х = I (А (п, I)), у — г (А (п, t)).
Беря для t наименьшее значение, удовлетворяющее второму равенству, получим
у == г (Л (п, Uj (lA(n, t) = х))) = В (п, х).
Таким образом, функция В (п, х) является частично рекурсивной универсальной функцпеп для семейства g.
Аналогично доказывается п обратное утверждение.
Частичная функция называется конечно определенной, если она имеет определенные значения лишь для конечного числа значений аргумента. Ясно, что частичная функция является конечно определенной тогда п только тогда, когда ее 1-графпк является конечным Множеством. Стандартным номером конечно определенной функции
§ 7. НУМЕРАЦИЙ СОВОКУПНОСТЕЙ МНОЖЕСТВ	155
будем называть стандартный номер ее 1-графика. Семейство @0 конечно определенных функций называется у-перечислимым, если совокупность стандартных номеров функций из @0 рекурсивно перечислима.
Из теоремы 3 непосредственно вытекает
Теорема 5. Пусть вычислимое семейство ®* частично рекурсивных одноместных функций содержит у-перечислимое подсемейство Sq конечно определенных функций такое, что
а.) любая конечно определенная функция j0 (х), содержащаяся *) в произвольной функции f (х) из ©*, содержится в подходящей конечно определенной функции Д (а;), содержащейся в функции j (х) и входящей в подсемейство. ©*;
|3) каждая функция из содержится в некоторой отличной от нее функции из
Тогда однозначная вычислимая нумерация семейства @* заведомо существует.
Для доказательства достаточно вместо семейств функций S*, ®* рассмотреть семейства S, @0 их 1-графиков и воспользоваться теоремами 3 и 4.
Как и в случае теоремы 3, из теоремы 5 вытекает главное
Следствие (Фридберг [1]). Семейство © всех одноместных частично рекурсивных функций обладает однозначной вычислимой нумерацией.
Действительно, семейство ® вычислимо, так как функция Клини К (п, х) является для него универсальной. С другой стороны, © содержит семейство ®о всех конечно определенных функций, заведомо обладающее свойствами а), Р), указанными в теореме 5. Легко доказывается, что ©0 у-перечнслимо и потому © обладает однозначной вычислимой нумерацией.
Дополнения, примеры и задачи
1.	Показать, что значения выражений [а, г], [х, х] являются монотонно возрастающими функцпямп от х.
2.	Используя предыдущий результат, доказать следующее уточнение теоремы Майхила о неподвижной точке: для каждого рекурсивно перечислимого предиката Р (х, у, z) существует такая монотонно возрастающая примитивно рекурсивная функция g (у), что Р (х, у, g (у)) •=> х е ng (у).
3.	Доказать существование примитивно рекурсивной функции ф (т, п, и, о) такой, что если функции Д (х), Д (.т), g± (х), g% (.г) имеют клпнпевские номера т, п, и, и, то ф (т, п, и, v) будет клпниев-ским номером функции h. (х), определенной в теореме 4 п. 6.3 для п = 2, s = 1..	•
4.	Показать, что объединение конечного числа вычислимых семейств множеств есть вычислимое семейство.
о. Семейство всех рекурсивно перечислимых подмножеств данного рекурсивно перечислимого множества и семейство всех частично рекурсивных функций, содержащихся в заданной частично рекурсивной функции, являются вычислимыми.
*) Функция f (z) содержится в g (.г), если график f (х) содержится в графике функции g (х).
156	ГЛ. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ
6.	Семейство всех рекурсивно перечислимых множеств, отличных от заданного рекурсивно перечислимого множества, и семейство всех частично рекурсивных (одноместных) функций, отличных от. заданной частично рекурсивной функции, вычислимы.
7.	Если семейство рекурсивно перечислимых множеств состоит лишь из бесконечных множеств и содержит все бесконечные рекурсивные множества, то оно не вычислимо (см. Деккер и М а й-хил [1], Мальцев [3]).
8.	Совокупность всех нерекурсивных рекурсивно перечислимых множеств невычислима (Деккер и Майхил [1]).
9.	Семейство рекурсивно перечислимых множеств называется вполне перечислимым, если совокупность всех постовских номеров всех множеств этого семейства является рекурсивно перечислимой. Аналогично, семейство, частично рекурсивных функций называется вполне перечислимым, если совокупность всех клиниевских номеров всех функций этого семейства рекурсивно перечислима.
Показать, что семейство всех надмножеств множеств какой-нибудь у-перечислимой системы конечных множеств является вполне перечислимым. Аналогично, семейство всех частично рекурсивных расширений функций у-перечислимой системы конечно определенных функций является вполне перечислимым (Райс [1]).
10.	Каждое вполне перечислимое семейство множеств (функций) имеет вид, указанный в предыдущей задаче (см. Райс [1], Деккер и Майхил [1], Мальцев [3]).
§ 8. Сводимость и креативность множеств!
С каждым числовым множеством а связана следующая проблема вхождения: найти алгоритм, позволяющий для произвольного числа х узнать, входит х в а или нет. Множества, для которых такой алгоритм существует, были названы в п. 2.3 рекурсивными. Один из обычных методов доказательства рекурсивности некоторого множества а состоит в том, что проблему вхождения для а подходящим образом «сводят» к проблеме вхождения для некоторого другого множества 0, рекурсивность которого уже установлена. Если окажется, что проблема вхождения для множества а «сводится» к проблеме вхождения для множества 0 и при этом известно, что множество а нерекурсивно, то множество 0 также будет нерекурсивным. Термин «сводится» можно понимать в разных смыслах. Наиболее простое понятие сводимости было введено Постом [3]. Это понятие и является предметом изучения в данном параграфе. Попутно возникают и изучаются понятия продуктивности и креативность множеств, тесно связанные с нумерацией Поста рекурсивно перечислимых множеств.
8.1 Сводимость п m-эквивалентность’ множеств. Числовое множество а называется т-сводимым к числово-
§ 8. сводимость и креативность множеств 157 му множеству (3 (символическое обозначение а<^,п0), если существует такая общерекурсивная функция / (ж), что
яба>/(ж)б0	(1)
для всех значений х. Функция / (ж) называется функцией, т-сводящей а к 0 *).
Функция / (ж) — ж m-сводит каждое множество к самому себе. Далее, если функция / m-сводит множество a к множеству 0, а функция g m-сводит |3 к мноеству у, то функция g (f (ж)) m-сводит а к у. Поэтому отношение иг-сводимости рефлексивно и транзитивно.
Теорема 1. Каждое рекурсивное множество а т-сводится к любому непустому множеству 0, имеющему непустое дополнение. Если какое-нибудь множество у т-сводится к рекурсивному или рекурсивно перечислимому множеству 6, то у рекурсивно или соответственно рекурсивно перечислимо.
В самом деле, берем какие-нибудь числа a 6 0	&_$0.
Функция f (ж), равная а на а и b вне а, очевидно, рекурсивна. Она m-сводит а к 0 и потому первое утверждение теоремы истинно.
Чтобы доказать второе утверждение, обозначим через % (ж) характеристическую и через %0 (ж) частичную характеристическую функцию множества <5. Пусть общерекурсивная функция g (ж) m-сводит у к 6. Тогда %(£(#)) — характеристическая,, а %0 (g (ж)) — частичная характеристическая функции множества у. Если 6 рекурсивно, то функция %(х), а вместе с нею и функция % (g (ж)) обще-рекурсивны. Аналогично, если 6 рекурсивно перечислимо, то функция х0 (ж) частично рекурсивна. Но в таком случае и функция Хо (ё (я)) частично рекурсивна, что и требовалось.
Множество 0 называется т-универсалъным, если выполнены следующие два условия: 1) 0 рекурсивно перечислимо; 2) каждое рекурсивно перечислимое множество m-сводится к 0.
Иногда говорят, что проблема вхождения для множества а легче проблемы вхождения для множества 0, если a m-сводится к 0. Тогда можно сказать, что т-универсаль-ные множества — это рекурсивно перечислимые множест-
*) т-сводимость часто называется также многосводимостью. Наряду с .многосводимостью, в п. 9.2 будет введена еще особая односводимость.
158	fit. IV. НУМЁРОЁАПНЫЕ СОВОКУПНОСТИ
ва, имеющие самую трудную проблему вхождения среди рекурсивно перечислимых множеств. Название «универсальные» происходит от следующего свойства этих множеств. Пусть / (х) — какая-нибудь (частичная) функция, а — числовое множество. Символом /-1 (а) обозначают прообраз множества а при отображении х -> f (х) натурального ряда в себя, т. е. /-1 (а) — совокупность всех значений х, для которых/ (х) 6 а. Определение иг-универ-сальных множеств теперь можно сформулировать следующим образом: множество |3 называется т-универсалъным, если оно рекурсивно перечислимо и если каждое рекурсивно перечислимое множество а можно представить в виде f~r (0), где / (х) — подходящая общерекурсивная функция.
Из первоначального определения т-универсальных множеств и транзитивности отношения непосредственно следует, что если т-универсальное множество т-сводит-ся к какому-нибудь рекурсивно перечислимому множеству а, то а — также т-универсалъное множество.
Нам известно, что нерекурсивные рекурсивно перечислимые множества существуют. Они m-сводятся к т-универсальным множествам. Значит, в силу теоремы 1 все т-универсалъные множества нерекурсивны.
Чтобы рассуждения о m-универсальных множествах не были пустыми, надо привести хотя бы один пример m-универсального множества.
Теорема 2. Совокупность а канторовских номеров тех пар &)>, для которых разрешимо уравнение К (а, х) = Ъ, т. е. для которых Ъ £ л0, является т-универ-сальным множеством.
Действительно, для произвольного рекурсивно перечислимого множества яа имеем
х £ ла<=>с((1, х) £ со.
Поэтому функция / (х) = с (а, х) m-сводпт ла к множеству а. С другой стороны, из частичной рекурсивности функцпп К (а, х) вытекает, что множество тех пар, для которых уравнение К (а, х) = Ъ имеет решение, рекурспвно перечислимо. Следовательно, рекурсивно перечислимо и множество а как совокупность канторовских номеров пар рекурспвно перечислимого множества.
Множества а, [3 называются т-эквивалентными, если каждое из них -ш-сводпмо к другому.
Из сказанного выше непосредственно вытекают следующие простые свойства «г-эквпвалентностп:
§ 8. СВОДИМОСТЬ И КРЕАТИВНОСТЬ. МНОЖЕСТВ
159
а)	Если множество а рекурсивно или рекурсивно перечислимо, то рекурсивно или соответственно рекурсивно перечислимо и каждое множество, т-эквиваленткое а.
б)	Все непустые отличные от рекурсивные множества т-эквивалентны друг другу.
в)	Если множество а т-универсалъно, то каждое множество, т-эквивалентное а, также т-универсалъно. Все т-универсалъные множества т-эквивалентны друг другу.
Так как отношение m-эквивалентности транзитивно и симметрично, то все числовые множества распадаются на непересекающиеся классы эквивалентных друг другу множеств. Отношение m-сводимости частично упорядочивает эти классы. Если отбросить пустое множество и множество У, сами по себе образующие m-классы, то среди остальных m-классов рекурсивно перечислимых множеств наименьшим в смысле отношения будет класс рекурсивных, а наибольшим — класс ^-универсальных множеств.
8.2. Продуктивные и креативные множества. Числовое множество а называется продуктивным, если существует такая общерекурсивная функция / (х), что для каждого п
лп СД а’=> / (п) £ а — лп.	(1)
Функция / (х) называется продуктивной для а.
Из этого определения непосредственно видно, что никакое продуктивное множество не может быть рекурсивно перечислимым. В частности, каждое продуктивное множество непременно бесконечно.
Действительно, если бы продуктивное множество а совпало с каким-либо рекурсивно перечислимым множеством лп, то из (1) получилось бы противоречивое утверждение
/(«)£«- а.
Один из простейших примеров продуктивных множеств представляет множество 6 всех тех чпсел х, для которых х $ лх. Действительно, согласно определению
п€лп.=>/г|фб=^л:„^б, п $ 6 => п б лп =фг,гС£ б
и потому
лп CZ б => п (Р лп&?г £ б.
Таким образом, б —продуктивное множество с продуктивной функцией / (х) = х.
160
ГЛ. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ
Теорема 1. Каждое продуктивное множество 8 содержит бесконечное рекурсивно перечислимое подмножество.
Искомое подмножество можно построить следующим путем. Пусть а0 — какой-либо постовский номер пустого множества и пусть / (а;) — продуктивная функция для 6. Так как л0о СТ 6, то число f (д0) содержится в 6. Ищем номер аг множества {/ (д0)}. Из (1) следует, что число / (дг) содержится в б и отлично от / (а0). Ищем номер а2 множества {/ (д0), / («1)}- Число / (д2) будет содержаться в 6 и будет отлично от /'(д0) и f (дх). Продолжая этот процесс, получим бесконечную последовательность
/ (д0), / (д^, . . ., / (дп), . . .,	(2)
числа которой различны и содержатся в б. Чтобы это наводящее рассуждение обратить в строгое доказательство, нам надо точнее определить, какой именно номер Дг+1 множества {/ (д0), . . ., / (дг)} мы выбираем. Пусть
ж + 0-у = К (е, х, у) = К ([е, х], у).
Поэтому, полагая [е, f (а:)] = g (х), имеем
= {/ (я)}-	(3)
В п. 7.3 была построена примитивно рекурсивная функция и (т, п), для которой
^•upn, п) — U *3-пв	(^)
Свойства (4) и (3) показывают, что в качестве On+i можно взять и (ап, g (ап)). Таким образом,
а (0) = д0, а (п + 1) = и (а (п), g (а (д)))
и, следовательно, f (а(п)) есть общерекурсивная функция от п. Совокупность (2) всех значений этой функции рекурсивно перечпслпма, бесконечна п содержится в б.
Теорема 2. Если продуктивное множество а т-сводится к множеству р, то [3 также продуктивно.
Обозначим через f (х) функцию, сводящую а к р, и через «(х) — продуктивную функцию для а. По условию
х Е а <=> f (х) 6 Р х 6 Г1 (Р),	(5)
т, е, а = К1 (Р) п, значит,
Р =* Г1 (зг„) С а.	(6)
§ 8. СВОДИМОСТЬ И КРЕАТИВНОСТЬ МНОЖЕСТВ	161
Мы хотим теперь найти постовский номер множества Г1 (лп)- Это множество есть совокупность тех значений х, для которых f (х) б 3t„. Вводим предикат Р (х, у):
Р y)^f (х) б л,;.
Согласно теореме о представлении (п. 7.3) существует примитивно рекурсивная функция h (у), для которой
/(ж)6	(7)
Таким образом, множество /-1 (лп) есть Ль(П).
Итак, из (6) и продуктивности функции g (х) получаем лп cz р =4 лй(п) с а =¥ g (h (п)) £ а — лЛ(п).
С другой стороны, из (7) и (5) имеем g (h (zi)) £ лад •==> fgh (n) £ jtn, g (fi («)) 6 a «=> fgh (n) 6 РЛ
Следовательно,
S P =5 fgh (n) e P —
Это показывает, что множество Р продуктивно с продуктивной функцией / (g (h (и))).
Рекурсивно перечислимое множество а, дополнение которого а' = /V — а продуктивно, называется креативным *) множеством.
Выше было показано, что совокупность б тех х, для которых х fjj лх, является продуктивной. Ее дополнение 6' состоит из тех х, для которых х £ ля, т. е. из всевозможных х, для которых разрешимо уравнение
К (х, t) = х.
Так как левая часть этого уравнения частично рекурсивна, то множество б' рекурсивно перечпслимо п, следовательно, креативно.
Из теоремы 2 непосредственно вытекает такое важное
Следствие 1. Если креативное множество а, т-сводится к какому-нибудь рекурсивно перечислимому множеству [3, то множество [3 креативно.
В самом деле, из а «С вытекает а ™Р- Ио продуктивно. Поэтому в силу теоремы 2 множество р' также' продуктивно, а множество р креативно.
*) Иногда его называют творческим множеством.
162
ГЛ. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ
Следствие 2. Каждое т-универсалъное множество креативно.
Действительно, к m-универсальному множеству т-сво-димо любое рекурсивно перечислимое множество, в том числе и креативное множество 6', построенное выше. Ввиду следствия 1 отсюда вытекает креативность т-универ-сального множества.
Более тонко доказывается обращение следствия 2:
Т е о р е м а 3 (Ма йх ил [2]). Каждое креативное множество т-универсалъно.
Пусть а — заданное креативное множество и / (х) —-продуктивная функция для а'. Надо показать, что произвольное рекурсивно перечислимое множество |3 m-сводится к а. Рассмотрим трехместный предикат
Р (х, у, z) у £ р & х = / (z).
Этот предикат, очевидно, рекурсивно перечислим. Поэтому согласно теореме о неподвижной точке для предика-, тов (п. 7.3) найдется общерекурсивная функция g (у) такая, что
y^&x = f(g(y^x£rtgw.	(8)
Пусть у g р'. Тогда левая часть соотношения (8) ложна для каждого х и, следовательно, множество лг(у) пусто. Если же у 6 р, то отношение х £ .ч£(У) равносильно равенству х = / (g (z/)) и, следовательно, множество лг(У) в этом случае состоит из единственного элемента / (g (р)).
Докажем теперь, что функция / (g (х)) m-сводит р к а. В самом деле,
п € Р ^£(п) = 'К'	а ^fig СО) 6 а •	(^)
С другой стороны, согласно сказанному
п € Р =» 3rg(n) = {/ (g (п))}.	(10)
Если бы при этом оказалось, что / (g СО) € а', то мы имели бы
£ а' =4 / (g (л)) € а' — л£(„), что противоречиво. Итак, / (g (?г)) g а. Вместе с (9) это приводит к требуемому соотношению
п € р / (g («)) € а.
Теорема 3 доказана. Следствие 2 п теорема 3 показывают, что класс т-универсалъных множеств в точности совпадает с классом креативных множеств.
§ 8. СВОДИМОСТЬ И КРЕАТИВНОСТЬ МНОЖЕСТВ	163
В частности, отсюда вытекает, например, что множество 5' тех чисел х, для которых х б лх, не только креативно, что было установлено выше путем непосредственных усмотрений, но и ж-универсально, что прямо установить гораздо сложнее.
8.3. Простые множества. Как уже говорилось, при помощи понятия ж-сводимости легко доказывается нере-курсивность большого числа множеств. Для этого берется какое-нибудь вспомогательное нерекурсивное множество |3 и доказывается, что оно ж-сводимо к исследуемому множеству а. Тогда а также будет нерекурсивным. Однако этот метод имеет следующий недостаток: если в качестве вспомогательного множества |3 мы берем креативное множество, а исследуемое множество а рекурсивно перечислимо, то р будет ж-сводиться к а только в случае креативности а. Таким образом, если известный нам запас нерекурсивных множеств состоит лишь из креативных множеств, то при помощи метода ж-сведения мы сможем пополнить этот запас только креативными же множествами. В частности, все нерекурсивные рекурсивно перечислимые множества, построенные нами до сих пор, креативны. Естественно возникает вопрос о-существовании рекурсивно перечислимых множеств, которые не были бы креативными, но были бы нерекурсивными. Этим требованиям заведомо удовлетворяют так называемые простые множества, интересные и с других точек зрения.
Числовое множество а называется иммунным, если оно бесконечно и в то же время не содержит никаких бесконечных рекурсивно перечислимых подмножеств. Таким образом, иммунное множество не может быть ни рекурсивно перечислимым, ни продуктивным.
Числовое множество а называется простым, если оно само рекурсивно перечислимо, а дополнение его иммунно. Отсюда сразу видно, что простое множество заведомо не рекурсивно и не креативно.
Понятия креативного н простого множества были введены Э. Постом. Ему же принадлежит и следующий пример простого множества.
Рассмотрим общерекурспвнуго функцию D (п, х), универсальную для одноместных примитивно рекурсивных функций. Эта функция была построена в и. 5.2. Обозначим через.6п совокупность всех значений функции/) (п, х) прп х = 0, 1, 2, . . . Множества 8,г рекурсивно перечислимы п каждое непустое рекурсивно перечислимое
6*
164
ГЛ. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ
множество совпадает с некоторым 6П. Положим
f (ж) = г (|Л, (D (х, I (i)) = Г (0 &г (0 > 2хУ) =
= г (I D (х, I (£)) - г (f) I + Ц2х + 1) - г (£)) = 0)).
(1)
Таким образом, если значение / (х) определено, то это есть число из 6а, большее 2х. При этом, если в <5К есть числа, большие 2х, то / (х) заведомо определено.
Из выражения (1) видно, что функция / (х) частично рекурсивна. Совокупность о всех значений, принимаемых функцией / (х), есть рекурсивно перечислимое множество. Мы хотим показать, что множество о просто.
Докажем сначала, что в его дополнении о' не содержится ни одного бесконечного рекурсивно перечислимого множества. В самом деле, если некоторое йп бесконечно, то / (п) определено и / (п) £ <5П, / (и) 6 о, откуда 8п СД о'.
Остается доказать, что множество о' бесконечно. Для этого спросим себя, сколько чисел отрезка {0, 1, . . ., 2п} содержит множество о? Ясно, что число это не больше числа решений неравенства / (х)	2п. Но из этого неравенст-
ва вытекает х < п. Поэтому на отрезке 0, 1, . . ., 2п лежит не более п чисел множества о и, стало быть, не менее п + 1 чисел лежит в о'. Поскольку п произвольно, то о' бесконечно и, следовательно, о просто.
8.4. Максимальные множества. Согласно определению дополнение простого множества хотя и бесконечно, но настолько «тесно», что не вмещает ни одного бесконечного рекурсивно перечислимого множества. Усиливая это свойство тесноты (названное в п. 8.3 иммунностью), приходим к следующему понятию сжатых множеств.
Множество U называется сжатым, если
1) U бесконечно и
2) ни для какого рекурсивно перечислимого множества D пересечения D f~| U и Ъ' U не могут быть одновременно бесконечными.
Условимся говорить, что множества А, В почти совпадают, если они отличаются друг от друга лишь конечным числом элементов, т. е. если множества
л - (а п В), в - (А п В)
конечны. Тогда свойство 2) будет означать, что пересечение U с любым рекурсивно перечислимым множеством либо конечно, либо почти совпадает с U.
Множество М называется максимальным, если оно салю рекурсивно перечислимо, а его дополнение сжато.
Пз этого определения непосредственно видно, что рекурсивно перечислимое множество Д[, имеющее бесконечное дополнение, максимально тогда и только тогда, когда каждое содержащее М рекурсивно перечислимое множество либо почти совпадает с Л, либо почти совпадает со всем натуральным рядом.
§ S. СВОДИМОСТЬ И КРЕАТИВНОСТЬ МНОЖЕСТВ
165
Ясно, что каждое максимальное множество просто. Обратное неверно: можно построить простые множества, не являющиеся максимальными (см. задачу 19 в конце этого параграфа). Поэтому вопрос о существовании максимальных множеств имеет существенное значение для теории рекурсивно перечислимых множеств.
Теорема 1 (Фридберг [1]). Максимальные рекурсивно перечислимые множества существуют.
Укажем эффективный процесс построения по шагам неубывающей цепочки конечных множеств
0 = М-1 £	£ ЛГ1 £ . .. £ М* £ . .
объединение которых М и окажется максимальным множеством.
Введем ряд нужных понятий. Положим Л/ = {D (i, 0), . . , (i, £)}, где D (i, «) — универсальная рекурсивная функция для класса одноместных примитивно рекурсивных функций. Очевидно, CZ Dj CZ . . . <ZZ Z>- CZ . . . и Dj = UZ>? является непустым рекурсивно перечислимым множеством и всякое непустое рекурсивно перечислимое множество совпадает с некоторым Dj. Заметим, что согласно п. 5.1 JDa= Dg = {0},
Далее, определим п-uimam числа х на шаге t как конечную последовательность . . . ап нулей и единиц такую, что
[ 1, если х е и »i=	I
( 0, если х D\ или i>t, где 0 I п.
Заметим, что для всякого «>0 имеется всего 2п+1 различных «-штатов. Упорядочим их, считая n-штат «о»!.. . ап меньше «-штата PoPi . . . рп, если существует i п такое, что при всех / < i имеем aj = Pj, но cq — 0, а [Д = 1.
Отметим два очевидных свойства «-штатов и их упорядочения:
(а)	при фиксированных « и х при t± О £2 «-штат числа х на шаге £2 не меньше «-штата числа х на шаге
(б)	если прп фиксированном шаге t, фиксированных х, у, т < п m-штат числа х больше m-штата числа у, то и «-штат числа •г будет больше «-штата числа у.
Нак	онец, нам потребуется список а0, аг, . . . всех натуральных чисел, т. е. ах = х, а также набор маркеров | х |, г :> 0.
Перед шагом 0 каждый маркер | х сопоставим числу г, Л-1= 0.
Описание процесса. Шаг t. К шагу t построено множество М*~1 и маркеры |« |, п = 0,1, . . ., сопоставлены соответственно числам в последовательности а0, а±, . . . На шаге t вычисляем элементы множеств для i t. Далее ищем наименьшее т t, а для него наименьшее «, т О « О t, такие, что на шаге t m-штат числа меньше zn-штата чпсла а^. Если таких чисел нет, то все маркеры оставляем на прежних местах, т. е. = а$, полагаем А1‘ = и переходим к шагу t + 1.
166
ГЛ. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ
В противном случае совершаем операции: 1) каждый маркер | к | для к т сопоставляем числу а^ _т, т. е. полагаем =
2)	все числа	для т О к < п освобождаем от маркеров
и добавляем к ЛТ*-1, т. е. М* = Мt-1 J {aj^ | т к < «}; 3) переходим к следующему шагу t + 1.
Эффективность, процесса обеспечивает нам (в сплу тезиса Чёр-. ча) рекурсивную перечислимость множества М — U М1. По пост-t
роению М состоит из чисел, потерявших маркеры, напротив, М' — из чисел с маркерами (т. е. маркированных чисел).
Остается показать, что множество М' обладает свойствами 1) и 2) из определения сжатого множества.
Лемма 1. Множество Л£' бесконечно.
Достаточно показать, что положение каждого маркера | т | стабилизируется при растущем t. Так как jD0 = D* = {0}, то маркер | 0 j ни при каком t сдвигаться не будет. После того как положения маркеров |о|, |1| , . . ., т — 1 стабилизировались, маркер | т | может перемещаться лишь к числам со все большими т-штатами. Но m-штатов только конечное число. Поэтому положение | т | при достаточно больших t также стабилизируется. Итак, маркированных чисел бесконечное множество и М' бесконечно.
Лемма 2. Для всякого рекурсивно перечислимого множества либо D (~| М', либо D' f~] М' конечно.
Если D = 0, то D (Д М' = 0. Если D =£= 0, то D = Dn для некоторого п. Фиксируем п.
Говорим, что число х останавливается в «-штате а, если, начиная с некоторого шага t, «-штат числа х есть всегда. По свойству (а) каждое х 6 М' при растущем t останавливается в некотором «-штате. Так как М.' бесконечно, то существует «-штат, в котором останавливается бесконечно много элементов из М'. Докажем, что не может быть более одного «-штата с таким свойством. Допустим противное. Пусть а — наименьший из таких n-штатов и Р (а < Р) — другой «-штат, в котором останавливается бесконечно много элементов из ДГ'. Тогда существуют числа а, Ъ, т, р такие, что « < т < р и а, Ь — окончательные положения маркеров | т | и р | соответственно, а останавливается в «-штате а, Ъ — в «-штате р. На достаточно большом шаге t выяснится, что n-штат числа а меньше «-штата числа Ъ. Тогда по свойству (б) и m-штат числа а меньше пг-штата числа Ъ. Поэтому маркер | т | должен на каком-то шаге сдвинуться, что противоречит выбору а.
Итак, почтп все числа пз М' останавливаются в одном и том же «-штате «о»! . . . ап. Теперь Dn (Д М' или D'n |Д М' конечно в зависимости от того, будет ли On = 0 илп On = 1.
Таким образом, М' — сжатое множество п М — максимальное множество.
§ 8. СВОДИМОСТЬ И КРЕАТИВНОСТЬ МНОЖЕСТВ
167
Дополнения, примеры и задачи
1.	Еслп а — числовое множество, то через / (а) будем обозначать множество значений функции / (ж) при г £ а. Если общерекурсивная функция / (г) осуществляет одно-однозначное отображение натурального ряда на свою часть, то из креативности (продуктивности) а вытекает креативность (продуктивность) f (а).
2.	Если из продуктивного множества вычесть какое-нибудь содержащееся в нем рекурсивно перечислимое множество, то останется снова продуктивное множество. Если к креативному множеству добавить не пересекающееся с ним рекурсивно перечислимое множество, то получится креативное множество.
3.	Совокупность постовских номеров одноэлементного множества продуктивна. Совокупность постовских номеров всех рекурсивно перечисленных множеств, отличных от множества {0}, также продуктивна.
4.	Построить продуктивное множество, дополнение которого также продуктивно (см. предыдущую задачу).
5.	Каждое бесконечное рекурсивно перечислимое множество содержит продуктивное подмножество и креативное подмножество.
6.	Если иммунное множество а m-сводится к множеству р, то р не всегда иммунно. Аналогичное верно и для простых множеств.
7.	Каждое бесконечное рекурспвно перечислимое множество содержит иммунное подмножество.
8.	Рекурспвно перечислимое множество называется мезоич-пым, если оно нп рекурсивно, ни креативно, ни просто. Доказать существование мезончных множеств (Деккер [1]).
9.	Каждое нерекурсивное рекурсивно перечислимое множество есть сумма двух непер осекающихся нерекурсивных рекурсивно перечислимых множеств (Фридберг [1]).
10.	Частичной продуктивной функцией для множества а называется частично рекурсивная функция р (п) такая, что згп С Д а => р (и) определено и р (к) G а — лп.
Если а, имеет частичную продуктивную функцию р (я), то а имеет и общерекурсивную продуктивную функцию, т. е. а продуктивно. Действительно, пусть 6 — область определения р (п). Предпкат у 6 6 & (х = р (у) V х f лу) рекурспвно перечпслпм. Ио теореме о представленип (п. 7.3) найдется общерекурснвная Фупкцпя / (у) такая, что у Е 6 & (.г = д (у) V -r С- я,,) *=? х G Отсюда следует: 1) п е 6 => л((п) =	(«)}’> 2) ?г 6 => я/(п) =
7- 0; 3) п $ 6 => р (f (п)) определена. Такпм образом, области определения р (г) п р (f (ж)) в сумме дают Й7. Берем общерекурсивную функцию g (ж), значения которой частью совпадают с р (г), частью с р (/ (ж))(см. п. 7.3, теорема 3). Так как р и pi частично пР°Дуктпвны для а, то g будет искомой продуктивной функцией для а.
11.	Подмножество р продуктивного множества а называется продуктивным центром а, если р = {р (г) [ лх С а) для подходящей частичной продуктивной функции р (,т) для а. Показать, что если Р — продуктивный центр продуктивного множества а, то а обладает п такпм продуктивным центром у, что у С 5 п 6 — у бесконечно. Показать, что каждое продуктивное мпожество пмеет любое конечное чпело попарно не пересекающихся продуктивных центров.
168
ГЛ. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ
12.	Множество а продуктивно тогда и только тогда, когда существует такая общерекурсивная функция f (ж), что
f (1) 6 (а — лх) J (лх — а)
для всех значений х (Майхил, ср. Фридберг и Роджерс [1])-
13.	Пересечение продуктивного и простого множеств есть множество продуктивное (Деккер [2]).
14.	Анализ доказательства теоремы 3 из п. 8.2 непосредственно приводит к следующим результатам, несколько более тонким, чем сама теорема 3. Множество а назовем слабо продуктивным, если для него существует такая общерекурсивная функция f (ж), что
а)	лх = 0 => / (г) е а,
б)	(згх одноэлементно и згх С2 а) => f (г) $ лх.
Показать, что каждое рекурсивно перечислимое множество т-сводимо к дополнению произвольного слабо прдуктивного множества и потому каждое слабо продуктивное множество продуктивно.
15.	Пусть все множества некоторого семейства @ имеют одну' и ту же слабо продуктивную функцию. Тогда
а)	существует функция, продуктивная одновременно для каждого множества из S;
б)	пересечение всех множеств из S продуктивно;
в)	объединение всех множеств из S продуктивно (С м а л ь я н [1], с. 101 (с. 148—149 русского перевода)).
16.	Каждое рекурспвно перечислимое множество, имеющее бесконечное дополнение, содержится в некотором простом множестве. Верно ли, что каждое рекурспвно перечислимое множество, имеющее бесконечное дополнение, содержится в некотором максимальном множестве?
17.	Согласно п. 7.4 у-номером (стандартным номером) конечного множества, состоящего из чисел с-, <? с2 <?. . . <? ст, ' называется число 2С‘ + 2^ + . . . + 2е™, а у-помером пустого множества называется 0. Словами уп, лп обозначаются конечное множество, имеющее стандартный номер п, и соответственно рекурсивно перечпслимое’множество, имеющее постовский номер п.
Бесконечное множество а называется гипериммунным, если не существует ни одной общерекурспвной функции i(x), для которой все'множества yi (0), yi (1), . . ., yi (га), . . . попарно'не пересекаются и каждое имеет хотя бы один элемент пз а.
Бесконечное множество а называется гипергипериммунным., если не существует ни одной общерекурсивной функции i (z), для которой множества Л1 (0), ni (1), . . ., xi (га), . . . попарно не пересекаются, конечны п каждое пз них имеет непустое пересечение с а.
Множество а называется гиперпростым или гипергиперпростым, если а рекурсивно перечислимо, а его дополнение а' гиперпммунно или соответственно гипергппериммунно.
Показать, что’каждое гипергиперпростое множество гипёр-просто, а гиперцростое просто. Доказать, что все максимальные множества гипергиперпросты (Фридберг [1]).
18.	Построить максимальные множества а, ₽, отличающиеся бесконечным множеством элементов (напрпмер, принять во внимание, что дополнение максимального множества состоит либо почти целиком из четных, либо почти целиком из нечетных чисел).
§ 8. СВОДИМОСТЬ И КРЕАТИВНОСТЬ МНОЖЕСТВ
169
19.	Если максимальные множества а, р отличаются бесконечным множеством чисел, то их пересечение гппергиперпросто, но не максимально (Е пт с [1]).
20.	Если рекурсивно перечислимое множество а не гипер-пшерпростое и его дополнение а' бесконечное, то найдется такая ибщерекурспвпая функция j (г), что последовательность я/ (0), л/ (1), . . . будет состоять из попарно не пересекающихся множеств, каждое пз которых имеет бесконечное пересечение с а' (Ейтс [1]).
21.	Существует гиперпростое множество, не являющееся ги-иергпперпростым.
22.	Прямым пересчетом (пли трассирующей функцией) множества а называется функция / (г), пересчитывающая элементы а строго в порядке пх возрастания. Иначе говоря, для бесконечного a f (х) — монотонно возрастающая функция, совокупность значений которой совпадает с а. Показать, что общерекурсивным прямым пересчетом обладают бесконечные рекурсивные множества и толь-КО они.
23.	Говорят, что функция g (г) мажорирует функцию / (г), если существует такое а, что g (i)	/ (г) для х а. Доказать, что
рекурсивно перечислимое множество а гпперпросто тогда п только тогда, когда его дополнение а' бесконечно и прямой пересчет а' не мажорируется никакой общерекурсивной функцией (У сп ен-с к и п [2], Райс [3]).
24.	Говорят, что частично рекурсивная функция / (г) ретрас-сирует множество а, если для каждого х G а: а) значение / (ж) определено; б) если число х не минимально в а, то f (г) есть ближайшее меныпее в а; в) если х минимально в а, то / (г) = х. Множество а называется ретрассируемым, если существует хотя бы одна частично рекурсивная функция, ретрассирующая а.
Пусть числа а0, alt а2, . . ., ап, . . . удовлетворяют условиям 1 < я0 9, 0 <	< 9 (i = 1, 2, . . . ). Показать, что множество
о = {а0, 10-а0 + а^, 1О2-ао + 10-Д- а2, . . .} ретрасспруется функцией
/ (г) =
х, если 0<5ja:^9,
-jL , если 10 < х.
10 J
1 аким образом, функция / (г) является ретрассирующей для континуального числа множеств о.
Показать, что каждое рекурсивное множество ретрассируемо 11 что каждое ретрассируемое множество рекурспвно пли иммунно 'Деккер п М а й х п л [2]).
25.	Каждое ретрассируемое множество, имеющее рекурспвно перечислимое дополнение, пли рекурспвно, пли гипериммунно (см. задачу 23) (Д е к к е р п М а й х и л [2]).
26.	Рекурсивно перечислимое множество а имеет регрессируете дополнение тогда п только тогда, когда существует общерекурсивная функция % (ж) такая, что множество а является совокупностью тех значений х, для которых неравенства
X (у) < X (*) & У > х
имеют некоторое решение у (представление Ейтса [1]).
170
ГЛ. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ
27.	Множество а гипергиперпросто тогда и только тогда, когда! оно рекурсивно перечислимо, его дополиепие а' бесконечно и а'Я не содержит бесконечных ретрассируемых подмножеств (Е и т с [1]);|
28.	Табличная сводимость. С алгоритмической точки зрения! m-сводимость множества а к множеству р означает истинность для! некоторой общерекурспвной функции f (х) следующего предписа-] ния: если хотите знать, расположено чпсло х внутри пли вне мно-я жества а, то найдите / (.г-) и узнайте расположение / (z) отиосптель-3 но р. Если / (.г) внутри р, то х внутри а; если же / (z) впе Р, то z3 вне а.	1
Вид этого предписания легко обобщается, например, следую-] щим образом: если хотите знать, как расположено х относительно ая вычислите значения двух рекурсивных функций /х (z), /2 (z) п пос-| мотрите, как эти значения расположены относительно р. Если] /1 (г) 6 Р & /г (г) ё Р, то х £ а, а в остальных случаях х $ a. j!
Последний критерий можно изменить, потребовав, Чтобы! х £ а было в случаях /х (z) ф р & /2 (z) £ р илн /х (z) £ Р <&| & /2 (z) ф р, а в остальных случаях чтобы было х ф а.	я
Класс рассматриваемых предписаний можно еще расширить! путем задания п функций /х (z), . . ., /n(z) и усложнения соответ-J ь r I х критериев вхождения х в а (таблицистинности). Все эти] предписания были названы П о с т о м [3J табличными сводимости^ ми. Ясно, что вместо задания п функций можно ограничиться и] заданием лишь одной функции z (г) = [п — 1, [/х (г), . . ., /п (i)lil т — 1]. Тогда знание z (4) дает не только число п, значения! /г (г), •  fn (г)> п0 и номер т соответствующей таблицы истинно,-| сти. Изложенное можно резюмировать в следующем формальном» определении.	.1
Условимся говорить, что число z таблично сводимо к множеству; р (символически р |=(( z), если в результате следующих вычислен ннй:	i
1)	ищем числа п = [z]31 + 1, у = [z]32, т = [z]33 + 1, где’ [z],-y — нумерационные функции из п. 7.1 (или соответствующие из: п. 3.3);
2)	ищем числа ех = % ([у]п1), . .., е„ = % (ly]nn), где %—; характеристическая функция множества р;
3)	находим число и = ех е2«2 + . . .	еп-2п-1 и, представ-
ляя т в виде т = 2U“ + 2U1 . . . 4- 2 s (и0 <£ ux <С . . . < us),. находим числа и0, иъ . . ., и3	(
— окажется, что и £ {u0> ui • • •, ws}-
Множество а называется таблично сводимым к множеству Р (символически а у?» Р), если существует такая общерекурсивная-функция / (z), что z £ а уу р |=ц / (z) для каждого значения х.
Показать, что отношение табличной сводимости рефлексивно, транзитивно и что из »г-сводпмости вытекает табличная сводимость.
29. Говорят, что множество а сводится к р таблицами ширины со, если существует такая общерекурсивная функция / (z), что х £ а <4 р |=tt / Сг) п I/ (г)]з1 + 1 < w Для каждого значения х.
Если множество а сводится к р таблицами ширины v, a Р сводится к у таблицами ширпны и>, то а сводится к у таблицами ширины; vw. Из п;-сводимости вытекает сводимость таблицами ширины 1. Верно лп обратное?
30. Если а таблично сводимо к рекурсивному множеству, то а рекурсивно.
§ 9. НУМЕРАЦИИ ПРОИЗВОЛЬНЫХ СОВОКУПНОСТЕЙ
171
31.	Креативные множества таблично сводимы к простому множеству Поста, построенному в п. 8.3 (Пост [3]).
32.	Креативные множества не сводимы таблично к гиперпростым множествам (Пост [3]).
33.	Множество а называется ограниченно таблично сводимым i; множеству р, если для некоторого w а сводимо к р таблицами ширины w. Никакое креативное множество не может быть ограниченно таблично сводимым к простому множеству (Пост [3], с. 304).
34.	Пусть а" обозначает совокупность номеров ге-ок с элементами из а. Показать, что ап сводится к а таблицами ширины п. Существует такое простое множество а, что а2 та, а3 < та2, . . . (а С тР означает, что а не m-сводимо к р) (Фишер [1]).
35.	Согласно Смальяну иммунное множество а называется аффективно иммунным, если существует такая частично рекурсивная функция f (х), что для каждого значения х: если лх содержится в а. то /(i) определено и количество чисел в лх меньше / (х). Рекурсивно перечислимое множество называется эффективно простым, если его дополнение эффективно иммупно. Показать, что построенное в и. 8.3 простое множество Поста эффективно просто. Каждое эффективно простое множество просто. Существуют простые множества, не являющиеся эффективно простыми (Сакс [1]).
36.	Показать, что пересечение двух простых множеств есть простое множество, объединение двух простых множеств либо просто, либо имеет конечное дополнение, существуют два простых множества, объединение которых совпадает со всем множеством натуральных чисел. Те же утверждения имеют место и для гиперпростых множеств (Деккер [1]).
§ 9. Нумерации произвольных совокупностей
В данном параграфе излагаются основы общей теории нумерованных совокупностей объектов. Одно простое свойство нумерации Клини, сформулированное в абстрактном виде, принимается в качестве аксиомы, определяющей так называемые полные нумерации, среди которых, помимо нумераций Клини п Поста, имеется и ряд других конкретных важных нумераций. Более детально изучаются свойства некоторых специальных нумераций семейств рекурсивно перечислимых множеств, что позволяет отчетливее выделить место, занимаемое нумерациями Клини и Поста среди других возможных нумераций совокупностей частично рекурсивных функций’и "множеств. В конце параграфа рассматривается понятие рекурсивной неотделимости множеств, связанное с нумерациями и играющее заметную?роль в теории рекурсивных функций.
9.1.	Изоморфизм и эквивалентность нумераций. ~'Ну-черацией ср совокупности объектов U называется отображение некоторого множества ДДр натуральных чисел на
172	ГЛ. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ	-
совокупность U. Число п 6 У у, называется ^-номером (или просто номером, если ф фиксировано) объекта фп £ £ U. Множество Аг(р называется номерным множеством ; нумерации ф. Из этого определения следует, что каждый j объект нумерованной совокупности имеет хотя бы один ( номер. Если каждый объект имеет в точности один'номер, то нумерация называется одно-однозначной (или, короче, •; однозначной). Если номерное множество Уу совпадает с • всем натуральным рядом У, то нумерация называется ; простой. Далее мы будем рассматривать лишь простые ; нумерации, хотя многие понятия и теоремы легко перено- j сятся и на непростые нумерации (см. Мальцев [3] i и указанную там литературу). Соответственно этому далее i под словом «нумерация», если не оговорено противное, всег- \ да понимается простая нумерация.
Пусть (U, ф)> — некоторая нумерованная совокуп- ; ность U с нумерацией ф. Вводим на номерном множестве ; У у — У бинарное отношение 0, полагая по определению ;
xQy <=Ф фа; = фу.
Ясно, что отношение 0 рефлексивно, транзитивно и симметрично. Его иногда называют нумерационной эквивалентностью и вместо xQy пишут х = у (mod 0). ) Совокупности чисел, эквивалентных друг другу по mod 0, • называются нумерационными классами. Иначе говоря, ну- ; мерационными классами называются совокупности всех номеров отдельных объектов из U. Если п — число, то через Qn обозначается множество чисел, сравнимых по ’ mod 0 с п, т. е. дп есть множество всех номеров объекта фп. Система 17/0 всех нумерационных классов находится в естественном взаимно однозначном соответствии с совокупностью объектов U. В каком-то смысле нумерацию ф ; можно считать вполне заданной, если задано отношение 0. С этой точки зрения теория нумерованных совокупно- ; стей — это теория рефлексивных, транзитивных и симмет- ( ричных отношений, заданных на натуральном ряде.
Говорят, что общерекурсивная функция f (х) представ- ; ляет гомоморфизм нумерованного множества <17, ф> на ( нумерованное множество <И,ф)>, если f (а;) отображает i взаимно однозначно натуральный’ряд’на себя и если для каждых х, у	.
Ф-т = <Р// => Ф/ (ж) = ф/ (у).	(1) J
Из условия (1) следует, что отображение h: фа; ; ф/ (а;) есть однозначное (в одну сторону) отображение J7 .
§ 9. НУМЕРАЦИИ ПРОИЗВОЛЬНЫХ СОВОКУПНОСТЕЙ 173 па V, которое, собственно, и называется гомоморфизмом, а функция f (ж) лишь «представляет» этот гомоморфизм.
Ясно, что если / (х) представляет гомоморфизм нумерованного множества (U, ср> на нумерованное множество <F, ф\ а функция g (х) представляет гомоморфизм <F, ф)> на нумерованное множество <TF, %), то функция g (f (х)) представляет гомоморфизм (ГТ", ф>на<Ж, %). Иначе говоря, композиция гомоморфизмов есть гомоморфизм.
Говорят, что общерекурсивная функция / (х) представляет изоморфизм нумерованного множества (U, ср> на нумерованное множество <К,ф)>, если/(а;) отображает взаимно однозначно натуральный ряд на себя и для каждых х, У
(рх = фу 44 ф/ (х) = ф/ (у).
Таким образом, функция f (х) представляет изоморфизм, если / представляет гомоморфизм <7, ф)> на (V, ф>, а обратная функция представляет гомоморфизм <F, ф> на <17, ф>.
Нумерованные множества называются изоморфными, если существует функция, представляющая изоморфизм первого множества иа второе. Из замечания о композиции гомоморфизмов следует, что отношение изоморфизма нумерованных множеств рефлексивно, симметрично и транзитивно .
Вводя понятия гомоморфизма и изоморфизма, мы рассматривали, вообще говоря, различные нумерованные совокупности объектов. Однако случай, когда сравниваются различные нумерации одного и того же множества, играет важную роль и требует новых понятий. Пусть ф, ф — (простые) нумерации одной и той же совокупности объектов U. Мы будем говорить, что нумерация ф сводится к нумерации ф (символически ф<(ф), если существует общерекурсивная функция f (х) такая, что
фа; = ф/ (х).
Нумерации ф и ф называются эквивалентными, если каждая из них сводима к другой. С точки зрения теорпи алгоритмов эквивалентные нумерации — это такие нумерации, для которых существует алгоритм, позволяющий по произвольному номеру любого объекта из основной совокупности в одной нумерации найти некоторый номер того же объекта в другой нумерации.
174	ГЛ. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ
Нумерация -ср называется рекурсивно изоморфной нумерации ф, если существует общерекурсивная функция / (ж), отображающая взаимно однозначно натуральный ряд xV на себя и сводящая ф к ф.
Значение понятия изоморфизма нумераций можно пояснить следующим образом. Вводя нумерацию ср совокупности U, мы, естественно, начинаем смотреть на номер х объекта фж как на его координату в координатизации ср. Переход от нумерации ср к нумерации ф означает, с этой точки зрения, переход от одной координатизации к другой. Какие же координатизации считать равноценными? С алгоритмической точки зрения наиболее «равноценными» следует считать изоморфные, так как в этом случае упомянутая выше функция / (х) дает алгоритм, позволяющий по совокупности всех номеров объекта в одной нумерации находить не один номер, а все номера того же объекта в другой нумерации.
Мы ввели два понятия изоморфизма: изоморфизм двух нумерованных множеств и изоморфизм нумераций одного и того же множества. Следующий пример показывает, что эти понятия существенно различны.
Пусть семейство U состоит из всех натуральных чисел. Тождественное отображение U на U обозначим через ср. С другой стороны, пусть функция g (х) осуществляет взаимно однозначное отображение натурального ряда на себя, но не является рекурсивной. Формулой фж = g (х) вводим нумерацию ф той же совокупности U. Нумерации Ф и ф как нумерации одного и того же множества не изоморфны. Действительно, изоморфизм ф и ф равносилен существованию общерекурсивной функции / (ж), удовлетворяющей соотношению
фж = ф/ (х).
Из определения нумераций ф, ф следует, что g (f (ж)) = х. Но это невозможно, так как g не рекурсивна, a f рекурсивна.
В то же время нумерованное множество (1J, ф> изоморфно нумерованному множеству (U, ф>, так как заведомо выполняется соотношение <рх = фу <=> фж = фу.
Рассмотрим еще одну нумерацию того же множества V, определенную формулами
X (0) = 0, % (ж + 1) = х.
§ 9. НУМЕРАЦИИ ПРОИЗВОЛЬНЫХ СОВОКУПНОСТЕЙ 175
Это значит, что объект 0 имеет в нумерации % два номера 0 и 1, а все остальные объекты имеют по одному номеру. Нумерации ср, % эквивалентны. Однако они не изоморфны, ибо соответствующие нумерационные классы у изоморфных нумераций имеют одинаковое количество чисел, тогда как все классы нумерации ср имеют по одному числу, а нумерация % пмеет класс, состоящий из двух элементов .
Следующий способ образования из одного нумерованного множества другого часто оказывается полезным. Пусть задана совокупность объектов £7, снабженная нумерацией ср. Определим на U какое-нибудь отношение эквивалентности р и рассмотрим систему U/p всех классов p-эквивалентных друг другу объектов из U. Пусть ра — класс всех объектов из U, p-эквивалентных какому-либо объекту а. Вводим нумерацию срр системы Г7/р, полагая для произвольного х (Е 2V
сррЖ = pcpz.	(2)
Из этой формулы непосредственно видно, что тождественная функция / (ж) = х представляет гомоморфизм нумерованного множества <17, ср> на нумерованное множество <17/р, сррУ Множество 17/р называется фактормножеством от U по эквивалентности р, а нумерация срр называется факторнумерацией от ср по р. Из той же формулы (2) видно, что нумерационные классы чисел для фак-торнумерации срр являются объединениями соответствующих нумерационных классов для исходной нумерации ср.
Теорема! (о гомоморфизме). Пусть функция / (х) представляет гомоморфизм нумерованного множества <J7, ср)> на нумерованное множество <F, ф>. Вводим на совокупности TJ эквивалентность р, называя объекты из U p-эквивалентными, если их гомоморфные образы в V совпадают, т. е. полагая
(срж) р (срр) 44 ф/ (ж) = ф/ (р).	(3)
Тогда функция f (ж) представляет изоморфизм фактормножества (JTIp, срр)> на <F, ф)>.
В самом деле, пз (3) следует
ф/ (х)‘= ф/ (р) =4 сррх = сррр.
Обратная импликация также очевидна.
Образец гомоморфизма, представляемого функцией / (~) = х, дают нумерации Клини х и Поста л, так как
176	ГЛ. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ
/
заведомо
хт = т =$ лт = лп.
Упоминающееся в теореме 1 отношение р здесь означает: две функции p-эквивалентны, если совокупности значений этих функций равны.
9.2.	Односводимость, нумераций. Нумерация ср множества U называется односводимой к нумерацииф того же множества, если существует общерекурсивная функция / (ж), принимающая различные значения при различных значениях аргумента и сводящая1 ф к ф. Если функция f (х) односводит нумерацию ф к нумерации ф, а функция g (х) односводит ф к нумерации %, то функция g (j (ж)), очевидно, односводит ф к %.
Нумерации ф и ф называются одноэквивалентными, если каждая из них односводима к другой.
Понятие односводимости представляет собой специализацию понятия сводимости. Поэтому ИЗ ОДНОСВОДИМОСТИ ф к ф или одноэквивалентности ф и ф вытекает соответственно сводимость или эквивалентность ф, ф. Обратное не всегда верно. Однако существуют простые условия, при которых верно и обратное. Для формулировки этих условий введем еще одно понятие.
Нумерацию ф совокупности U назовем нумерацией с эффективно бесконечными классами, если существует двуместная общерекурсивная функция В (х, у), обладающая следующими свойствами:
а)	ф5 (ж, у) = фж;
б)	у =£ z =й> В (х, у) =£ В (х, z).
Функция В (ж, у) дает нам алгоритм, который по одному какому-нибудь номеру ж объекта позволяет найти бесконечное число различных номеров В (ж, 0), В (х, 1), . . . того же объекта.
Теорема 1. Если нумерация ф сводима к нумерации ф, имеющей эффективно бесконечные классы, то ф односводима к ф.
Пусть функция / (ж) сводит ф к ф, и пусть функция В (х, у) обладает свойствамп а), б) относительно нумерации ф. Функцию g (х), односводящую ф к ф, можно построить следующим образом.
Полагаем по определению g (0) = / (0) и далее, считая значения g (0), g (1), . . ., g (п) уже известными, полагаем
h (и) = R (5 (/ (и + 1), t) (t {g (0), . . ., g (и)}),	(1)
g (п + 1) = В (j (п + 1), h (п)).	(2)
§ 9. НУМЕРАЦИИ ПРОИЗВОЛЬНЫХ СОВОКУПНОСТЕЙ
177
Из (1) следует, что g (п + 1) $ {g {0), . . g (тг)}, т. е. что функция g (а;) принимает различные значения при различных значениях аргумента, а из (2) и свойств функции В (х, у) имеем
№ fa) = ф/ (и) = ф?г.
Остается проверить, что функция g общерекурсивна. С точки зрения теории алгоритмов это ясно, так как для вычисления значений функции g указан регулярный процесс. Однако для строгого доказательства этого факта надо показать, что функция g получается операторами подстановки, примитивной рекурсии и ц-оператором из функций В, f и других общерекурсивных функций. Необходимые вычисления не представляют собой трудности и мы их здесь опустим (см. задачи 1, 2 к этому параграфу).
Если внимательно просмотреть доказательство теоремы 1, то легко обнаружить, что оно показывает справедливость не только теоремы 1, но и следующего, несколько более общего утверждения.
Теорема 1а. Пусть нумерация ф сводима к нумерации ф. Если при этом существует общерекурсивная функция Во (х, у), удовлетворяющая требованиям
a)	tyBo (х, у) = фж;
б)	У =£ z => Во (х, у) Во (х, z), то нумерация ф односводима к нумерации ф.
Действительно, функцию g (х), односводящуго ф к ф, можно определить по тем же формулам (1), (2), заменив в них лишь подформулы В (f (п + 1), i) и В (/ (п + 1), h (тг)) соответственно выражениями 5о {п + 1, £) иВо (п Д-~г 1, h (тг)).
Ясно, что теорема 1 есть частный случай теоремы 1а: если функция В (х, у) для нумерации ф известна и нумерация ф сводится функцией / (х) к нумерации ф, то функция
Во (х, у) = В (f (х), у) обладает свойствами а), б) пз теоремы 1а.
Сформулируем п докажем теперь одну из центральных теорем теорпи нумерованных множеств, имеющую большое значение как для самой этой теорпп, так п для ее приложений.
Теорема 2 (об ' изоморфизме нумераций). Одноэквивалентные нумерации произвольной совокупности объектов изоморфны между собой.
178	гл. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ	i
Пусть ф, ф—, 'одноэквпвалентпые нумерации какой-нибудь совокупности объектов U. Обозначим через / (х) ] функцию, односводящую нумерацию ф к нумерации ф, " и через g (ж) функцию, односводящую ф к ф. Нам надо указать алгоритм для вычисления значений новой функ- ; ции li (ж), которая представляла бы изоморфизм ф на ф.  Для этого придется ввести несколько вспомогательных понятий и функций.
Финитным соответствием условимся называть каждую конечную последовательность
О, z/o>, <хг, у±у, . . <жь рй>	(3)
пар натуральных чисел, удовлетворяющую условиям ,-j
жг- =	44 уг- = у},	<
ф^г = УУг (*, 7 = 0,1,.. к).	(4) 5
Номером финитного соответствия (3) назовем число

где ро = 2, рх = 3, . . . — последовательные простые числа, а [х, у] — номер пары (я, у}, вычисляемый согласно % и. 7.1.	,	<
С помощью заданных функций /, g мы хотим теперь .j построить общерекурсивные функции S (т, п), Т (т, п), значения которых были бы равны номерам финитных со-ответствий	:
<жо, Уо>, <аа, ух>, . . ., <.хк, уку, <рг, ук+1>	(5) i
и соответственно	|
<Ж0, Уо>, О1, У1>, • .	<л, уку, <^+1, ту, (6) :
: 1 где п — номер соответствия (3), т — произвольное число,, f а хк+1, уь+1 — подходящие числа, зависящие от т, п. Со- j ответствия (5) и (6) представляют собой расширения со- ] ответствия (3), которые вводят в игру произвольно задан-  ное число т. Возможность таких расширений и доказывается посредством построений функций 5 (иг, п) и Т (т, п). j
Укажем сначала алгоритм для вычисления S (т, п). ] Пусть заданы число т и некоторое соответствие (3), номер ,1 которого есть п. Нам надо указать, какое число мы выбираем в качестве Этот выбор производится по-разному ’ в каждом из следующих трех возможных случаев.
§ 9. НУМЕРАЦИИ ПРОИЗВОЛЬНЫХ СОВОКУПНОСТЕЙ 179
а)	Если т g {то, . .	х}:) и i — наименьшее число,
для которого Х( = т, то полагаем yfr+1 = yt.
б)	Если т $ {то, . . ад.} и / (т) $ {у0, . .	у*}, то •
полагаем у;.+1 = f (m).
в)	Если т $ {то, . . т/,.}, но / (т) 6 {уо, .	у к}, то
число у1+1 строим посредством следующего процесса. Берем наименьшее число i\, для которого / (т) = ytl, и рассматриваем / (тг<). Если f (тг<) £ {уо, . . ук}, то берем наименьшее г3, для которого / (х^) = у?,- и рассматриваем / (xi2). Продолжая этот процесс, получим серию чисел yit, yi2, . . . Мы хотим показать, что эта серия оборвется, т. е. что найдется число s, для которого / (xi$) $ {уо, . . Уц}.
Докажем, что числа у;., yi2, . . . различны. Пусть для некоторого и числа у(1, . . ., yiu попарно различны и f	Если бы оказалось, что yiu+1 = yiv (1 <
' у < «), то мы имели бы f (xiu) = /	). Так как функ-
ция / (т) при разных значениях аргумента принимает разные значения, то из последнего равенства следует xiu = = xt и, значит, yiu = Уг1,_1 вопреки предположению.
Итак, все члены последовательности yZ1, уь, . . . различны и все они содержатся в множестве {у0, . . ., уд-}. Поэтому последовательность будет иметь последний элемент yis, и, таким образом,
/ (т) = у;„ f (xit) = yi2, . . f (xis l) = yis,
f (xis) {y0, . . ., ys-}. (7)
По определению полагаем ух.+1 = / (%ts)-
Пара yx-+1> построена. Надо показать, что последовательность (5) представляет собой финитное соответствие при условии, что финитным соответствием является последовательность (3). В случаях а) и б) это очевидно. В случае в) второе из требований (4) выполняется автоматически, так как ввиду цепочкп равенств (7) последовательно получаем
срщ = ip (/ (т)) =	= ф^ = (Xii) = . . .
• • • = W &is) = lpyf+i.
Первое пз условий (4) в случае в) также выполнено, так как для i < к + 1 имеем xt т, а из уг- = yfr+1 следовало бы соотношение / (xis) = уг £ {у0, . . ., уь}, невозможное ввиду (7).
Меняя ролями /, а:0, . . ., х}: и g, у0, . . ук, аналогичным путем по заданному соответствию (3) и числу т
180	ГЛ. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ
строим расширенное соответствие (6). Как уже говорилось, номера соответствий (5) и (6) обозначаются через S (т, п) и Т (уп, п), где п — номер соответствия (3).
Конечно, нас интересуют лишь случаи, когда последовательность (3) является финитным соответствием. Однако с формальной точки зрения описанные выше процессы нахождения числа гц+1 в случаях а), б) дают определенный результат и тогда, когда последовательность (3) не есть финитное соответствие. Чтобы достичь этого в случае в), достаточно считать серию yfl, ylt, . . ., yis обрывающейся, как только окажется, что / (xQ {у0, . . ., z/J или что yis совпадает с каким-либо предыдущим членом в последовательности у,,, yt , . . .
После этого дополнительного замечания мы можем считать функции 5 (т, п), Т (уп, п) определенными для всех значений т, п, исключая п — 0, 1, так как последовательностей с такими номерами вообще нет. Но мы и для п = 0, 1 доопределим функции S (уп, п), Т (тп, п) каким-либо регулярным способом. В результате будем иметь всюду определенные функции S, Т, значения которых вычисляются при помощи точного алгоритма. Согласно тезису Чёрча отсюда следует рекурсивность функций S, Т. Строгое доказательство рекурсивности S, Т требует, чтобы функции S, Т были выражены через f,gn другие рекурсивные функции при помощи операций подстановки и ц-операций. Ввиду рутинного характера соответствующих вычислений здесь их приводить не будем.
Итак, нами построены общерекурсивные функции S и Т. Функция 5 позволяет финитное соответствие с номером п пополнить парой (уп, содержащей в качестве левого элемента произвольно заданное число т, а функция Т позволяет финитное соответствие с номером п пополнить парой (xk+i, гп), содержащей произвольно заданное число тп в качестве правого элемента.
Берем теперь простейшее соответствие, состоящее все-го~из одной пары (0, / (0)\ и называем его начальным, а затем постепенно расширяем его, применяя поочередно функции 5 и Т так, чтобы в целом получилось отображение всего натурального ряда на себя. Для более точного описания этого процесса вводим функцию w (х), значение которой w (п) будет равно номеру n-го расширения начального соответствия. Полагаем по определению
^(0) =pr[0'/(0)1t
§ 9. НУМЕРАЦИИ ПРОИЗВОЛЬНЫХ СОВОКУПНОСТЕЙ
181
W (п + 1) —
Т ш(н)),
5 (“Чт- ’ w №)'
если п четно, если п нечетно.
(8)
Отсюда видно, что функция w ной рекурсией из функции
(х) возникает примитив-
5(РА-#~2


и потому w (х) — общерекурсивная функция.
Рассмотрим, наконец, функцию у = h (х), значение которой у равно правому числу той пары финитного соответствия с номером w (2х), левое число которой равно х.
Согласно схеме (8) последняя пара финитного соответствия с номером w (2х) имеет вид <х, Ук+^У, причем
Ук-н = [ex (2х, w (2ж)) — 1]22,
где [z]22 — правый элемент пары с номером z (п. 7.1). Поэтому
у = h (х} = [ex (2х, w (2т)) — 1]22
и, следовательно, функция h (т) общерекурсивна. Если xr <Z х, то соответствие с номером w (2т) содержит пары (xr, h (х^у и (х, h (х)у. Из (4) получаем h (а?х) #= h (х). С другой стороны, соответствие с номером 2т + 1 согласно (8) оканчивается парой вида <Ф.+1, тУ) и, значит, уравнение h (ж) — т имеет решение Xk+i для каждого т. Таким образом, функция h (х) взаимно однозначно отображает натуральный ряд на себя, удовлетворяет требованию (рх = фй (х) и представляет искомый изоморфизм нумерации <р на нумерацию ф.
Доказательство теоремы 2 завершено.
Теоремы 1 и 2 относятся к нумерациям одной и той же совокупности объектов. Однако нетрудно получить соответственные теоремы и для нумераций различных совокупностей объектов. Мы ограничимся здесь переформулировкой теоремы 2.
Теорема 3. Пусть заданы какие-либо нумерованные множества ф>, <-lf2, ф)> и взаимно однозначное отображение £ совокупности объектов -ITj первого множества на совокупность объектов второго. Если существуют общерекурсивные функции / (х), g (х), принимающие в раз
182
ГЛ. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ
личных точках различные значения, и удовлетворяющие требованиям
I (фж) = ф/ (ж), I, ((pg (х)) = фж,	(9)
то отображение £ есть изоморфизм уУ на(М2,\\>У, т. е. существует общерекурсивная функция h (х), взаимно однозначно отображающая натуральный ряд на себя и удовлетворяющая требованию
£ (фж) = # (ж).
Действительно, введем еще одну нумерацию фх совокупности М2, полагая
Ф1« = t, (фп).
(Ю)
Соотношения (9) показывают, что функция / (ж) односводит фх к ф, а функция g (х) односводит ф к фх. По теореме 2 отсюда заключаем, что нумерации ф и фх рекурсивно
изоморфны, т. е. что существует общерекурсивная функ-
ция h (х), взаимно однозначно отображающая натуральный ряд на себя и удовлетворяющая требованию фхж = ф/г (ж). В силу (9) и (10) это соотношение можно переписать в форме t, (фж) = фй (ж), что и требовалось.
Чтобы проиллюстрировать действенность теоремы 3, докажем, например, что нумерация Клини х всех одноместных частично рекурсивных функций и нумерация Клини
х2 всех двуместных частично
рекурсивных
функций изо- -
морфны.
Обозначим через t, отображение, при котором одноместной частично рекурсивной функции К («, х) ставится '
в соответствие двуместная частично рекурсивная функция К (п, [ж, у]). Ясно, что t, взаимно однозначно отображает совокупность g-p.r всех одноместных частично рекурсивных
функций на совокупность §р.г всех двуместных частично рекурсивных функций. Ищем такое постоянное а, чтобы





К (п, [ж, у]) = К ([а, ?г], ж, у).
Отсюда получаем = х, [а, /г]. Следовательно, функция / (ж) = [а, х] «односводит» х к х2. С другой стороны; пщем такую постоянную Ь, чтобы
к (ii, [й21, [г],,) = к (ь, п, t).
Подставляя сюда вместо t выражение [ж, у], получим
К ([Ьг п], [х, у]) = К (я, ж, у)г
§ 9. НУМЕРАЦИИ ПРОИЗВОЛЬНЫХ СОВОКУПНОСТЕЙ
183
т. е. t, (х [&, /г]) = х2ге. Это показывает, что функция g (ж) = [6, х] «односводит» нумерацию х2 к нумерации х. Слово «односводит» взято ками в кавычки, так как понятие односводимости было нами определено лишь для различных нумераций одной и той же совокупности, а здесь мы имеем дело с разными совокупностями и «односводимость» следует понимать в смысле, указанном в теореме 3. Пользуясь этой теоремой, заключаем, что отображение t, есть изоморфизм <5р.г, х> на <3'р.г, х2>.
9.3.	Полные нумерации. Нумерация ср совокупности объектов М называется полной (см. Мальцев [3]), если в М существует особый объект о, обладающий следующим свойством: для каждой частично рекурсивной функции F (х) существует такая общерекурсивная функция G (х), что для каждого числа х
Ф<7 (х} =
q>F (х), если F (х) определено,
(1) .о, если F (ж) не определено.
Здесь, как и всюду, под нумерацией мы понимаем простую нумерацию, у которой номерное множество совпадает со всем натуральным рядом. Если совокупность М содержит лишь один объект, то простых нумераций у М лишь одна и она, очевидно, полна.
Теорема 1. Гомоморфный образ совокупности с полной нумерацией есть совокупность с полной нумерацией.
Действительно, пусть функция h (х) представляет гомоморфизм полно нумерованной совокупности с особым объектом о на нумерованную совокупность (АГХ, ф> и, значит,
<рж = цу => ф/i (ж) = ф/i (у).	(2)
Пусть а — какой-нибудь ф-номер о. Положим о, = ф/i (а) и рассмотрим произвольную частично рекурсивную функцию F (ж). По условию найдется такая общерекурсивная Функция G (ж), для которой
ф/i-1 (Е (ж)), если Е(ж) определено, фа,	если Е(ж) не определено.
фб? (ж) =
В сплу (2) мы можем в этих равенствах спмвол ф заменить символом ф/i и получить, таким образом, условия полноты нумерации ф с особым элементом ох.
184
ГЛ. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ
Из теоремы 1, в частности, следует, что если нумерованное множество изоморфно множеству с полной нумерацией, то оно само имеет полную нумерацию.
Теорема 2. Нумерация, Клини полна и имеет нигде не определенную функцию своим особым элементом.
Пусть F (х) — какая-нибудь частично рекурсивная функция. Ищем такое число а, чтобы для всех значений х, t было
К (F (ж), t) = К ([а, х], t).
Таким образом, если F (х) определено, то функция с номером [а, х! совпадает с функцией с номером F (х). Если же F (х) не определено, то функция с номером [а, х] есть нигде не определенная функция о. Следовательно, общерекурсивная функция G (х) — [а, х] удовлетворяет условию (1) и нумерация х полна.
В п. 9.2 было установлено, что нумерация Клини %s всех s-местных частично рекурсивных функций изоморфна нумерация х. Поэтому вместе с нумерацией х полными являются и все нумерации xs. В п. 9.1 показано, что нумерация Поста л есть гомоморфный образ нумерации х. Следовательно, л — также полная нумерация, причем особым элементом для л является пустое множество.
Сопоставляя теоремы 1 и 2, видим, что, разбивая одноместные частично рекурсивные функции совершенно произвольным образом на классы и беря соответствующую факторнумерацию от х, мы получим полную нумерацию. Это показывает, что запас полных нумераций достаточно большой.
Мы хотим теперь некоторые свойства нумерации Клини, полученные в § 7, распространить на произвольные полные нумерации.
Теорема 3. Для каждой полной нумерации ф и каждого г существует общерекурсивная функция PTV (хъ . . ., хг), обладающая следующим свойством: для каждой частично рекурсивной r-местной функции Н (гс15 . . ., хг) существует такое число а, что для любых значений х2, . . ., хТ
Ц)РТЧ (а, х-2, . . хг) =
(pH (а, х-2, . . ., хг), если Н (а, х2,. .., хт)
=	определено,	(3)
о
в противном случае.
§ 9. НУМЕРАЦИИ ПРОИЗВОЛЬНЫХ СОВОКУПНОСТЕЙ 185
Рассмотрим вспомогательную функцию
F(x) = К (Ыг1, . .	[а;]гг),
где — введенные в п. 7.1 нумерационные функции. Вследствие полноты ср существует общерекурсивная функция G (х), связанная с F (х) соотношениями (1). Из (1) подстановкой х = [xt, . . ., жг] получаем соотношение
.. ., жг]) =
( q>K (xi, . .., хг), если К (дл, . . ., хг) определено, = 1	(4)
( о	в противном случае.
Покажем, что функция
Рф (хх, ..., хТ) — G ([жх, . . ., ж,.])
удовлетворяет требованиям теоремы 3. Так как К — универсальная функция, то при некотором с получим тождество
Н ([aip жх], ж2). . .. жг) = К ([с, xj, х2, . . ., хг).
Полагая здесь хг = с, а = [с, с] и подставляя в (4) вместо хг число а, получим (3).
Теорема 4. Для, каждой полной нумерации ср и каждой частично рекурсивной функции / (жх, . . ., жг) существует такая общерекурсивная функция g (х2 . . ., хг), что
(х2, . . хг) = ф/ (g (х2, . . ., хг), х2, . . Жг),
если f (g (х2, . . ., хг), х2, . . ., хТ) определено, и
(pg (х2, ..., хг) = о в противном случае.
Рассмотрим функцию
Н (жх, . . ., Хг) = / (Рф (жх, . . ., хг), х2, .  хТ),
где функция Рф указана в теореме 3. Согласно теореме 3 найдется число а такое, что
ФРГ( (а, х2, . . ., хг) = ф/ (РГГ (а, . . ., хт), х2,.  хт), если выражение, стоящее справа, определено, п
фРф (а, х2, . . ., хт) = о
в протпвпом случае. Отсюда видно: чтобы удовлетворить теореме 4, достаточно в качестве функции g (х2, . . ., хг) взять р; (й, Хг,., . Хт).
186
ГЛ. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ
Основное значение далее будет иметь не сама теорема 4* а ее частный случай:
Следствие 1. Пусть ф — полная, нумерация. Тогда для каждой общерекурсивной функции / (ж) уравнение ф/ (я) = фя	(5)
имеет решение {«неподвижную» точку) х. При этом существует алгоритм, позволяющий по клиниевскому номеру / находить определенное решение х уравнения (5).
Иначе говоря, существует общерекурсивная функция g (п) такая, что
ф/< («, g (п)) = ф£ (п)	(6)
для всех тех значений п, для которых функция К (re, t) всюду определена. Но существование функции g (п) с этими свойствами утверждает теорема 4, если в ее условии положить / {xt, х2) = К. (х2, хр.
Нижеследующая важная теорема была сначала доказана Р о*д ж е р с о м [1] для нумерации Клини и позже была распространена на произвольные полные нумерации (Мальцев [2]).
Теорема 5. Если полная нумерация ф совокупности U сводится к какой-нибудь ее нумерации ф, то ф одно-сводится к ф. Каждая нумерация, эквивалентная полной нумерации, изоморфна последней, а потому и полна.
Второе утверждение теоремы вытекает из первого, так как одноэквивалентные нумерации в силу теоремы 2 из и. 9.2 являются изоморфными. Поэтому докажем лишь первое утверждение.
Пусть общерекурсивная функция / (х) сводит ф к ф. Если совокупность ТГ имеет лишь одпп объект, то утверждение теоремы 5 тривиально. Поэтому мы можем предполагать, что существуют числа а, Ъ, являющиеся ф-номе-рами различных объектов из ТГ. Нам надо построить общерекурсивную функцию Во (х, у), обладающую следующими свойствами (ср. п. 9.2):
фВ0 (ж, у) = ф.т, у ф z => Ва (х, у) Ф Вп (х, z).
Стропм сначала вспомогательную общерекурспвную функцию £ (ж, у), удовлетворяющую требованиям
ф5 (х, у) = фт, / (S {х, у)) f (S (х, z)) {у z). (7)
Полагаем по определению S (х, 0) = х и далее по индукции допускаем, что для некоторого г значения 5 (х, 0), S {х, 1), . . ., S (х, г) уже найдены и притом такие, что тре
§ 9. НУМЕРАЦИИ ПРОИЗВОЛЬНЫХ СОВОКУПНОСТЕЙ 187
бования (7) для у, z = 0, . . г выполнены. Вводим одноместные частичные функции
f х, есби f(t)$(f(S(x, 0)), .. f(S(х, г))}, hi (i) =	(8)
( а в противном случае;
h.(t)=Jb’ если /W€{/(S(z, 0)),. f(S(x, r))}, ' l а в противном случае.	' '
Функции hlt h2 частично рекурсивны. Более того, существует алгоритм, позволяющий по числам х, S (х, 0), S (х, г) находить определенные клиниевские номера пъ п2 функций 7гх, h2. Полагаем, далее, = g (nJ, т2 = g (ге2), где g (if) — функция из соотношения (6). Следовательно,
Ф?гх (mJ = фтх, <р/г2 (mJ = фт2.	(10)
Если / (mJ $ {/ (5 {х, 0)), . . ., / (5 (х, г))}, то полагаем S (ж, г + 1) = тх. Из соотношений (8), (10) в этом случае имеем фтх — фж и потому требование (7) выполняется для у, z = 0, . . ., г, г + 1.
Если / (тх) £ {(S (ж, 0)), . . ., / (5 (ж, г))}, то полагаем S (ж, г + 1) = т2. Покажем, что и в этом случае требование (7) выполнено для у, z = 0, . . ., г + 1. По предположению для некоторого г, 0 г г, имеем / (тх) = = / (S (х, i)) и, значит, фтх = ф (S (х, i)) = фж = ф/zjmj. Но в рассматриваемом случае согласно (8) hz (mJ — а. Поэтому q>mx = фж = фа.
Если бы оказалось, что f (т2) 6 {/ (S (х, 0)), . . . • .	/ (S (ж, г))}, то аналогичным путем получились бы
равенства срт2 = фж — ф&, противоречащие уже установленным соотношениям срх = фа ф&. Поэтому / (т2) $ I; {/ (S (х, 0)), . ,	/ (5 (ж, г))} и в силу (9) h2 (mJ = а.
Отсюда имеем
/ (S (ж, г + 1)) $ {/ (5 (ж, 0)), . . ., / (5 (ж, г))}, ф5 (ж, г + 1) = фт2 = фа = срх.
Таким образом, требования (7) в рассматриваемом случае выполнены и функцию £ (ж, у) можно считать построенной.
Из регулярности процесса построения функцпп £ (ж, у) видна ее общерекурсивность. Формальное доказательство этого предоставляется читателю. Свойства (7) показывают, что в качестве искомой функции Во (ж, у) для нумерации ф может быть взята функция f(S (х, у)), п доказательство теоремы 5 закончено.
188
ГЛ. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ
9.4.	Семейства объектов нумерованных совокупностей. Нумерация элементов произвольной совокупности U позволяет перенести основные понятия теории числовых рекурсивных множеств и на произвольные совокупности U. Однако перенесение это можно делать различными способами, в силу чего понятия рекурсивности, рекурсивной перечислимости и т. и. при переходе от множеств чисел к семействам объектов разветвляются на вполне рекурсивные, слабо рекурсивные и т. д. Мы рассмотрим пока лишь понятия с приставкой «вполне»: вполне рекурсивные, вполне перечислимые и т. д.
Пусть U — совокупность объектов с нумерацией ср. Семейство S объектов из U будем называть нетривиальным, если 8 непусто и не совпадает с U. Символом ср-1# будем обозначать множество всех (р-номеров всех объектов из 8. Если А — некоторое множество чисел, то через <рА будет обозначаться ф-образ А в U, т. е. фА есть семейство объектов, хотя бы один ф-номер которых содержится в А.
Семейство $ называется вполне перечислимым (вполне рекурсивным, вполне креативным), если множество ф-1& рекурсивно перечислимо (рекурсивно, креативно) (ср. и. 7.2).
Следующая теорема является дословным распространением теоремы Райса, доказанной в и. 7.2 для нумерации Клини, на произвольные полные нумерации.
Теорема 1. Вполне рекурсивные семейства объектов в совокупностях с полными нумерациями тривиальны.
В самом деле, допустим, напротив, что совокупность U с полной нумерацией ср имеет нетривиальное вполне рекурсивное семейство объектов S. Это означает, что множество ф-1$ не пусто, отлично от натурального ряда и рекурсивно. Но тогда непустым п рекурсивным будет и дополнение ф-1(8" множества ф'1^'. Пусть а б ф-1^, b 6 6 ф-1£". Строим вспомогательную функцию
а,	если х 6 Фг’>9',
Ь,	если х б ф-1$.
Эта функция общерекурсивна (и. 6.3). Согласно теореме о неподвижной точке (п. 9.3) существует чпсло с, для которого ф/ (с) = фс. Как и в п. 7.2, легко убеждаемся, что оба предположения с £ ф-Ч$, сбф-’Ф' ведут к противоречию.
/(*) = 
§ 9. НУМЕРАЦИИ ПРОИЗВОЛЬНЫХ СОВОКУПНОСТЕЙ 189
Теорема 2. Никакое нетривиальное вполне перечислимое семейство 8 объектов совокупности U, имеющей полную нумерацию ' ф, не может содержать особого элемента о нумерации ср.
Пусть, напротив, семейство $ вполне перечислимо нетривиально и содержит о. Выберем номер b какого-нибудь объекта, не входящего в 8, и рассмотрим функцию
/(*)
= Ь,	если х б <р г8,
не определено, если ж^ф-1^.
Согласно и. 6.3 эта функция частично рекурсивна. Поэтому найдется общерекурсивная функция g (х) такая, что
Ф&, если х 6 Ф-1#, =	и- -1О
о, если ж(£ф S.
Следовательно,
х 6 Ф-1$' <=» g (х) 6 Ф-1^.
Это означает, что множество ф-1^' тп-сводимо к множеству Ф-1$. Но последнее множество рекурсивно перечислимо. Значит, множество ф-1<8" также рекурсивно перечислимо (п. 8.1). Из рекурсивной перечислимости взаимно дополнительных множеств вытекает их рекурсивность. Поэтому семейство 8 вполне рекурсивно, что противоречит теореме 1.
Теорема 3. Каждое вполне перечислимое нетривиальное семейство S объектов совокупности U, имеющей полную нумерацию ф, является вполне креативным.
Пусть а 6 ф-1^. Обозначим через Т какое-нибудь креативное множество, например, пз числа тех, которые были построены в п. 8.2. Рассмотрим вспомогательную Функцию
( = а,	если х 6 Т,
f (х) 1	„
I. не определено, если х $ 1.
Эта функция частично рекурсивна и потому существует общерекурсивная функция g (х), для которой
I фа, если х 6 Т, Фо С7-’)	| 0, если х§_Т.
190
ГЛ. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ
Согласно предыдущей теореме о (t S. Поэтому
х g Т •£=> g (х) £ ф-1#’;
Мы видим, следовательно, что креативное множество Т m-сводится к рекурсивно перечислимому множеству cp^S. Поэтому множество ф-1Л' креативно.
Теорема 4. Пусть в совокупности U, имеющей полную нумерацию ф, семейство {о}' всех неособых объектов вполне перечислимо. Тогда каждое семейство S объектов U, содержащее о и отличное от U, является вполне продуктивным.
Рассмотрим частично рекурсивную функцию
= Ъ,
fl?)
если х g ф 1 {о}', не определено, если х g ф-1о,
где ф& g S. Из полноты нумерации ф вытекает, что найдет-ся общерекурсивная функция g (х), для которой
ф£ (х) =
q>b, если х g ф 1 {о}', о, если xgcp^o,
и, значит,
х g ф 1 о О g (х) g ф 1j8'.
Согласно теореме 3 множество ф-1о продуктивно. Но это множество m-сводится к ф-1&. Следовательно, ф-1^ продуктивно, что и требовалось.
Известно (п. 7.2), что в нумерации Клини семейство {о}' вполне перечислимо. Поэтому из теоремы 4, например, следует, что совокупность всех клинпевских номеров нигде не определенной функции является продуктивным множеством. Более общо: продуктивной является совокупность всех клпнпевскпх номеров функций любого семейства, лишь бы это семейство включало нигде не определенную функцию п не было семейством вообще всех частично рекурсивных функций.
Теоремы 1—4 хотя и дают небольшую информацию о строении вполне перечислимых семейств, но зато для всех полных нумераций. Строение вполне перечислимых семейств для нумераций Клпнп и Поста известно гораздо более подробно (см. задачи 9, 10 пз § 7).
§ 9. НУМЕРАЦИИ ПРОИЗВОЛЬНЫХ СОВОКУПНОСТЕЙ
191
Дополнения, примеры и задачи
1.	Пусть В (х, у) — частично рекурсивная функция. Показать (и тем самым закончить формальное доказательство теоремы 1 из и. 9.2), что функция g (х), определенная схемой
g (0) = а,
h (га) = рг (В (га, i) $ {g (0, . . ., g (га)}),	(а)
g (га + 1) = В (га, h (га)),
частично рекурсивна.
2.	Пусть функция В (х, у) в предыдущей задаче примитивно рекурсивна и удовлетворяет условию равнозначности: из у =£ z вытекает В (х, у) =/= В (х, z). Тогда функция g (х), определенная схемой (а), также примитивно рекурсивна.
3.	Провести формальное доказательство рекурсивности функции h (х), построенной в процессе доказательства теоремы 2 из и. 9.2. Показать, что если заданные односводящие функции /(г), g (.г) примитивно рекурсивны, то функция h (г), осуществляющая изоморфизм, также примитивно рекурсивна (см. Мальцев [2]).
4.	Пусть частично рекурсивная функция / пмеет рекурсивную область определения. Тогда каждое множество чисел, содержащее все клиниевские номера / и не содержащее ни одного номера какого-нибудь частично рекурсивного расширения /, является продуктивным (Райс [1], см. также Мальцев [3]).
5.	Множество чисел заведомо продуктивно, если оно содержит все клиниевские номера некоторой частично рекурсивной функции f и в то же время не содержит ни одного клиниевского номера ни одной конечно определенной функции, график которой содержится в графике / (Мальцев [3]).
6.	Дополнение вполне перечислимой совокупности рекурсивно перечислимых множеств @ тогда п только тогда вычислимо (определение вычислимости см. п. 7.4), когда S есть совокупность всех надмножеств некоторой системы конечных множеств, стандартные номера которых составляют рекурсивное множество. Аналогичное утверждение справедливо и для дополнения вполне перечислимой совокупности частично рекурсивных функций (Р а й с [2]).
7.	Показать, что нумерации Клпнп и Поста не изоморфны I'M а л ь ц е в [3]).
8.	Семейство объектов @ нумерованной совокупности, имеющей нумерацию а, называется внутренне продуктивным, если существует такая общерекурспвная функция g (х), что для каждого га
я =Ь 0 & алп CZ <g ag (га) = @ & ag (га) апп.
Показать, что никакое внутренне продуктивное семейство в нумерациях Клпнп и Поста не может быть вычислимым.
9.	Показать, что в нумерации Клпнп каждое семейство частично рекурсивных функций с бесконечной областью определения, содержащее частичные характеристические функции всех бесконечных рекурсивных множеств, является внутренне продуктивным (М а л ь ц е в [3]).
10.	Если семейство частично рекурсивных функций ® пмеет полную вычислимую нумерацию с особым объектом о = / (г), го значения каждой функция пз <э совпадают с значениями / (а-) |-чя всех х пз области определения /,
192
ГЛ. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ
И. Каждая конечная совокупность одноместных частично рекурсивных функций, содержащая нигде не определенную функцию, обладает вычислимой полной нумерацией.
§ 10. Универсальные и креативные системы множеств
Понятия m-универсальности и креативности, определенные в § 8 для отдельно взятых числовых множеств, естественно распространяются на пары, тройки, четверки, вообще ге-ки множеств. С каждой re-кой множеств ах, . . . . . ., ап однозначно связываем нумерацию семейства ,, символических объектов а0, at, . . ., ап, называя номерами : объекта все числа из а; (i = 1, . . ., п). Эти нумерации А оказываются полными тогда и только тогда, когда ге-ки i множеств tn-универсальны. Общие теоремы § 9, примененные к рассматриваемым частным нумерациям, дают основные свойства т-универсальных re-ок множеств. В заключительной части рассматриваются понятия продуктивности и отделимости для пар множеств.
10.1. tn-универсальные системы множеств. По анало- ? гии с ш-сводимостыо множеств, определенной в п. 8.1, го-ворят, что’последовательность множеств рх, . . ., р„ т-сво-дится к последовательности множеств ах, . . ., ап, если существует такая рекурсивная функция / (х), что для всех х
х 6 Рг <=» f (z) G Ui (г = 1, 2,. , ., re).	(1)
Как и ранее, легко убеждаемся, что отношение  tn-сводимости re-ок множеств транзитивно.
Система множеств <ах, . . ., называется т-универ~ сальной re-кой множеств, если выполнены следующие условия:
а)	множества ах, . . ., ап попарно не имеют общих элементов;
б)	каждое из множеств ах, . . ., ап рекурсивно пере- , числимо;
в)	каждая ге-ка <рх, . . ., р„)> попарно не пересекающихся рекурсивно перечислимых множеств ?н-сводпма к ге-ке ’ <ах, а2, . . ., ап>.
Для re = 1 это определение обращается в определение ; tn-универ сального множества (п. 8.1). С другой стороны, • в определении tn-универсальных re-ок множеств не требуется, чтобы множества рх,. . ., рп были непустыми. Поэтому пз tn-универсальностп какоп-нпбудъ системы множеств ах, . . ., ап вытекает »г.-унпверсальность каждой ее 4
Ж
§10. УНИВЕРСАЛЬНЫЕ СИСТЕМЫ МНОЖЕСТВ
193
подсистемы afl, . ., af и, в частности, т-универсаль-ность каждого отдельного множества аг, входящего в мг-универсальную систему.
Обратное, конечно, неверно: далеко не каждая система, состоящая из п попарно не пересекающихся т-универсаль-пых множеств, является m-универсальной n-кой множеств (см. и, 10.3).
Заметим еще, что объединение всех множеств т-уни-персальной га-ки не может совпадать с натуральным рядом. Действительно, противное означало бы, что т-универ-сальное множество ах имеет рекурсивно' перечислимое дополнение a2 U . . . U ani чего быть не может, так как дополнение m-универсального множества не рекурсивно.
Из определения т.-универсальных систем множеств непосредственно вытекают следующие их свойства. Пусть <ах, . . ., ап> —m-универсальная система. Тогда
а)	для любой частично рекурсивной функции f (я) множества /-1 (ах), . . ., /-1 (an) попарно не пересекаются и рекурсивно перечислимы',
б)	для каждой системы Рх, . . ., попарно не пересекающихся рекурсивно перечислимых множеств существует рекурсивная функция / (z), для которой рх = /-1 (ах),. . . • • •, Рп =	(an).
Обратное также верно: если система ах, . . ., ап каких-то множеств обладает свойствами а), б), то она ш-универсальна.
Свойство б) и послужило первоначальным поводом к введению названия ат-универсалъные» системы.
Пусть п — заданное положительное натуральное число. Обозначим через А совокупность каких-то вспомогательных фиксированных объектов а0,	. . ., ап. С каждой
н-кой ах, . . ., ал попарно не пересекающихся и в сумме не исчерпывающих натурального ряда множеств свяжем теперь следующую нумерацию ср совокупности А:
( если х б a,- (z. = 1, ..., и), срж = i	(2)
I а0, если х £ ах (J .. . J ап.
Нумерацию ср и систему множеств <хх,. . ., ап мы далее будем называть ассоциированными.
Сопоставляя определения сводимости нумераций (п. 9.2) и ш-сводимости n-ок множеств, видпм, что нумерация ср совокупности А тогда и только тогда сводима к нумерации ф той же совокупности, когда система мно-
194
ГЛ. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ
жесте, ассоциированная, с первой нумерацией, т-сводима к системе множеств, ассоциированной с нумерацией ф.
Системы множеств <ах, . . ап> и <рх, . . рп> называются т-эквивалентными, если каждая из них ш-сводима к другой. Из только что сделанного замечания о связи между m-сводимостыо систем и сводимостью ассоциированных нумераций вытекает, что нумерации ср, ф совокупности А эквивалентны тогда и только тогда, когда ^-эквивалентны ассоциированные с ними системы множеств.
Нижеследующая теорема делает явным тесное родство между понятиями полноты нумерации и ти-универ-сальности системы множеств.
Теорема 1. Если ф — полная нумерация совокупности А, состоящей из п + 1 объекта, и множество Ц~га,1 номеров каждого неособого объекта at (i = 1, . . ., п) из А рекурсивно перечислимо, то ассоциированная система множеств <р“xai, . . ., т-универсалъна.
Обратно, если система множеств ах, . . ., ап т-универсалъна, ~то ассоциированная нумерация ф полна и совокупность номеров каждого неособого элемента этой нумерации является рекурсивно перечислимой.
Докажем первое утверждение. По условию множества Ф-1ах,. . ., ф-1ап рекурсивно перечислимы и попарно не пересекаются. Пусть рх, . . ., рп — какая-либо другая система непересекающихся рекурсивно перечислимых множеств. Вводим вспомогательную частичную функцию
[ = с{, если х g Р,- (i = l, ..., n), F (x\ {
v 1 [ не определена для остальных х, где сх, . . ., сп — какие-то фиксированные числа из множеств ф-1ах, . ..., ф-1ап. Согласно п. 6.3 функция F'(x) частично рекурсивна. Поскольку нумерация ф полна, то найдется общерекурспвная функция / (х) такая, что р фсх = а;, если zgp;,
ф/(*) —| 0==СТО) если а:^рх [J ... (J рл,
то есть
х б pf f (х) g ф-1аг- (г = 1, . . ., п).
Значит, система 6Х, . . ., рп и?-сводится к системе {ф-1аг} п система ф-^а^,. . ., ф-1ап иг-универсальна.
Докажем обратное. Пусть F (х) — произвольная частично рекурсивная функция. По условию, система мно
ф/ (х) =
§ 10. УНИВЕРСАЛЬНЫЕ СИСТЕМЫ МНОЖЕСТВ	195
жеств F~Y (ах),. . F~l (ап) m-сводится некоторой рекурсивной функцией / (х) к системе ах, . . ап, то есть
F (х) 6 аг ФФ / (х) G аг (i = 1,. .	п).
Сравнивая это с формулами (2), определяющими ассоциированную нумерацию, видим, что .
<$F (х), если (i = l, ..., п),
«о, если а:^ах (J ... |J an,
и, следовательно, нумерация <р полна.
Теорема 2. Если в какой-нибудь совокупности U с полной нумерацией <р имеется конечная система U\, . . . . . ., Un попарно не пересекающихся вполне перечислимых семейств объектов, то система множеств Ф-117х, . . . . . ., ц>-Юп является т-универсальной.
В самом деле, обозначим через К разбиение совокупности U на классы 17х, ..., Un и класс Uo = U — (U\ (J. . .(J Un) (см. п. 9.1). Факторнумерация <p0 = ф/Л является полной нумерацией конечной совокупности А = {Е70, U\, . . . . . ., Un}, причем совокупности номеров всех неособых элементов здесь рекурсивно перечислимы (так как они совпадают с множествами q>~lU t, i =	. . ., п). Согласно
теореме 1 отсюда вытекает, что система множеств
. ., Ф~1?7П ж-универ сальна.
Теорема 2 дает возможность весьма просто находить конкретные m-универ сальные системы множеств. Рассмотрим, например, нумерацию Клини х. Пусть — семейство всех одноместных частично рекурсивных функций / (xj, которые удовлетворяют условию / (0) = i. Семейства 17г вполне перечислимы и попарно не пересекаются. Обозначая через аг совокупность всех клиниев-ских номеров функций из U t, видим, что согласно теореме 2 система множеств ах, . . ., On является m-универ сальной для каждого значения п = 1, 2,. . .
Системы множеств ах, . . ., а„ и (Зх, . . ., называются рекурсивно изоморфными, если одна из них переводится в Другую подходящим рекурсивным взаимно однозначным отображением натурального ряда на себя, т. е. если одна пз систем m-сводится к другой при помощи подходящей рекурсивной функцпп, осуществляющей взаимно однозначное отображение натурального ряда на себя.
Теорема 3. Для каждого п'^все т-универсалъные п-ки множеств изоморфны друг другу (Мучник [2], С м а л ь я н [1]).
196
ГЛ. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ
Действительно, из определения ж-универсальности непосредственно следует, что все m-упивсрсальные п-ки множеств -m-эквивалентны друг другу. Из ж-эквивалент-ности систем множеств следует эквивалентность ассоциированных нумераций. Так как эти нумерации в рассматриваемом случае полны (теорема 1), то они будут и изоморфными (теорема 5, п. 9.3). Йо тогда изоморфными будут и соответствующие п-ки множеств.
10.2.	Креативные системы множеств. Понятие креативности, определенное в п. 8.2 для отдельно взятых числовых множеств, распространяется на пары, тройки и т. д. множеств следующим образом.
Система п числовых множеств ах, . . ., ап называется креативной п-кой множеств, если эти множества попарно не пересекаются, рекурсивно перечислимы и если существует такая рекурсивная функция р (х1г. . хп), что для каждой системы лК1,. . ., л попарно не пересекающихся рекурсивно перечислимых множеств, удовлетворяющих условиям дополнительности ах Q ЛЖ1 = 0, . . ., ап ["] П лхп ~ 0> имеет место соотношение
р (xv . . ., хп) ф (ах U лЯ1) IJ • • • U («п U лхп). (1)
При п = 1 это определение обращается в определение креативности множества ах, введенное в п. 8.2. Теорема о совпадении классов креативных иж-универ сальных множеств также переносится на ж-универсальные п креативные п-ки множеств. Однако, чтобы получить несколько более сильные результаты, мы разобьем теорему о совпадении классов креативных п универсальных n-ок на две части.
Теорема 1. Для каждой универсальной п-ки множеств ах, . . ., ап существует такая рекурсивная функция g (xt, . . Хп), что
gfa,Хп)6 и (лх п «0 U П П(2) i=l	i=l
для всех xt, . . ., хп.
Если лж. р]аг = 0(; = 1, . . ., п), то условпе (2) переходит в условпе креатпвностп (1). Поэтому пз теоремы 1 следует, что все универсальные п-ки множеств являются креативными.
Для доказательства теоремы 1 выберем в каждом множестве какое-нибудь чпело щ (i = 1. . . ., п). Рассмот-
§ 10. УНИВЕРСАЛЬНЫЕ СИСТЕМЫ МНОЖЕСТВ
197
рим совместное продолжение / (zp . . хп, х) постоянных функций ft (х) = ct (г — 1, . .	п), определенное в тео-
реме о совместном продолжении (и. 7.3) и обладающее следующими свойствами:
а)	функция f {хг, . . ., хп, х) частично рекурсивна по совокупности всех своих аргументов;
б)	для каждых фиксированных xv . . хп область определения одноместной функции f (xv . . ., хп, х) есть U  • • U •П'ЖП>
в)	/ (хг, . . ., Хп, х) может принимать лишь значения Ср . . с„ и
f (zx, . . хп, х) = ct =4 х 6 лх. (i = 1, . .	п).
Рассмотрим теперь нумерацию ср вспомогательной совокупности А — {а0, «р . . .. ап}, ассоциированную с системой «р . . ап. Так как система ах, . . ап универсальна, то нумерация <р полна, и, следовательно, найдется рекурсивная функция g (хг, z2, . . ., хп) (п. 9.3, теорема 4), удовлетворяющая условию
(pg (Zp . . ., Хп) = (ff (Zp . . Хп, g fe, • •	хп)), (3)
если f (zp . . ., хп, g) определено, т. е. если
g (х^, . . •, хп) £ лХ1 (J ... (J и условию
W	Хп) = а0,	(4)
если g (zp . . ., zrn) U • • • U я»п-
В случае (3) из свойства в) следует, что при подходящем /, 1 С 7'С п, имеем / (zx, . . .,	хп, g) =	Cj	и g	(xr, .	. .
. . ., Хп) 6 Яху Равенство (3)	дает (pg	=	(pcj,	откуда
g 6 и, И потому g 6 П йр
В случае (4) (pg = а0, т.	е. g (£ аг	U	. . .	U «п	и
потому g U (лж. U йг), g 6 П	(л!- П «0.
Итак, в случаях (3) п (4) пмеет место включение (2), т. е. включение (2) пмеет место при любых zx, . . ., Хп, что ц требовалось.
Систему рекурспвно перечпслпмых попарно не пересекающихся множеств йр . . ., и,г условпмся называть слабо креативной, еслп существует рекурсивная функция g (zp . . .,хп), обладающая следующим свойством: еслп для некоторых Zp . . ., хп все множества лЖ1, . . ., пХп пусты за исключением, быть может, одного п это состопт
198	КЦ, IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ
лишь из одного числа, не входящего в соответствующее at, то
fg fa, . . ., Хп) $ U U «г)-	. .	(5)
Отсюда видно, что условие слабой креативности (5) совпадает с условием креативности (1), по при более жестких ограничительных требованиях, налагаемых на числа Хц . . ., хп. Поэтому креативные системы заведомо слабо креативны. Из теоремы 1 и нижеследующей теоремы 2 будет видно, что справедливо и обратное.
Теорема 2. Каждая слабо креативная п-ка мно-жесте ах, . . ., ап является т-универсалъной.
Пусть g (a?!, . . ., хп) — рекурсивная функция, удовлетворяющая для системы ах, . . ., ап условию (5). Нам надо показать, что любая система рх, . . ., рп рекурсивно перечислимых попарно не пересекающихся множеств т-сво-дится подходящей рекурсивной функцией h (х) к системе ах, . . ., (Хп. Функция h (х) строится так.
Сначала вместо «-местной продуктивной функции вводим одноместную следующим образом. Согласно п. 7.3 для каждого г существует одноместная рекурсивная функция gt (х) такая, что
К (х, £) = I О £ 6 Jtg.(ar).	(6)
Полагаем по определению
Р &) = g (gx (х), . . ., gn (х)).
Из свойства (5) функции g и формул (6) вытекает, что р (х) удовлетворяет следующему условию. Пусть для некоторого х
-ВТ (ж, £) = £«=»££ уг (£ = 1, . . ., п),	(7)
причем лпбо все множества ух, . . ., уп пусты, либо все пусты, кроме некоторого множества уг, состоящего лишь пз одного числа, п аг Q уг = 0. Тогда
Р (*) £ U («> U Ъ')-	(8)
j=l	:
Согласно теореме о совместном продолжении (п. 7.3) существует частично рекурсивная функция К (а, у, z, £) от переменных у, z, £, удовлетворяющая условиям
( = £ при у б В,, £блт (£ = !,...,«), К (а, у, z, £)	’	(9)
(. не определена для остальных у, z, t. ' '

§10. УНИВЕРСАЛЬНЫЕ СИСТЕМЫ МНОЖЕСТВ
199
По теореме Майхила о неподвижной точке найдется рекурсивная функция / (у), для которой
Р (Ь, У, / (у)]) = х <Н> х 6 л,(у).
Это означает просто, что для каждого у множество ЛдУ) состоит лишь из одного числа р ([а, у, f (у)]).
Покажем теперь, что функция h (у) = р ([а, у, / (у)]) m-сводит систему рх, . . ., рп к ах, . . ., а„. Прежде всего,
У Ф Pi U • • • U Рп => Му) Ф »i U  • • U «п-	(Ю)
Действительно, согласно (9) из у (f рх (J . IJ рп вытекает, что К ([а, у, / (у)], £) не определено ни для каких t. Поэтому множества ух, . . уп, определенные по формулам (7), пусты и согласно (8) р ([а, у, / (у)]) ф ar U . . .  • • U “п-
С другой стороны, из (9) получаем, что при у g рг функция К ([а, у, f (у)], t) имеет определенное значение лишь для£ = р ([а, у, /(у)]) и значение это равно I. Следовательно, все множества у3, . . ., уп, найденные в этом случае по формулам (7), пусты, кроме множества уг-, состоящего из числа р ([а, у, / (у)]). Если бы это число не входило в аг, то согласно (8) мы имели бы соотношение
р([а, У» /(У)])Ф U (ajU Vi).
i=i
что невозможно, так как р ([а, у, / (у)]) g уг. Следовательно,
У 6 Рг h (у) g аг (i = 1, . . ., п)
и, значит, функция h (у) действительно m-сводит систему Рп . . ., Рп к системе ах, . . ., а„.
10.3.	Рекурсивно неотделимые множества. Говорят, что числовое множество у отделяет множество а от множества р, если й'=у и У П Р = 0. Множество а называется рекурсивно отделимым от множества р, если существует рекурсивное множество у, отделяющее а от р.
Если рекурсивное множество у отделяет множество а от множества Р, то дополнение у' множества у рекурсивно отделяет р от а. Поэтому отношение рекурсивной отделимости симметрично и вместо того, чтобы говорить, что множество а рекурсивно отделимо от множества Р, часто говорят, что множества а п р рекурсивно отделимы.
Множества а п р называются рекурсивно неотделимыми, если они непересекающпеся и ни одно из них не отделимо рекурсивно от другого,
200
ГЛ. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ
Каждое рекурсивное множество отделяет рекурсивно самого себя от любого другого не пересекающегося с ним множества. Поэтому рекурсивно неотделимыми могут быть лишь нерекурсивные множества.
Теорема 1. Рекурсивно перечислимые рекурсивно неотделимые множества существуют.
Рассмотрим частично рекурсивную функцию Е (я), построенную в п. 6.3, которая принимает лишь значения 0, 1 и не может быть доопределена до общерекурсивной функции. Обозначим через а совокупность решений уравнения Е (х) = 0 и через р совокупность решений уравнения Е (х) = 1. Оба эти множества рекурсивно перечислимы и не пересекаются. Докажем, что а не отделимо рекурсивно от р. Пусть, напротив, какое-то рекурсивное множество у отделяет а от р.Тогда характеристическая функция множества у была бы рекурсивным доопределением функции Е, что противоречит установленной ранее рекурсивной недоопределимости этой функции.
Из определения рекурсивной неотделимости непосредственно вытекают следующие свойства рекурсивно неотделимых множеств:
а)	никакое нерекурсивное множество не может быть рекурсивно отделимым от своего дополнения,',
б)	если множества а, р рекурсивно неотделимы и а С ар р с~. рХ) ах = 0, то множества ах, рх также рекурсивно неотделимы.
Более тонкое свойство рекурсивной отделимости указывает
Теорема 2. Если непересекающиеся множества а, Р имеют рекурсивно перечислимые дополнения, то а и [3 рекурсивно отделимы.
Согласно теореме о совместном продолжении (п. 7.3) существует частично рекурсивная функция / (х), определенная на объединении множеств а' и Р', принимающая лишь значения 1, 2 п удовлетворяющая требованиям
/ (х) = 1 = х Е а , f (х) = 2 =ь х 6 Р'.	(1)
По условию а П р = 0 и, значит, a' jj Р' совпадает со всем натуральным рядом. Поэтому функция / (ж) всюду определена. Обозначим через п рх множества тех х, для которых / (ж) = 1 п соответственно f (х) = 2. Из рекурсивности функции f (х) следует, что ах и рх рекурсивны, Из (1) вытекает, что с а', рх С р', т. е. «с
§10. УНИВЕРСАЛЬНЫЕ СИСТЕМЫ МНОЖЕСТВ
201
ст. ой, р Рь Значит, а и р отделяются рекурсивными не-пересекающимися множествами а15 рх.
Теорема 3. Никакая т-универсалъная пара множеств а, Р не может бить отделимой.
В самом деле, согласно п. 10.2 каждая универсальная пара креативна и потому для множеств а, р существует рекурсивная «продуктивная» функция g (х, у), значения которой подчинены условию: если Q лу = 0 и a ("] П ях = Р П = 0, то
g(x, U ₽ U U *у	(2)
Если бы множества а, р были отделимы, то для подходящих х, у множества лх, лу были бы взаимно дополнительны и удовлетворяли бы условиям a cz лх, р с: <zz Лу, т. е. a Q лу = р П = 0. Но тогда соотношение (2) было бы невозможно, так как функция g (ж, у) должна иметь определенное значение, а справа стоит множество, совпадающее со всем натуральным рядом.
Наряду с понятием неотделимости множества часто-бывает полезным и понятие эффективной неотделимости, определяемое следующим образом.
IIепересекающиеся множества а, Р называются эффективно неотделимыми, если существует рекурсивная функция q (х, у) такая, что
Г\ ли = 0 & лх — & я,, - ₽
=» q (х, у) $ лх U Лу. (3)
Повторяя приведенные выше рассуждения, легко убеждаемся, что каждая эффективно неотделимая пара множеств неотделима в обычном смысле. Более того, если в определенпи креативной пары множеств опустить требование, чтобы множества пары были рекурсивно пере-чпслпмымп, то условие (3) будет следствием условия (1) из п. 10.2, посредством которого определялось понятие креативности. Такпм образом, каждая креативная пара множеств эффективно пеотделпма. Однако верна п более общая
Теорема 4. IIепересекающиеся рекурсивно перечислимые множества эффективно неотделимы тогда и только тогда, когда они образуют креативную пару.
То, что креативная пара эффективно неотделима, уже было установлено. Поэтому пусть а, р — эффективно неотделимая пара рекурспвно перечпслпмых множеств. Мы хотим показать, что в этом случае пара а, р креативна.
202	ГЛ. IV. НУМЕРОВАННЫЕ СОВОКУПНОСТИ
Так как аир рекурсивно перечислимы, то существуют числа а, Ь, для которых при любом х
ОС U ^х == ^[а-, я]» Р U ^х —	х]«
Пусть П = л3 р| а = р| р = 0. Тогда Л[а,п = => a, rt[b, sj э Р и Л[а, q ( j Л[ь, S] = 0. Следовательно, из (3) имеем
</([«, *], [&, s])^a J U Р U
Это показывает, что пара множеств a, Р креативна и имеет в качестве продуктивной функции функцию
р (s, t) = q ([a, t], [b, s]).
Итак, согласно теореме 4 для пар рекурсивно перечислимых множеств понятия креативности и эффективной неотделимости равносильны. Мы сейчас воспользуемся этим{обстоятельством-, чтобы доказать
С; л едствие 1. Пусть множества а, р, образующие креативную пару, отделены рекурсивно перечислимыми множествами ах, рх, т. в. а £ ах, р £ рх, «1 П Pi = 0-Тогда множества ах, Pi также образуют креативную пару.
В самом деле, если функция q (х, у) удовлетворяет для множеств а, р требованиям (3), то эта же функция будет удовлетворять требованиям (3) для множеств ах, рх. Следовательно, множества ах, рх эффективно неотделимы, а значит, они образуют креативную пару.
Дополнения, примеры и задачи
1.	Теория тн-универсальных n-ок множеств без труда переносится и на бесконечные системы множеств (Клив £1], М а л ь-Ц е в [3]).
Вводятся следующие определения: последовательность множеств а0, ах, . . . называется т-сводящейся к последовательности Ро, рх, . . ., если для подходящей рекурсивной функции / (х^
х 6 ai 4=> f (г) 6 Pi (i = 0, 1, . . .).
Последовательности называются т-эквивалентными, если каждая из них m-сводптся к другой. Если h (х) — рекурсивная функция, то последовательность множеств <лЛ(^,	• . • > называется р. п.
последовательностью. Р. п. последовательность, состоящая из попарно не пересекающихся множеств, называется серией. Серия называется пг-универсальной, еслп к ней m-сводится любая серия. С каждой серией ax, а2, . . ., состоящей пз непустых множеств, не исчерпывающих в совокупности натурального ряда, ассоциируем нумерацию ср совокупности натуральных чисел, полагая по определению
cpn = i п G a, (n, i = 0, 1, . . .),
§10. УНИВЕРСАЛЬНЫЕ СИСТЕМЫ МНОЖЕСТВ
203
где ад = N — (ах (J а2 U • • •)• Изложенными в данном параграфе методами легко доказываются следующие утверждения:
а) серия m-унпверсальна тогда и только тогда, когда ассоциированная нумерация полна; б) все ///.-универсальные серии изоморфны друг другу; в) если в полной нумерации <р для некоторой рекурсивной функции k (х) множества ф-1// (ж) непусты и составляют серию, то эта серия иг-универсальна.
2.	Пусть U — совокупность с нумерацией <р и выделенным элементом о, называемым особым. Ведущей функцией нумерации ср называется частичная одноместная функция f (г), определенная на множестве ср-1 (U — о) и удовлетворяющая следующему требованию: f (г) = f (у) <=>• срг = еру для всех х, у из области определения/. Нумерация ср тогда и только тогда ассоциирована с некоторой серией, когда для ср существует частично рекурсивная ведущая функция. В терминах ведущих функций можно сформулировать понятие креативности серии и доказать соответствующие теоремы (см. Клив [1]).
3.	Пусть существует частично рекурсивная функция / (х, у) такая, что из лх Э а & лу □ р & лх П яу = 0 следует, что / (х, у) определена и / (г, у) (jj лх (J лу (а> Р фиксированы). Тогда а, р эффективно ^неотделимы (Мучник [1J).
4.	'Для любых х, у множества лх — лу и лу — &х отделимы рекурсивно перечислимыми ^множествами.
5.	Рекурсивно' перечислимые множества а, Р называются (Мучни’к| [1]) сильно неотделимыми, если выполнены следующие ^условия! а) а |~] Р — 0; б) '’дополнение множества a IJ Р бесконечно; в) для любого рекурсивно перечислимого лх пз а f| П — 0 следует, что лх — р конечно (или пусто) и из р Q лх = = 0 следует, что лх — а конечно. Доказать, что сильно неотделимые множества не отделимы рекурсивными множествами, но не могут быть "эффективно неотделимыми. Построить пример сильно неотделимых множеств.
6.	Понятия рекурсивной неотделимости и эффектпвной неотделимости можно распространить и на пары пересекающихся множеств (Мучнпк([1], Смальян [1]). Множества а, р (возможно, пересекающиеся) называются рекурсивно неотделимыми, еслп не существует рекурсивных множеств ах, рх, удовлетворяющих требованиям: at Z) а, рх □ р, ах П Рх = а П Р- Аналогично множества а, Р называются эффективно неотделимыми, еслп существует ре-курспвная^функция / (х, у) такая, что для всех х, у
лжОа&лрР&л П Я„ = «ПН/(1.У)йя U я
Пара множеств а, р называется продуктивной, еслп существует рекурсивная функция р (х, у), удовлетворяющая требованиям
лх С а & лу G р & лх И лу = 0 =>р (х, у) s (а П Р) (я* 'J лу}.
Показать, что из /«.-сводимости эффективно неотделимой пары а, Р к паре у, 6 вытекает эффективная неотделимость пары у, 6 (пары могут пересекаться!). Далее, если .а', Р' — продуктивная пара, то а, р эффективно неотделимы. Если пара рекурсивно перечислимых множеств а, р эффективно неотделима, то пара а', Р' продуктивна.
ГЛАВА V
АЛГОРИТМЫ И МАШИНЫ ТЬЮРИНГА
В предшествующих главах подробно изучались свойства частично рекурсивных функций. Обосновывая необходимость этого изучения, мы приняли в качестве постулата тезис Чёрча о том, что совокупность частично рекурсивных функций совпадает с совокупностью всех функций, вычислимых посредством алгоритмов. В последующем изложении тезис Чёрча для доказательства теорем не использовался. Напротив, во многих случаях наша основная цель состояла в том, чтобы доказать частичную рекурсивность функций, заданных посредством сложных процессов алгоритмического характера. То, что эта цель всегда и без особого труда достигалась, может служить главным подтверждением тезиса Чёрча.
Как уже говорилось, мы не ставили себе целью дать всеобщее определение интуитивного понятия алгоритма, но нами до сих пор не были описаны вообще никакие классы процессов алгоритмического характера, достаточные для вычисления всех частично рекурсивных функций. Правда, это сделать было нетрудно, так как уже простой анализ понятия частичной рекурсивности приводит к одному из таких классов. Однако этот класс получается довольно сложным. В настоящей и следующей главах будет описан ряд важных и естественных классов алгоритмов и каждый раз будет показано, что совокупность функций, вычислимых посредством алгоритмов рассматриваемого класса, в точности совпадает с совокупностью частично рекурсивных функции. Это даст нам ряд новых подтверждений тезиса Чёрча и вместе с тем много новых тонких свойств частично рекурсивных функций.
§ 11. Словарные множества п функции
Описание важнейших классов алгоритмов производится в терминах теории слов в некотором алфавите. Начала ее были изложены в § 1. Теперь мы хотим продвинуть эту теорию несколько дальше с тем, чтобы понятия
. §11. СЛОВАРНЫЕ МНОЖЕСТВА И ФУНКЦИИ	205
рекурсивности и частичной рекурсивности, определенные ранее для числовых функций и множеств, распространить на словарные множества и функции.
11.1.	Словарные множества. Пусть А — {а1( . . . . . ар} — какой-нибудь конечный набор символов. Обозначим через совокупность всех слов в алфавите А, включая и пустое слово А. Всевозможные подмножества совокупности ®л, в том числе пустое подмножество 0, будут называться словарными множествами в алфавите А. Мы хотим определить понятия рекурсивных и рекурсивно перечислимых словарных множеств. Это будет сделано двумя путями: сначала при помощи нумерации слов, а в следующем разделе и более прямым способом.
Из многих возможных нумераций совокупности ®л остановимся на так называемой алфавитной нумерации, определяемой следующим образом.
Номер пустого слова А полагаем равным нулю. Далее в каком-либо порядке числами 1, 2, . . ., р нумеруем символы алфавита. Пусть а, обозначает символ с номером г. По определению номером слова а = аг . . . а^ aia называем число
с («) = io + ЙР + • • • + ispa-	(1)
Символами с (я), ап условимся обозначать алфавитный номер слова я и соответственно слово, имеющее номер п. Так как при фиксированном р каждое положительное число представимо и лишь одним способом в виде
п = i0 + itp + . . . 4- isps (1 < h < p),	(2)
то каждое число есть алфавитный номер одного и только одного слова совокупности Разложение (2) иногда называется р-ичным разложением числа п с цифрами 1, 2 . . р в отличие от обычного р-пчного разложения, в котором в качестве коэффициентов допускаются числа 0, 1, . . ., р — 1.
Множество слов ® в алфавите А называется примитивно рекурсивным, рекурсивным пли рекурсивно перечислимым, если соответственно примитивно рекурсивна, рекурсивна или рекурсивно перечислима совокупность алфавитных номеров всех слов пз 5D?.
Принимая во внимание результаты пп. 4.1 п 4.2, непосредственно видим, что
206
гл. v. алгоритмы и машины тыоринга
а)	каждое конечное множество слов примитивно рекурсивно;
б)	объединение и пересечение конечной системы примитивно рекурсивных, рекурсивных или рекурсивно перечислимых множеств слов суть множества того же типа;
с) если словарное множество $01 и его дополнение ®а — — СО? рекурсивно перечислимы, то они рекурсивны.
Говорят, что в алфавите А задана частичная п-местная словарная функция F, если некоторым n-кам слов из ©а поставлены в соответствие однозначно определенные слова F (гг, . .	£п) в А (ср. п. 1.2). Числовая
п-местная частичная функция / называется функцией, представляющей словарную функцию F в нумерации а, если
F («%, . . ., ахп) = а/ (х1, . . ., хп)
для всех натуральных хг, . . жп и, следовательно, • • •> Pn) = af (Cfi, • •суп),	(3)
ffa, ...,xn)=c(F(axu ..., ажп)). (4)
Очевидно, каждая частичная словарная функция обладает единственной представляющей функцией и каждая частичная числовая функция представляет определенную словарную функцию.
Частичная словарная функция F называется примитивно рекурсивной, общерекурсивной или частично рекурсивной, если таковой является числовая функция, представляющая F.
Например, постоянные словарные функции представляются постоянными числовыми функциями. Постоянные числовые функции примитивно рекурсивны. Поэтому постоянные словарные функции примитивно рекурсивны.
Докажем еще примитивную рекурсивность простейших словарных функций (г), определяемых формулами
(г) — (j = 12 . . ., р).
Согласно (4) представляющей функцией для (у) является функция
st (ж) = с (аж-аг).
Из формулы (1) непосредственно видно, что
с №at) = Рс (?) + I	(5)
§11. СЛОВАРНЫЕ МНОЖЕСТВА II ФУНКЦИИ
207
и потому
(х) — Рх + i-	(6)
Таким образом, представляющие функции для словарных функций Sj примитивно рекурсивны, а вместе с ними будут примитивно рекурсивными и сами словарные функции.
Аналогичным путем легко доказать примитивную реку рсивность функции F (у, р) = хр и многих других, которые нам повстречаются далее. Однако здесь мы это делать не будем, так как в следующем разделе это получится еще более просто.
Введенные только что определения рекурсивности, частичной рекурсивности словарных множеств и функций зависят от первоначальной нумерации алфавитных символов. Кроме того, возникает вопрос: если множество 2)? слов в алфавите Д, например, рекурсивно, то будет ли 5)? рекурсивно и в произвольном расширении алфавита Д?
Ясно, что свойство быть рекурсивным множеством слов не зависит ни от нумерации символов алфавита, ни от того, в каком алфавите это множество рассматривается. Оба эти утверждения доказываются аналогично. Для полноты изложим доказательство второго из них.
Теорема 1. Рассмотрим какой-нибудь алфавит Д = {ах, . . .,ар} и его расширение Аг = {ап . . ., ар, a/.-ц, . . ., aq}. Совокупность ® некоторых слов в алфавите Д тогда и только тогда примитивно рекурсивна, рекурсивна или рекурсивно перечислима в Д, когда она имеет тот же тип в Дг
Частичная, словарная функция F (jn . . ., jn), определенная в алфавите Д, частично рекурсивна в Д тогда и только тогда, когда она частично рекурсивна в Ai.
Всюду определенная на ®л словарная функция F примитивно рекурсивна или рекурсивна в Д тогда и только тогда, когда F может быть доопределена до примитивно рекурсивной или соответственно рекурсивной функции в ДР
Докажем сначала первое утверждение. Обозначим через a, aY словарные нумерации совокупностей ®и, Аналогично, еслп а — слово в алфавите Д, то через с (а) обозначим его a-номер, а через (а) — с^-номер. Покажем, что функция / (ж) = сг {ах) примитивно рекурсивна.
Пусть	ах ~ «. Представляем а в виде Ьа;.
208	гл. V. АЛГОРИТМЫ ЩМАШИПЫ ТЬЮРИНГА
Из (5) и (6) получаем
х = рс (Ь) -Ь i, Ci (Ьщ) = ccji (f>) -J- i, / откуда
/ (ж) = qf (Ь/р] — sg rest (х, р)) + (х — р [ж/р]) +
+ р sg rest (х, р).
Это соотношение можно рассматривать как возвратную рекурсию для / (х) и потому в силу п. 3.2 функция / (х) примитивно рекурсивна.
По определению / (ж) есть ах-номер слова, имеющего a-номер, равный х. Но тогда ясно, что число
/* (а:) =	(У) = 0)	(7)	<
есть а-номер слова, имеющего ах-номер, равный ж, при условии, что такое слово существует. Если же такого слова нет, то формула (7) все же дает некоторое значение для /* (ж). Поскольку /* (ж) ^ж, то в силу п. 3.1 заключаем, что функция /* (ж) примитивно рекурсивна.
Перейдем теперь к доказательству первого утверждения теоремы. Рассмотрим какое-нибудь множество Ж слов из ©л, примитивно рекурсивное в Аг. Это означает, что совокупность ах-номеров слов из Ж совпадает с совокупностью всех решений уравнения вида v (ж) = 0, где v (ж) — подходящая примитивно рекурсивная числовая функция. Но тогда совокупность всех a-номеров слов из Ж будет совпадать с совокупностью решений уравнения и (х)) = 0, левая часть которого является примитивно рекурсивной функцией от ж. Следовательно, множество Ж примитивно рекурсивно в нумерации а.
Обратно, пусть множество Ж примитивно рекурсивно в нумерации а и совокупность решений уравнения и (ж) = = 0 теперь является совокупностью a-номеров слов из Ж. Обозначим через 31 множество тех слов из ©л,, ах-номер у которых удовлетворяет уравнению
» (/* (у)) = 0.
Множество 91 примптивно рекурсивно в нумерации ах и
Ж = 91 П ©л.
Поэтому остается доказать лшпь примитивную рекурспв-ность ©л в нумерации ах. Но совокупность ах-номеров слов из ©л совпадает с совокупностью всех значений функции / (ж). Так как эта функция примитивно рекурсивна и
§ 11. СЛОВАРНЫЕ МНОЖЕСТВА Й ФУНКЦИИ	209
удовлетворяет условию f (х) ж,\го по теореме 3 из и. 4,1 совокупность значений / примитивно рекурсивна, что п требовалось.
Итак, примитивная рекурсивность множества слов в нумерации аг равносильна примитивной рекурсивности ® в нумерации а. Остальные утверждения теоремы 1 доказываются тем же методом.
11.2. Основные словарные операторы. По аналогии с основными вычислимыми операциями над числовыми функциями можно определить операции подстановки, рекурсии и минимизации, производимые над словарными функциями. При помощи этих «словарных операторов» легко и без каких-либо вычислений показывается примитивная рекурсивность всех наиболее употребительных словарных функций.
Пусть алфавит А состоит из букв av . . ., ар. Словарные функции О, St. Im (i = 1, . . ., р', m С n; m, n = 1, 2, . . .), определенные в алфавите А равенствами
(?) А,	(?) == ?^ii 1т (?1, ?2, • • ч ¥п) == ?т,
условимся называть простейшими. Из п. 11.1 непосредственно следует, что простейшие словарные функции примитивно рекурсивны.
Пусть в алфавите А заданы частичная словарная функция G от п переменных и частичные словарные функции Gx, . . ., Gn, каждая из которых зависит от одного и того же числа т переменных. Символом Sn+1 (G; Gx, . . ., Gn) обозначаем частичную словарную функцию F от т переменных, определяемую обычной формулой
F (?1> •  •; ?ш) = G (Gj (?1, . . ., ?т)> • • •> Gn (?1> • • ч ?ш))-
(1)
Обозначпм через g, glt . . ., gn, f представляющие Функции (и. 11.1) для словарных функций G, Gx, . . . • . Gn, F. Пз (^непосредственно следует, что для любых натуральных xlt . . ., хт
/ (^х, . . ., Хт) = g (gY (xv . . ., Хт),   gn Си, • • •: Хт)), г. е. представляющая функция для суперпозицпп словарных функций равна суперпозиции представляющих функций этих словарных функций. В частностп, суперпозиция прпмптивно рекурсивных словарных функций есть примитивно рекурсивная словарная функция.
210	ГЛ. V. АЛГОРИТМЫ ,И МАШИНЫ ТЬЮРИНГА
/'
Рассмотрим теперь какие-нибудь частичные словарные функции G и Ну, . . соответственно от ге и от ге + 2 переменных, заданные в алфавите А. Результатом операции словарной примитивной рекурсии над функциями G, Ну, . . Нр условимся называть (и + 1)-местную частичную словарную функцию F, которая для любых слов . ., уп, р в алфавите А. удовлетворяет равенствам
F (fi, • • •> 5n> А) = G (j’i,. . гп),
И (?1> •  •> fill Р®1)	-^1 (?1> • • •> ?П> Р, (?1> • • Ч ?71> Р))’
(1’1, • • , 1’п, Р®р) --Нр^Ху, • • In, Р> (11, • • •, ?7И !)))•
Легко убедиться, что для каждых G, Ну, . . ., Нр функция F существует и единственна.
Теорема 1. Пусть словарная функция F получается посредством словарной рекурсии (2) из всюду определенных словарных функций G, Ну, . . ., Нр. Тогда числовая функция /, представляющая функцию F, может быть получена из функций g, hy, . . ., hp, представляющих G, Ну, . . ., Hp, и простейших числовых функций конечным числом операций подстановки и примитивной рекурсии.
В частности, если заданные словарные функции G, Нг, . . ., Нр примитивно рекурсивны, то получающаяся из них с помощью словарной рекурсии функция F также примитивно рекурсивна.
В самом деле, из (2) для любых натуральных Ху, . .. ..., хп, у получаем
/ (Ху, . . ., хп, 0) = g (Ху, . . ., Хп),	(3)
/ (жх, . . ., хп, ру + г) = hi (ху, . . ., хп, у, f (ху, . . ., хп, у)).
(4)
Равенство (4) можно представить в виде
f(Xy, . . ., Хп, z) =
hi (Ху, . . ., Хп, [z/p], f(Xy, . .., хп, [zip]]],
если z — p[z/p] = i = l, 2,.. ., р — 1, ~ hp (ху,..., хп, [z/р]	(.г-i, ..., хп, [z/р]	1)),
еслп z — - р [zjp] -= 0,
§11. СЛОВАРНЫЕ МНОЖЕСТВА И ФУНКЦИИ
211
откуда
/ (^1> • • •> z)
р-1	___
= 51	[z/p], f&l, [z/p]))sg I X —
?.=1
— (z -=- р[z/р]) I + hp(xi,..xn, [z/p]~ 1,
/ (xu ..., xn, [zip] — 1)) sg I z — p [z[p] I.
Равенство (3) и последнее соотношение составляют в совокупности схему возвратной рекурсии для функции/, рассмотренную в и. 3.2. Поэтому согласно доказанной в п. 3.2 теореме функция / может быть полуиена из заданных функций g, . ., hp и простейших функций операциями подстановки и примитивной рекурсии.
Рассмотрим, наконец, операцию минимизации для словарных функций. Пусть F (р, р) — некоторая частичная словарная функция, заданная в алфавите А = {ап . . . . . ., ар}. Если бы мы захотели определить значение выражения
9) = Л)	(5)
так же, как для числовых функций, то пришлось бы говорить о наименьшем слове р, удовлетворяющем условию F (?, 0) = А, т. е. пришлось бы пользоваться нумерацией всех слов в алфавите А, что не всегда желательно. Поэтому вместо одной операции минимизации (5) мы введем операцию минимизации по каждой букве алфавита аг и будем через
pa- (F (?, а?) = А)
обозначать такое слово а? = агаг . . . йг (п букв), что F (?> а") = А и F (?, щ) определено и отлично от А Для s <Сп.
Г е о р е м’а 2. Пусть / (х, у) — представляющая частичная9функция для частичной словарной функции F (г, V), определенной в алфавите А — {а^ . . ., ар}. Тогда представляющая функция g (х) для частичной словарной Функции G (г), возникающей из F словарной минимизацией
G (?) = ца? (F (?, at) = А),^
может быть получена из f и примитивно рекурсивных Функций операциями подстановки и минимизации. В част-
212
ГЛ. V. АЛГОРИТМЫ И МАШИНЫ ТЬЮРИНГА
ности, если словарная функция F (?, Р) частично рекурсивна, то и функция G (у) также частично рекурсивна.
Действительно, по условию имеем
g (х) = ера? (af (х, са") = A) —Ji (pt (j (х, h (t)) = 0))),
где
h (t) = cai = i + ip + . . . -j- ip1 1
— числовая примитивно рекурсивная функция.
Теперь с помощью теоремы 1 докажем примитивную рекурсивность некоторых часто встречающихся словарных функций. Начнем с функции F (у, р) — ур. Так как
уЛ = у=Г1(у), у- p«t = гр-а{ = S. (fP) (i = l,...,p)
и функции 21, S; примитивно рекурсивны, то функция гр в силу теоремы 1 также примитивно рекурсивна.
Пусть у~ — обращение слова у, т. е. у” есть слово, полученное из у записью всех его букв в обратном порядке, например, (а1а2«з)~' — ага2а1. Из соотношений
A~ = A, (yair = ai?'~' = SiO(r)y~
видим, что у” есть примитивно рекурсивная функция от у. Следствие. Если словарные функции G, Нх, . . .
. . ., Нр примитивно рекурсивны и
Л(?1, • • ?п> А) = (?(?!,..., уп),
Fi (?1, •. ., агр) = Н> (г1;  • ?п, р, Ft (?1,. .., гп, р)) (1 = 1, . . . , р),
то словарная функция F1 также примитивно рекурсивна. В самом деле, из этих соотношений следует, что функция
• • •> ?п. Р)=^1(?1, . • ;	Р~)
удовлетворяет соотношениям (2) обычной словарной рекурспп п потому F примитивно рекурсивна, а вместе с нею будет прпмптпвно рекурсивной п функция
По аналогии с числовой функцией sg х введем словарную функцию Sgfp, полагая
Г А, р = А,
( г, р=#А,
§ И. СЛОВАРНЫЕ МНОЖЕСТВА И ФУНКЦИИ
213
Из соотношений
SgfA = A, SgFt)a; = у
следует, что функция Sg примитивно рекурсивна.
Обозначим через у — р решение j уравнения у = jp. Если указанное уравнение решения не имеет, то значение выражения у — р будем считать неопределенным. По аналогии с числовой разностью х — у полагаем
(У — Р, если у — р определено, У^р = А	а
I Л, если у — р не определено.
Одноместная функция у at заведомо примитивно рекурсивна, так как удовлетворяет соотношениям
Л — at — Л, уаг- — at = у, уа, — а£ = Л (у =# i).
Из тождеств
У А = у, у — щр = (у р) at
видно, что функция у р примитивно рекурсивна. Мы хотим теперь показать, что функция
(У — Р> если х— р существует, А (у, Р) = ( у, если у — у не существует также примитивно рекурсивна. Для этого введем функции [ Л, если у — at существует, Dt(x) = \ ( а-., если у — а-, не существует.
Соотношения
Р;(Л) = аь 2),(гщ) = Л, JDt(xaj) = at {]'=/= i) показывают, что функции _1)г (у) примитивно рекурсивны. Введем еще функцию D (у, р), полагая по определению D(x, Л) = Л, Р(у, «,-?) = £> (у, р)1){(у ^р).
Пз этих равенств непосредственно видно, что D (у, р) = Л <=> у — р существует.
Но в таком случае
(Л, еслп г — р существует, SgFO(y, р)=	'
( у, если у — у ие существует.
Следовательно, А (У, Р) = (У —P)SgFZ>(y, р)
п потому функция А примитивно рекурсивна,
214
ГЛ. V. АЛГОРИТМЫ И МАШИНЫ ТЬЮРИНГА
Полагаем по определению
Wn($i,   Упн! Рь •
• Vn) =
fb	если	Pi = Л,
f2,	если	рх Л,	р 2 = Л,
уп,	если	pi 5^ А,	р2 Л,.	..,	рп = Л,
Уп н>	если	pi ^4= Л,	р2 =^= Л,...,	рп	Л .
Так как
Wi (fl, f2; Л) = У1,	(fl, f2; paf) = f2,
то функция W\ примитивно рекурсивна. Предполагая теперь известным, что для некоторого п функция Wn примитивно рекурсивна, из соотношений
п+1 (fi> • •	Уп+2> А, Ра., .. Pn+i) = fi,
ИГп+1(У1, •  ; Уп+2; Pi«i,rp2, • • •, Рп+1) =
= ж„(у2,..Уп+2; Рг,  • Pn+i)
видим, что функция Wn+i также примитивно рекурсивна. Рассмотрим функцию Е, определенную схемой
Л, если f б р,
У, если f $р,
^(У, Р) = (
где у 6 р означает, что слово определению имеем
у есть подслово в р. Согласно
Е(тс, Л) = у, А,
-Е(у,гра;)=: Л>
У,
если f £ р, если у $ р, f £ра;, если у (£р, f $рар
(6)
(7)
Но условие f 6 Р равНоспльно равенству Е (г, р) — Л, а условия у р, г 6 tyh равносильны соотношениям .Е (У, Р) ¥= Л, Е [ytai, г) = А. Поэтому из (7) вытекает
E(f, ра,) = Ж, (Л, Л, f; Е (t, р), Р(раь г)).	(8)
Равенства (6), (8) показывают, что функция Е (г, р) примитивно рекурсивна.
Обозначим через Sb (у; р, J) результат подстановки слова J в слово у вместо первого вхождения р. В частности!
§ 11. СЛОВАРНЫЕ МНОЖЕСТВА И ФУНКЦИИ
215
полагаем	Sb (A; р, j) = A	(9)
п	Sb (г; p, j) = f, -
еслп р не входит в	г. Ясно, что Sb (r; p, j) ah если p g j,
Sb (ra,; p,j) =	A(j-«bp)j, если p^r, рб№, (10) fab	если p $ f, p $ jab
Соотношения (10) можно переписать в виде тождества
Sb^p, J) =
= JF2(Sb(r; р, j)ab A(jai7 p)j, fab E (p, f), E (p, №)).
Это тождество вместе с равенством (9) составляют схему словарной рекурсии для функции Sb. Так как исходные функции примитивно рекурсивны, то и функция Sb примитивно рекурсивна.
Наконец, обозначим через Sbo (у, р) результат подстановки в слово f слова р вместо каждого вхождения в f буквы а. Например, Sb0(j, А) есть результат вычеркивания из f всех вхождений буквы а. Далее, Sba (f, A) = = 1’ равносильно условию, что f вообще не содержит буквы а и т. д. Очевидные тождества
Sba. (А, р) = А,
Sba. р) = Sba. (у, р) dj {j i),
Sb0. (rab p) = SbOi (Г, p) p
показывают, что все функции SbOi (j, p) являются примитивно рекурсивными.
11.3. Прямое определение класса частично рекурсивных словарных функций. Как уже отмечалось, основной недостаток введенных в п. 11.1 определений примитивной и частичной рекурсивности словарных функций состоит в том, что эти определения зависят от нумерации слов. Рассмотренные в п. 11.2 операции подстановки, словарной рекурсии и словарной минимизации свободны от этого недостатка и потому могут быть использованы для того, чтобы получить новые, инвариантные определения указанных понятий. Искомые определения содержатся в следующих теоремах.
Теорема 1. Для того чтобы определенная в алфавите А словарная функция F (г15 . . ., гп) была примитивно рекурсивной, необходимо и достаточно, чтобы она могла быть получена из простейших словарных функций О, S, 1$п конечным числом словарных Рекурсий и подстановок.
216
ГЛ. V. АЛГОРИТМЫ И МАШИНЫ ТЬЮРИНГА
Теорема 2. Для того чтобы заданная в алфавите А частичная словарная функция F (Xi, . . Хп) была частично рекурсивной, необходимо и достаточно,, чтобы она могла быть получена из простейших словарных функцийО, S, конечным числом операций подстановки, словарной рекурсии и словарной минимизации.
Для полноты приведем доказательства этих теорем. В п. 11.2 установлено, что операции подстановки и словарной рекурсии, примененные к примитивно рекурсивным функциям, дают функции примитивно рекурсивные и что простейшие словарные функции примитивно рекурсивны. Тем самым установлена достаточность в теореме 1. В п. 11.2 также доказано, что операция словарной минимизации, примененная к словарной частично рекурсивной функции, дает частично рекурсивную функцию. Поэтому достаточность в теореме 2 также установлена. Для доказательства необходимости в теоремах 1, 2 предварительно выведем несколько лемм. Условимся словарную функцию называть словарно примитивно рекурсивной, если она может быть получена из простейших словарных функций операциями подстановки и словарной рекурсии.
Введем еще обозначения v (п) = а" = а^ . . . аг, v (0) = = а® = Л, где ох —какая-либо буква заданного алфавита.
Лемма!. Для каждой числовой примитивно рекурсивной функции f (гх, . . ., хп) существует словарно примитивно рекурсивная-функция F (ух, . . ., Хп), удовлетворяющая тождеству
F (vxx, . . ., vxn) = v/ (zx, . . ., хп).	(1)
Доказательство проведем по числу к операций подстановки и примитивной рекурсии, которые следует выполнить, чтобы получить / из простейших числовых функций о, s, 14. Если к = 0 и, значит, f совпадает с одной пз функций о, s, /4, то словарная функция F, удовлетворяющая (1), строится очевидным образом.
Пусть к > 0, / = 6'm+1 (h, hlt . . ., hm) и пусть Н, Ht, . . . . . ., Нт — словарные функции, связанные с функциями h, Лх, . . . . . ., hm соотношениями вида (1). Тогда словарная функция F = £>n+i ц-ц	Дт} будет связана с / соотношенпем (1).
Наконец, пусть f = R (g, h) и пусть G, Н — словарные функции, связанные с g, h соотношениями типа (1). Таким образом,
/ (*1, • 	®п, 0) = g (zx, .	.	., хп),
/ (zx, . . ., хп, у 4- 1) = h (.гх, .	.	., хп, у, f (агх,	.	.	.,	хп, у))
и в силу (1)
V/ (лгх, . . ., хп, 0) = G (varx, .	.	., vxn),
vf (zx, . . ., xn, у -г 1) = H (varx, .	.	., v.r„, vy, vf(xlt	.	.	.,	xn,	y)).
Но тогда F (rx, . . ., xn, p), определенная рекурсией
E(Xi,...,X„, A) = G(px, ...,pn),
F (Xi, . . ., rn, pax) = H (Xi, . . ., x„, p, F (Xl, . . ., x„, p)\
F (Xi, • • • , Xn, = A (i=2,..., p), будет, как легко впдеть, связана с / условием (1).
§ 11. СЛОВАРНЫЕ МНОЖЕСТВА И ФУНКЦИИ	217
Лемма 2. Существует словарно примитивно рекурсивная функция Т (г), удовлетворяющая соотношению
Т (у (в)) — ап*).	(2)
Действительно, обозначая через G (х) слово, номер которого на 1 больше номера х, из формулы (1) п. 11.1 видим, что
G(A)=ai, G (;at) = xaixl (i = 1,. . ., р — 1), G (]tap) = G (j) ax
ii потому функция G словарно примитивно рекурсивна.
Отсюда следует, что функция Т (х), определенная рекурсией
Т(А) = Д, Т (^) = Т (у) (1 = 2.......р),	Т (хах) = G (х),
также примитивно рекурсивна. Эта функция, очевидно, и удовлетворяет требованию (2).
Лемма 3. Одноместная словарная функция v (с (х)) словар-но примитивно рекурсивна.
Согласно лемме 1 существуют словарно примитивно рекурсивные функции Fi (х), для которых
Fi (vx) = ve (axai) = v (рх -ф- i) (x E N).
Функция v (c (x)) удовлетворяет схеме рекурсии
vc(A)=A, vc (<1я;) = vc (ac (a) aj = Fi (vc (a)) (i = 1, ...,p) и потому сама является примитивно рекурсивной.
Чтобы закончить доказательство теоремы 1, нам надо было показать, что каждая' примитивно рекурсивная функция G (хх, . . . . . ., Хп) словарно примитивно рекурсивна. Пусть f (хх, . . ., хп) — представляющая функция для G. По условию/ примитивно рекурсивна и, значит, в силу леммы 1 существует словарно примитивно рекурсивная функция F, связанная с / соотношением (1). Из соотношений П), (2) последовательно получаем
(: (Г1,  • .,ХП) = «/(с (xi),. . ., e(xn)) = 7’v/(c(xi), • • • , е (Гп)) =
= TF (vc (Xi),. . ., vc (хп)).
Так как функции Т, F, vc (х) словарно примитивно рекурсивны, то G также словарно примитивно рекурсивна, что и требовалось.
Доказательство теоремы 2 проводится аналогично, только «место леммы 1 надо опираться на аналогичную лемму:
Лемма 4. Для каждой числовой частично рекурсивной функции f (хх, . . ., хп) существует словарная частичная функция F (Хх, . . ., Хп), удовлетворяющая соотношению (1) и получающаяся из простейших словарных функций операциями подстановки, словарной рекурсии и словарной минимизации.
Справедливость этой леммы устанавливается тем же способом, что и справедливость леммы 1. А именно, обозначаем через к чпсло "пераций подстановки, примитивной рекурсии п минимизации, при помощи которых функция / получается пз простейших числовых Функций о, s, и ведем индукцию по к. Для к = 0 утверждение
*) Как п ранее, ап означает слово, имеющее в алфавитной нумерации (п. 11.1) номер п.
Ж
218
ГЛ. V. АЛГОРИТМЫ И МАШИНЫ ТЬЮРИНГА
очевидно. Пусть для функции f число к имеет заданное значение а для всех функций f с меньшим к мы умеем строить функцию р. Если f получается из функций с меньшим к подстановкой или примитивной рекурсией, то построение F было указано при доказате-стве леммы 1. Остается рассмотреть случай, когда
£(*) = Ну (g (х’ У) = °)	(3)
и для функции g соответствующая функция G известна. Но из (1) и (3) непосредственно получаем
vf (х) = pa" (G (ух, о") = А).
Следовательно, функция
F (X) = pa” (G (!,	= -А)
и будет искомой функцией для f.
1
Дополнения и примеры	д
1.	Доказать примитивную рекурсивность следующих словарных Я функций	$
a)	F (f) = начальной букве	у;1	|
б)	F (у, п) = начальному отрезку слова у, длина которого { равна длине п; если длина г; больше длины у, то F (у, 9) = у;
в)	F (у) == максимальному решению ^уравнения у = л
2.	Пусть алфавит А состоит из предметных переменных гх, . . .
. . ., хп, функциональных переменных /”*, . .	/"s, скобок (,) и
запятой. Показать, что совокупность всех термов, записываемых ф в алфавите А, примитивно рекурсивна.
3.	Пусть алфавит А содержит не менее двух букв. Рассматри- Ж вается совокупность всех бинарных отношений между словами S в А. Для каждой буквы а; из А определяем отношения pi, щ посред- . ством’формул	у
Композиция 6102 ляется обычным
р = паt, ys^ 4Ф у = ау.
произвольных бинарных отношений Оу, 02 опреде-образом:
у9192р-ФФ (3j)
Ж
Исходя из отношений рх, <тх, . . ., рр, ар, строим новые отношения с помощью операций объединения, пересечения, композиций и рефлексивно-транзитивного замыкания отношения. Показать, что класс всех полученных отношений совпадает с классом всех бинар-ных’рекурсивно перечислимых отношений (Ц е’й т п н [2]). Ч
Ж
§ 12.	Машины Тьюринга
Первый важный и достаточно широкий класс алгорит- 1 мов был описан Тьюринг ом [1] и’П остом [1] _ в 1936—1937 гг. Алгоритмы этого класса осуществляются особыми машинами, называемыми в настоящее время ма
§ 12. МАШИНЫ ТЬЮРИНГА	219
шинами Тьюринга — Поста или просто машинами Тьюринга. Машины Тьюринга копируют в существенных чертах работу человека, вычисляющего по заданной программе, и часто рассматриваются в качестве математической модели для изучения функционирования человеческого мозга.
В настоящем параграфе сначала описываются машины Тьюринга — Поста и реализуемые ими алгоритмы переработки слов, а затем показывается, что класс функций, вычислимых на машинах Тьюринга, совпадает с классом частично рекурсивных функций.
12.1.	Машины Тьюринга—Поста. Машина Тьюринга — Поста содержит следующие части (рис. 1).
а)	Конечная лента (например, магнитная дорожка или бумажная лента типа телеграфной), разбитая на конечное число ячеек. В процессе работы машины к существующим ячейкам машина может пристраивать новые ячейки, так что лента может считаться по-
тенциально неограни-	РИС. i
ченной в обе стороны.
Каждая ячейка ленты
может находиться в одном из конечного множества состояний. Эти состояния мы будем обозначать символами а0, alt . . ., ат или другими символами. Совокупность их называется внешним алфавитом машины, а сама лента часто называется внешней памятью машины. Клетки в одном фиксированном состоянии иногда называются пустыми. ‘Пустые состояния мы обычно будем обозначать символами а0 или 0. В процессе работы машины ячейки ленты могут изменять свои состояния, но могут и не изменять их. Все вновь пристраиваемые ячейки пристраиваются пустыми. Лента считается направленной и ее ячейки мы будем просматривать слева направо. Таким образом, если в какой-то момент времени лента имеет г ячеек и внешний алфавит машины состоит из символов Щц • • •> то состояние ленты полностью описывается словом
aiiah • • •	 • ЙУГ’
где — состояние первой (слева) ячейки., — состояние второй и т. д.
220	гл. V. АЛГОРИТМЫ И МАШИНЫ ТЬЮРИНГА	Ц.
б)	Внутренняя память. Внутренняя память машины — это некоторое устройство, которое в каждый рассматриваемый момент находится в некотором «состоянии». Предполагается, что число возможных состояний внутренней памяти конечно и для каждой машины фикси- . ровано. Состояния внутренней памяти мы будем обоз- < начать символами z?0, q±, . . qn или любыми другими символами, не входящими во внешний алфавит маши- | ны. Совокупность символов, обозначающих состояния 4 внутренней памяти, называется внутренним алфавитом I
машины.	 г<
Состояния внутренней памяти часто называются внут- | ренними состояниями машины. Одно из этих состояний .4 называется заключительным и в работе машины играет # особую роль. Символ, обозначающий заключительное Ж состояние, будет называться стоп-символом.. Как правило, ж роль стоп-символа далее будет играть символ q0. я
в) Управляющая головка. Это некоторое Ц устройство, которое может перемещаться вдоль ленты Ж так, что в каждый рассматриваемый момент времени оно Ж находится в определенной. ячейке ленты. Иногда, наобо- ® рот, считают управляющую головку неподвижно связан-ной с машиной, а движущейся частью считают ленту.' % В таком случае предполагается, что в управляющую головку вводится то одна, то другая ячейка ленты. Если какая-нибудь ячейка находится в управляющей головке, j то говорят также, что машина в данный момент «воспри- Я нимает» или «обозревает» эту ячейку.	Ж
г) Механическое устройство. Предпо- ж лагается, что машина снабжена особым механизмом, кото- J рый в зависимости от состояния воспринимаемой ячейки Ж и состояния внутренней памяти может изменить состояние внутренней памяти и одновременно либо изменить состоя- £ ние воспринимаемой ячейки, либо сдвинуть управляющую головку в соседнюю слева ячейку, либо сдвинуть управ- ? ляющую головку в соседнюю справа ячейку. Если управ- * ляющая головка находится в самой правой ячейке и по & ходу работы машпна должна сдвинуть управляющую « головку в соседнюю справа (отсутствующую) ячейку, то ® предполагается, что, сдвигая головку, машина одновре- Ж менно пристроит недостающую ячейку в пустом состоянии. 1 Аналогично работает машина и в случае, когда головка воспринимает самую левую ячейку и по ходу дела машине 1 надо сдвинуть головку еще левее.	Ж
§ 12. МАШИНЫ ТЬЮРИНГА
221
Наконец, если в какой-то момент времени внутренняя память машины приходит в заключительное состояние q0, то дальнейших изменений в машине не происходит и машина называется остановившейся. Может случиться, что в машине не будет происходить никаких изменений и при каком-то другом внутреннем состоянии qt. Однако в том случае мы не будем говорить, что машина остановилась, а будем считать, что машина продолжает работать «вечно».
По определению, состоянием машины Тьюринга или ее конфигурацией называется совокупность, образованная последовательностью а71,	. . ., состояний всех
ячеек ленты, состоянием внутренней памяти qt и номером к воспринимаемой ячейки а}-
Совокупность всех .этих данных можно записать одним словом
  Qiajk    air.	С1)
которое мы будем называть машинным словом, описывающим указанное состояние машины. Таким образом, каждое машинное слово содержит лишь одно вхождение символа qi из внутреннего алфавита. Этот символ qt может быть самым левым в машинном слове, но не может быть самым правым, так как справа от пего должен помещаться символ состояния обозреваемой ячейки ленты.
Предполагается, что существуют машины Тьюринга с любыми заданными внешним и внутренним алфавитами при условии, что эти алфавиты не имекит общих символов. Предполагается также, что коль скорю заданы внешний {а0, ах, . . ., ат} и внутренний {q0, qv . . ., qn} алфавиты машпны, то машину можно привести в «состояние», описываемое любым произвольно заданным словом вида (1) (прп условии, что символ qt в нем не самый правый), и затем пустить машину работать.
Работа машины состоит в том, что она из данного "состояния» по пстеченпп одного такта, работы механического устройства переходит в следующее «состоянпе», затем от нового состоянпя по пстеченпп такта работы переводит к новому состоянию и так далее.
Если данное состоянпе описывается машинным словом lrt, то машинное слово, описывающее следующее состояние машпны, будет обозначаться через m<1). Полагаем, Далее,
(j = 0, 1, 2,...),
222 гл. v. алгоритмы и машины тьюрйнга
так что mW есть машинное слово, описывающее состояние машины, которое она приобретает через I тактов работы, отправляясь от начального состояния ш. Утверждения mW = Ь и m(i) = b, i 1, будем записывать соответственно в виде ш b и m f— Ь.
Изложим теперь точнее закон построения машинного слова т(1) по заданному машинному слову т. Из описания в г) работы механического устройства следует, что машина может выполнять несколько действий. Если машина, имея внутреннее состояние qt и воспринимая ячейку ленты в состоянии Я;, переводит внутреннюю память в состояние qs и одновременно состояние я7- воспринимаемой ячейки заменяет состоянием аг, то говорят, что машина выполняет команду
Qiai > (Js^v	(2)
Если при указанных условиях машина переводит внутреннюю память в состояние qs и передвигает управляющую головку в соседнюю справа или слева ячейку ленты, то говорят, что машина выполняет команду
Qiaj -> qsR	(3)
или соответственно команду
Qiaj -> qsL,	(4)
где R, L — особые символы.
Совокупность всех команд, которые может выполнять машина, называется ее программой. Так как работа машины по условию целиком определяется состоянием в данный момент ее внутренней памяти qt и состоянием воспринимаемой ячейки aj, то для каждых qh af (i = 1, . . . . . ., п; j = 0, 1, . . ., т) программа машины должна содержать одну и только одну команду, начинающуюся словом qiaj. Таким образом, программа машины с символами {яо, аг, . . ат} и состояниями {qo, qu . . qn} содержит в точности /г (т -j- 1) команд. Мы будем предполагать, что для каждого набора команд вида (2)—(4), содержащего для каждой пары qt, a, (i = 1, . . . ., я; j — 0, 1, . . ., т) точно одну команду вида q^j —> а, существует машина Тьюринга с этой программой.
Рассмотрим пример. Пусть внешний алфавит машины состоит пз символов 0, 1, внутренний — из символов qo, Qi, Уг, гДе Qo — символ остановки, 0 — символ пустой
§ 12. МАШИНЫ ТЬЮРИНГА
223
ячейки. Пусть программа машины состоит из команд q$-+q2R, q2O^qoi, q^qrR, q2i -> q2R. (5) Посмотрим, как будут меняться состояния этой машины при тех или иных ее начальных состояниях. Вспоминая смысл команд (2)—(4), непосредственно находим
?111 1дх1 HgiO 110g20 HOgol,
<731О1	1<7201 к
Ясно, что таким же образом и в общем случае, имея программу машины ф и какое-нибудь машинное слово т, можно строить любое число слов цепочки
m	пН2) fz ...,
представляющих последовательные состояния машины.
В дальнейшем нас совсем не будут интересовать фактическое устройство машины Тьюринга, ее ленты, управляющей головки. Мы будем интересоваться лишь структурой последовательностей машинных слов, описывающих последовательные состояния, принимаемые машиной Тьюринга. С математической точки зрения машина Тьюринга — это просто определенный алгоритм для переработки машинных слов. Так как способ переработки машинных слов известен, если известна программа машины, то будем считать машину Тьюринга заданной, если заданы ее внешний и внутренний алфавиты, программа и указано, какие из символов обозначают пустую ячейку и заключительное состояние.
Процесс построения слова по заданному машинному слову m выше был описан в таких терминах, как «передвинуть управляющую головку», «изменить состоянпе ячейки» и т. п. Мы теперь хотим дать иное описание этого процесса, опирающееся лишь на понятие подстановки слова с в слово а вместо первого вхождения слова Ь в а. Операция подстановки была введена в п. 11.2 и ее результат был обозначен через Sb (а; Ь; с).
Пусть Ь, с — слова в алфавите, не содержащем символа —>. В данном разделе формулой Ь —> с будем обозначать «команду»: в заданное слово вместо первого вхождения словаЬ подставить слово с,— а сами формулы Ь —> с будем называть подстановочными командами. Если какое-нибудь слово а содержит подслово 6, то результатом выполнения команды Ь —> с над словом а будет слово Sb (а; Ь; с). Если же Ь не входит в а, то команду b —> с
224	ГЛ. V. АЛГОРИТМЫ II МАШИНЫ ТЬЮРИНГА
иногда называют неприменимой к слову а и результат ее применения считают неопределенным в отличие от всегда определенной операции Sb.
Посмотрим теперь, какими подстановками из машинного слова т можно получить машинное слово Так как иногда слово m преобразуется в слово mW при помощи пристройки ячейки, то нам надо уметь отличать крайние буквы машинных слов. Для этого введем новые символы и, у, не входящие во внутренний и внешний алфавиты рассматриваемой машины Тьюринга £. Если m — какое-нибудь машинное слово, то слово umv будем называть расширенным машинным словом, описывающим то же общее состояние машины £, что и слово т. Мы хотим сформулировать закон получения слова wmW и из слова umv.
Пусть программа машины Z содержит команду qaai —> —> q$aj и заданное расширенное машинное слово содержит подслово qadt. Ясно, что в этом случае слово umf-^v получается из слова umv подстановкой qaat -н> q^af, ее и будем считать соответствующей команде даа; —> q?flj.
Если машинное слово m содержит подслово q^Ut, а соответствующая машинная команда имеет вид qa.ai —> —> q$L, то легко убедиться, что для получения из слова umv слова umWy надо над словом umv выполнить ту подстановку из совокупности
а0<?ааг —> <?раОаг 1 O-lQaAi > ?Ра1аг, ............................. (6)
uq^t uq^ai, которая применима к слову umv. В частности, последняя подстановка применима только тогда, когда — самая левая буква в т, т. е. когда надо пристраивать ячейку слева.
Аналогично, еслп машинное слово m содержит подслово qa^i, а соответствующая машинная команда пмеет впд qrj.ai —> q$R, то чтобы пз слова umv получить слово izin(1A, достаточно над словом шпу выполнить ту из подстановочных команд
7aaiao —» ai(7p о,
(JafliOi '	1,
(7)
§ 12. МАШИНЫ ТЬЮРИНГА
225
которая применима к слову umv. Так как слово qaat входит лишь один раз в слово т, то к слову umv применима лишь одна из команд (6), (7) и потому порядки следования команд в (6) и (7) безразличны, важны лишь их совокупности.
[Сформулируем теперь правило получения слова mW пзмашинного слова m в общем виде. Пусть задана машина Тьюринга своими алфавитами {«о, ai, . - ., ат}, {qo, рх, . . ., рп}, выделенными символами ао, до и совокупностью машинных команд ф. Для каждой машинной команды из ф строим по указанным выше правилам соответствующие подстановочные команды, совокупность которых назовем совокупностью подстановочных команд машины Пусть эта совокупность состоит из команд
Л1 —>61, йг —> 6г,..й( —> Ь(.	'	(8)
Согласно изложенному для того чтобы из расширенного машинного слова umv получить слово um(1'Jv, описывающее непосредственно следующее состояние машины Тьюринга, достаточно над словом umv выполнить ту из подстановочных команд (8), которая применима к слову umv.
Если ни одна из команд (8) не применима к слову umv, то ш содержит заключительный символ qo и потому слово umv описывает заключительное состояние машины.
12.2.	Вычислимые функции. Рассмотрим произвольную машину Тьюринга £ с внешним алфавитом {яо, ях, . . ., ат), внутренним алфавитом {ро, Pi, . • Рп} и программой ф. Программа ф позволяет преобразовывать определенным способом одни машинные слова в другие. Однако вычисления при помощи машины £ мы будем производить не над машинными словами, а над словами в редуцированном алфавите *) {alt . . ., ат} машины £. В связи с этим введем еще несколько определений.
Пусть ш — какое-нибудь машинное слово в алфавите машины £. Через т* условпмся обозначать слово, получающееся из m вычеркиванием спмвола рг и всех вхождений символа ао. Говорят, что слово а, записанное в ’реду-цпрованном алфавите, перерабатывается машиной £ в слово 6, символически sp (а) = Ь, еслп для некоторого натурального i
qo ё (Pi«o«)(i>, b = (pxaoa)(i)*.	(1)
*) Символы a0, и, v исключаются.
226	ГЛ. V. АЛГОРИТМЫ И МАШИНЫ ТЬЮРИНГА
Если же никакое г не удовлетворяет условию
то говорят, что машина неприменима к слову а или что результат переработки слова а машиной £ неопределенный. В этом случае говорят также, что выражение ф (а) имеет неопределенное значение.
В машинных терминах это означает следующее. Пусть a}l . . . a;s — какое-нибудь слово (возможно и пустое) в редуцированном алфавите {alt . . ., ат}. Берем ленту, состоящую из s + 1 ячейки. Левую ячейку оставляет пустой, а в остальные последовательно «вписываем» символы а^, . . ., aj Помещаем ленту в машину (рис. 2) так, чтобы машина воспринимала самую левую (пустую) ячейку. Приводим внутреннюю память машины в начальное состояние qr и пускаем машину в ход. В силу своего устройства машина £ начнет последовательно принимать состояния (?iaoajx • • • aJs) к (ДОо^ • • • «js)(1) != (?Юо^х. •. a,s)(2> != ...
Теперь возможны два случая: либо в какой-то момент времени i внутренняя память машины придет в заключительное состояние и, значит, машинное слово, описывающее состояние машины в этот момент, будет иметь вид й;-роЬг-, либо внутренняя память никогда не придет в 'состояние
q0. В первом случае ф (аХ1 . . . ajj — а во втором случае ф (ajt . . . а.^ имеет «неопределенное» значение.
Пусть F (г) — какая-нибудь словарная частичная функция в редуцированном алфавите {щ, . . ., ят} машины £. Если для каждого слова г в этом алфавите
F(f) = $(t),
то говорят, что машина £ вычисляет функцию F (г).
Рассмотрим, например, машину с программой (5) из предыдущего раздела. Редуцированный алфавит этой машины содержит лпшь символ 1 и потому слова в этом алфавите имеют вид
Рис. 2
А, 1, И, 111д . . .
§ 12. машины тьюрйнга
227
Из Соотношений
?х0 к 0д20 |= Одо1,
?111 ... 1 1дх1 ...1|=...^1... 1дх0 1=
h 1 • • • 10?20 1 . .. . 10g0l
ВИДИМ, ЧТО sp (f) = fl.
С другой стороны, рассмотрим машину £х с алфавитами {0, 1}, {qa, <?х} и программой
?х0 -> qTR, qiL -> q±R.
Из соотношений
qLQ |= Oq-fi 00gx0 jzz . . .,
?х01 . . . 1	. . . к 01 . . . lgx0 к 01 . . . 10?х0 |= . . .
заключаем, что £х вычисляет нигде не определенную функцию.
Возвращаясь к машине Тьюринга с произвольными алфавитами {а0, ах, • • ч ат}> {<?о, <ЭТ, • • ., qn} и программой ф, условимся говорить, что машина £ перерабатывает s-ку слов fx, . . ., fs, записанных в редуцированном алфавите {ах, . . ., ата}, в слово f, если для подходящего натурального i
q0 € (<7iaofiaof 2 •.. aof5)(i), f = (pifflofi • • • «ofs)(i)*.
В этом случае пишут ф (fx, . . ., fs) = f. Если для любого i
qo с (?iaofi •.. aofs)(i),
то говорят, что машина £ неприменима к s-ке (fx, . . ., fs) и что выражение ф (fx, . . ., fs) имеет неопределенное значение.
Говорят, что словарная частичная функция F (fx, . . . . . ., fs), определенная в алфавите {<2^, . . ., а^}, составляющем часть редуцированного алфавита {дх, . . ., а&, . . . • . ., ат} машины £, вычисляется машиной £, если для любой s-ки слов fx, . . ., fs в алфавите {ах, . . ., гц-}
ЛЯ,---,Я) = №>••> fs)-
Таким образом, с каждой машиной Тьюринга £, имеющей указанный внешний алфавит {а0, аг, . . ., Ощ}, сопоставляются частичные словарные функции $|J (f), (fi, 1’2), • • ч определенные в редуцированном алфавите {йх, . . ., дт}. Остальные функции, вычислимые на маши-
228 гл. v. алгоритмы и Машины тьюрййСа	я
не £,— это [ограничения" функций ф (f), ф (?х, ;2), . . . Я на множествах слов, записываемых в частичных алфави- Я тах {ях, . .	а^} (k т).	Я
Частичная словарная функция называется вычислимой Ц или вычислимой по Тьюрингу, если она вычислима на под- Я ходящейыиашине Тьюринга.	Я
Теорема 1 (Тьюринг). Все частичные словарные Я функции, вычислимые по Тьюрингу, являются частично -1 рекурсивными.	I
Так как функция, определенная в некотором алфавите 1 и частично рекурсивная в расширенном алфавите, явля- I ется частично рекурсивной и в первоначальном алфавите | (п. 11.1), то для доказательства теоремы 1 достаточно по- I казать, что функции ф (?х, . . ., js) (s = 1, 2, . . .) для 3 любой машины Тьюринга £ являются частично рекур-сивными.	I
Пусть {я0, ях, . . ., ат), {до, qlt . . ., qn} — внешний и | внутренний алфавиты машины £ и пусть	|
Ь1 —> Оь Ьг —> Сг, . . ., bi —> С/	(2) JI
— программа подстановок для £, определенная в пред- я шествующем разделе. Символы Ьг, сг означают подхо-дящие слова в расширенном алфавите {яо, ях, . . ., ат, qo, • • Яп, и, я}.	1
Для произвольного слова а в указанном объединенном Я алфавите мы определяем слово а(1) с помощью следующего | правила: в программе подстановок (2) ищем первую коман- J ду	—> с;, левое слово которой входит в а, и затем в а |
подставляем слово вместо первого вхождения слова | Если ни одно из левых слов команд программы (2) в а не входит, то полагаем а(1) = в.	|
Изложенное правило дословно совпадает с правилом построения слова uin(1T по заданному расширенному ма- ) шинному слову umv, которое было сформулировано в кон- ; це предыдущего раздела. Отличие состоит лишь в том, что » теперь мы применяем это правило к произвольным словам j в расширенном алфавите, а не только к машинным словам. Полагая, как п в и. 12.1,	;
а(0) —я, й0+1)=й0)«	(1 = 0, 1, 2,...),
видим, что выражение а(1) теперь имеет определенное значение для любого слова а в расшпренном алфавите, при- ’ чем, если а — машинное слово, то a(i) — машинное ело- |
§ 12. МАШИНЫ ТЬЮРИНГА
226
во, отвечающее тому состоянию машины Тьюринга, в которое она иридет из состояния а после i тактов работы.
Вместо выражения у(i), зависящего от словарного аргумента у и числового аргумента I, вводим функцию V (a, у), полагая
F (а, у) = р(длина °)
для любых слов а, у в расширенном алфавите.
Функция ф (ух, . . ., у8) определена в редуцированном алфавите. Мы продолжим эту функцию до функции ф0 (ух, . . ., Уз) в объединенном алфавите, полагая фо (ух, • • • , Уз) совпадающей с ф (ух, . . ., ys)) для слов Уг, . . > Уз в редуцированном алфавите и неопределенной для остальных значений ух, . . ., ys. Так как графики функций ф и фо совпадают, то частичная рекурсивность одной из этих функций влечет частичную рекурсивность другой. Но сравнивая определения функций ф и F, непосредственно заключаем, что для слов ух, . . ., у8, у в расширенном алфавите равенство
фо(У1, •••, Уз) = У	(3)
истинно тогда и только тогда, когда существует слово а, удовлетворяющее требованиям".
ух, . . ., Уз не содержат букв ао, qo, . . ., qn, и, и,
qo содержится в слове F (а, мдх«оУ1 . . . аоХ-Р), (4) у = F (a, ищущих  • • aoysr)*,
где звездочка * означает операцию выбрасывания из данного слова всех вхождений символов ао, qo, . . ., qn, и, и.
Согласно п. 11.2
Щ $ У1Л = Е (yit Sb0o (уь Л)), М уг & Л = Е (уд, Sbg. (уъ Л))
(7 = 0,..., п), н^уг^>А = Т?(уь 8Ьи(уь Л)),	(5)
и $ ух	Л =. Е (уь Sb„ (у{, Л)),
9о G F (а, идцаоУг ... а0£}и)-&Л. = Е (q0, F (а, Щ7Ха0У1 ...aoysr)), y=F(a,ugiaoyi...aoys^)*44A = ^(y, F (...)*) J5(F (...)*, y), где E, Sba — примитивно рекурсивные словарные функции, определенные в конце п. 11.2.
Обозначая через G (ух, . . ., ys, у, а) произведение всех яыраженищ стоящих справа от (правых) знаков равенств
230 fn. v. алгоритмы й Машины тыорйш’а	)
в формулах (5), приходим к заключению, что совокупность условий (4) равносильна равенству
G(Ei, • • •> Es, Е, <х) = Л.	(6)
График функции ф0 состоит из систем (ух, . . ys, у), удовлетворяющих условию (3), т. е. из систем, для которых уравнение (6) имеет хотя бы одно решение а.
Допустим, что функция V (а, у) примитивно рекурсивна. Тогда левая часть уравнения (6) будет также примитивно рекурсивной функцией, график функции $р0 будет рекурсивно перечислимым, а сама функция ф0 будет частично рекурсивной, что и требуется. Поэтому остается лишь доказать примитивную рекурсивность функции V.
Из определения функции V следует, что
F(A,f) = f,	(7)
V (ez, у)=
Sb (F (a, y); bi, ci), если bi 6 F (a, y),
Sb (F (a, y); b2, c2), если bid: F (a, y), b2 6 F (a, y),	(8)
. F (a, у), .	если bi$F (<?, y),..., b^ F (a, y),
где z g {a0, ar, . .	q0, . . qn, u, v}, Sb — знак подста-
новки (п. 11.2), a bi, Ci, . . ., Ь/, сг — слова из программы подстановок (2) машины £.
Согласно п. 11.2 схемы (7), (8) равносильны схеме словарной индукции для F (л, у) с примитивно рекурсивными исходными функцией у и функциями
На (а, f, 9) = W (Sb (9; bi, сх),..., Sb (9; Ь(, сг), 9;
J?(bi, р), ..., .E(bz, р)).
Следовательно, функция F (а, у) примитивно рекурсивна и теорема доказана.
Обратная теорема к доказанной теореме также верна. Однако доказательство ее требует некоторых вычислений, которые будут проведены в следующем разделе.
12.3.	Синтез машин Тьюринга. Как уже говорилось, пмеет место следующая важная
Теорема 1 (Тьюринг). Для каждой частично рекурсивной словарной функции F (ух, . . ., ys), определенной в некотором алфавите {аг, . . ., ат), существует машина Тьюринга с символами а0, а1, . . ., ат и подходящим внутренними состояниями, которая вычисляет функцию F (У1, . . ., УД.
§ 12. МАШИНЫ ТЬЮРИНГА
231
Каждая частично рекурсивная функция получается из простейших функций операциями подстановки, примитивной рекурсии и обращения. Поэтому теорема 1 будет доказана, если нам удастся решить следующие частные задачи:
1)	построить машины Тьюринга, вычисляющие простейшие функции;
2)	имея машины Тьюринга, вычисляющие функции F, Flt . . ., Fs, построить машины, вычисляющую функцию F (Flt . . Fs);
3)	имея машины Тьюринга, вычисляющие какие-то функции G, Нь построить машину, вычисляющую функцию, возникающую из G, H-t примитивной рекурсией;
4)	имея машину Тьюринга, вычисляющую всюду определенную функцию G (fx, . . ., fs, f, а), построить машину, вычисляющую функцию F, заданную соотношением
F (fi, . •f5) = f 44 (За) (G (fi, ..., f5, f, а) = Л).
Здесь (За) означает выражение «существует такое слово а, что ...».
Задачи 1)— 4) и будут решены ниже. Внутренние состояния искомой машины будут обозначаться символами qo, qr, . . ., qn, а сама машина будет задаваться своей программой команд ф, причем иногда будут выписываться не все команды $р, а лишь те, которые будут нужны по ходу дела. Как и в предыдущем разделе, если ш — машинное слово, то через будем обозначать машинное слово, описывающее то состояние машины, в которое она придет, исходя из состояния ш, через I тактов работы.
Для машинных слов ш, п будем писать щ => п, еслп ш<0 = п для некоторого I и в процессе перехода от состояния ш к состоянию п машина ни разу не пристраивала ячеек слева. Будем писать пг |=> п, если = п для некоторого i и в процессе перехода от состояния ш к состоянию п машина не пристраивала новых ячеек ни слева, ни справа.
Пусть машина £ имеет алфавиты {ао, alt . . ., ат], {qo, qlt qn} и F (fi, . . ., fs) — частичная «-местная словарная функция, заданная в редуцированном алфавите {alt . . ., ат). Будем говорить, что машпна £ правильно вычисляет частичную функцию F (f15 . . ., fs), еслп
9i«o?i«of2 • •  aofs |=> qgaoF (fi, .. ., fs) aQ . .. a?
232
ГЛ. V. АЛГОРИТМЫ И МАШИНЫ ТЬЮРИНГА
для любой системы слов fx, . . ., fs в редуцированном алфавите, принадлежащей области определения функции F^ и если в случае, когда F (fx, . . ., fs) не определено, маши-на £, начав работать в состоянии q1ao^iao^2... aojs, никогда; не остановится, т. е. не придет во внутреннее состояние^ qo, и никогда в процессе работы не будет надстраивать ленту слева.
Сравнивая понятие правильной вычислимости функции с понятием (простой) вычислимости, введенным в п. 12.2, непосредственно видим, что из правильной вычислимости заведомо вытекает простая вычислимость. Поэтому мы лишь усилим теорему 1, если докажем, что справедлива
Теорема 2. Для каждой частично рекурсивной словарной функции F (fx, . . ., fs), определенной на совокупности слов какого-нибудь алфавита {ах, . . ., ат}, существует машина Тьюринга с символами ао, ах, . . ., ат и подходящими внутренними состояниями, которая правильно вычисляет функцию F.
Мы докажем эту теорему лишь для случая, когда первоначальный алфавит {ах, . . ., а,п) состоит из одного символа 1. Рассуждения в случае произвольного алфавита остаются теми же самыми и лишь записи становятся более громоздкими.
Вместо символа ао будем употреблять далее символ 0. Для положительного натурального х вводим обозначения
Iх = 11 ... 1, 0* = 00 ... 0.
Дополнительно полагаем
0° = 1° = А,
где А — пустое слово.
На слова
1° = А, I1 = 1, I2 = И, I3 = 111, . . .
будем смотреть как на «изображения» натуральных чисел 0, 1, 2, 3, . . . Соответственно этому будем говорить, что числовая частичная функция / (х1, . . ., xs) правильно вычисляется машиной £, если этой машиной правильно вычисляется словарная функция F (гх, . . ., rs), определенная равенством
F (1х‘, Iх’, . , lx's) =	...Ч
§ 12. МАШИНЫ ТЬЮРИНГА	233
Итак, мы хотим доказать, что для каждой числовой частично рекурсивной функции j (рц, . . ., xs) существует машина Тьюринга с внешним алфавитом {0, 1} и подходящим внутренним алфавитом {qo, q^ . . ., <уп}, которая правильно вычисляет функцию / (хг, . . ., xs), т. е. для которой
q101x‘01x^ . . . 01*’ => qoOlKXl’ •” *’}0 ... О
при любых хг, . . ., xs из области определения функции /, и которая не останавливается и не надстраивает ячеек слева при запуске ее из состояния д101т>01Х2 . . . 01х« в случае, если значение f (xL, х2, . . ., xs) не определено. -
Мы начнем с определения понятия композиции машин Тьюринга, играющего основную роль во всех вопросах, связанных с синтезом машин. Пусть заданы машины Тьюринга ф, £>,, имеющие какой-то общий внешний алфавит {ао, а1, . . ., ато) и внутренние алфавиты {qQ, q±, . . ., <?n} п соответственно {qo, q'i,  . ., q't}- Композитом (или произведением) машины ф на машину Й будем называть машину 91 с тем же внешним алфавитом {а0, я1, . . ., ат}, внутренним алфавитом {qo, qr, . . ., qn, qn+i,  • -, qn+t} и программой, получающейся следующим образом. Во всех командах из ф, содержащих заключительный символ q0, заменяем q0 символом qn+i- Все остальные символы в командах из ф оставляем неизменными. В командах из Й, напротив, символ q'o оставляем неизменным, но зато каждый из остальных символов (?) (у = 1, . . ., t) заменяем символом qt+j. Совокупность всех команд из ф и Й, измененных указанным способом (обозначим их соответственно ф* и Й*), и будет программой композита машин ф, Й.
Композит машины ф на машину Й обозначается через фЙ или ф * Й. Основное свойство его выражает
Лемма 1. Если для каких-то слов а0, Ьо, а2, Ь2 внешнего алфавита {а0, аг, . . ., ат}
ф •• йо?1Ьо И aiqobi, О.: ihqibi |=> й2д0Ь2, то
фЙ: Uo^ibo ls> й-зд'оЬа-
Действительно, преобразуя слово йо^Ьо с помощью команд пз ф*, получим слово ft^n+ibi- Дальнейшие преобразования его с помощью команд из Й* приведут к МоЬ2-
234	ГЛ. V. АЛГОРИТМЫ И МАШИНЫ ТЬЮРИНГА	|
Отметим следующее очевидное положение: если про-| грамма машины содержит команду qtl qtL, то
01 . . . iqti l=> qtOl ... И.	I
Аналогично, если программа машины содержит команд ду qti -> qtR, то
qti . . . 10 |s> 1 . . . 1дг0.
Ниже указывается серия машин Тьюринга, преобра-' зующих машинные слова одного заданного вида в машин-; ные слова другого заданного вида. Программы машин: пишутся столбцами. Для контроля против некоторых; команд указываются те машинные слова, в которые перехо-: дит первоначальное заданное машинное слово после выполнения всех предыдущих команд, включая в их число и стоящую слева команду.’Выписанные ниже программы отнюдь не самые короткие, но в каком-то смысле естественные.
А) Перенос нуля: ^OOFO |:s> ^оО1“ОО.
Имеем: qLQ —> q2R 0g20F0
?20 -> д31
g3l -> q3R 011xq30
q30 -> qiL
qd -> q30	0Fg500
q50 -> qeL
qd ~> qeL	g60F00
g80 —> q£	goOFOO.
Б~) Левый сдвиг: OF&O |=> (?oOFO.
Имеем: q-fi —> q2L
q2l -> q2L q20ix0
q20 s- qoO qoOFO.
Б+) П p а в ы й сдвиг: g^OFO |s> OFt/oO.
Программа этой машины получается пз предыдущей программы заменой символа L символом R.
В) Транспозиция: OF^OFO |s> OFgoOFO.
Сначала переводим слово OFg^OPO в слово OFgPOO. Прп у й 0 это достигается следующей очевидной программой:
§ 12. МАШИНЫ ТЬЮРИНГА
235
Б+ : 01х01у?30
<?з0 —> qiL  qil -> q50 q50 qaL t/gl —> q^L 01ag801y-100 g80 -> g,l 01x?7ly00.
Чтобы получить слово О1ж<77 1у00 и при у = 0, добавляем команду
q£ -> £,0 01жд71у00 (г/ > 0).
Теперь из подслова Iх перебрасываем один символ 1 в промежуток между двумя последними нулями. Очевидно, это достигается следующей программой:
qil	—> q&L	01x-i?8Hy00
qsl	—> q&	
qaO	-> qioR	
qioi	-> qioR	Ol^-WftoOO
qioQ		
£ц1	0.12^	
	—> (?1з0	O^-iOly-^gOlO
?1з0	—> quL	
gul	—> quL	oi’-w^oio
guO	-> gisl	oi*-w*oio.
Мы достигли своей цели, но в предположении х^> 0, у > о.
Чтобы тот же результат получился и прп у = 0, добавляем к записанной программе еще приказы
<?-0 -» gi8l
g'isl —> qnL
qiA qisO OT'-’gisPOlO (ж > 0, г/ > 0).
Теперь «зацикливаем» программу приказами ?1з1 -> q-Л
. ?150	g70 Ol^POlO.
Если х — 1 > 0, то, как легко впдеть, слово 01А-1д7'Р010 переработается в слово 01:с—2д,71у0110. Если х — 2	0,
то процесс дальнейшей переработки даст слово 01х-з?71у01110 и т. д. Через х «циклов» получим слово
236	ГЛ- V. АЛГОРИТМЫ И МАШИНЫ ТЬЮРИНГА
0q7iv01x0, которое после выполнения приказа qii —>4 —> qsL (если у > 0) или приказов <?70 —> qVj\. и т. д. (если . у — 0) перейдет в слово q8QivQlx или в слово qiiOli'V. i Чтобы полупить требуемое слово, далее присоединяем < приказы
q&0 -> qi&R g'isl —> qisR q180^qB0 OlyqoOrO (y > 0)  t/ivO —> qi$R q19i goO ОРб/оОГО (z/ = 0).
Г) Удвоение: ?101ж0х+3 |=> ?o01x01x00.
Полагаем: qfi —> q2R
q2l q2R 01жб/20х+3.
Полученное слово 01 xq20x+3 представляем в виде; 01жд'200°00°0х+1 и далее пишем программу, для которой > при х — i 0
01ж-*д20Г0Г0 Н> 01х"(и1) ?201i+101i+1.
Полагаем: q20 —> q3L О1х_<1+1)(7з1О1*О1Ю
g3l -> g40
<?40 q5R
qfi -> g6l
?61 qsR ОП-^ОН+^вОГО
Q'gO -> q-R
q7l —> qyR
q-sO —> p8l
g^l qsL
q&0 q9L
q9l —> q9L 01’f_(i+1)Q'901i+101i+1.
Теперь приказом
<?80	q20 01x-(i+1)q201i+I0ii+1
зацикливаем программу и машина, пользуясь фиксированными выше приказами, начинает перерабатывать указанное слово. Если х — (i -j- 1)	0, то после цикла работы машины получится слово	и т. д.
Заметим, что в теченпе каждого цикла машина вводит в игру новую ячейку ленты^справа, беря ее из того запаса пустых ячеек 0ж+3, который нами был заранее написан в
§ 12. МАШИНЫ ТЬЮРИНГА
237
исходном слове. Если этого не было бы сделано, то машина пристраивала бы сама по одной новой пустой ячейке в каждом цикле работы. 
Итак, имея начальное состояние д101я0ж+3 и указанную выше программу, машина через х циклов работы придет в состояние 0^201ж01ж0. Приказ q-fi —> q3L переведет машину в состояние <?3001ж01ж0. Производя теперь перенос нуля А, затем правый сдвиг Б+, еще раз перенос нуля А и, наконец, левый сдвиг Б-, получим требуемое слово роО1жО1жОО.
Комбинируя между собой машины А, Б+, Б-, В, Г, легко получить машины, выполняющие более сложные преобразования слов. Так, например, имеем:
Б+Б+) Двойной перенос:
Б+Б+: 2101*01*0 Н О1жО1^оО.
Ц) Циклический сдвиг: Ц = ВБ“В.
Ц: OFOPpiOHO h> О1^оО1жОРО.
Гг) Копирование: Гг = Б+ВГВБ+ВГВ.
Гг: ?101ж01* >> О1*О1*2оО1*О1*.
Проверка того, что указанные композиции машин действительно выполняют заданные преобразования машинных слов, очевидна.
Как уже говорилось, для доказательства основной теоремы нам достаточно научиться строить машины, правильно вычисляющие простейшие функции и функции, возникающие из правильно вычислимых функций с помощью операций суперпозиции, примитивной рекурсии и минимизации. К этим построениям мы теперь и перейдем.
Лемма 2. Функции о (ж) = 0, s (ж) = х + 1, d (х) = х — 1 правильно вычислимы.
Программы машин, правильно вычисляющих указанные функции, пишутся очевидным образом:
о (х) = 0: рх01ж0 |=. qoOQx+1
рД -> q2R
qA —> q.2R 01ж(?30
q20 —> ЦзЬ
q3l —> q^Q 01x^1qiQ(J qnP -> q-зЬ q30Qx+1 рзО qtfl (?u00x+1
238
ГЛ. V. АЛГОРИТМЫ И МАШИНЫ ТЬЮРИНГА
Й (ж) = х 4- 1: ?101ж0 (=> ?оО1х+1 ?10 -> q3R q2i q3R 01xq20 q20 -> q3l g3l q3L q30 -> q0Q q0Qlx+1 d (x) — x — i: QjOl^O (=> goOlxilOO
710	
	—> q3R	01ж720
?20	-> q3L
	-> qtO Ol^qtOO
	~^q3L
	-> q3L 7501“-Ю0
g5o	—> goO	7оО1х-1ОО
?3°	qoO для x = 0.
Выше прослежен процесс переработки слова (/jOV’O для х 1. Легко убедиться, что результатом переработки указанного слова по изложенной программе для х — О будет требуемое слово роОО.
Для того чтобы легче было следить за работой машин в оставшихся более сложных случаях, введем следующие обозначения. Пусть Т — программа какой-то машины с алфавитами — внешним 0, 1 и внутренним q0, qlr . . qn, причем q0 — символ заключительного состояния. Пусть а — положительное натуральное число. Заменяя в записи команд программы Т символы qlt . . ., qn соответственно символами qa, . . ., qa+n-i, а символ q0 символом 7а+п, получим программу машины с тем же внешним алфавитом {0, 1} и внутренним алфавитом {qa, Уа-п, . . ., <?a+n}, причем заключительным символом теперь служит символ ра+п. Эту новую программу будем обозначать через Та или, подробнее, через Т^, где чпсло р = а + п целиком определяется машиной Т и чпслом а. Условимся также писать
если машина Т, начав работать в состоянии <р/аЬ, переходит через некоторое время в заключительное состояние <ЗД$Ь10 ... О прп условии, что в процессе работы лента не надстраивалась слева. Вспоминая теперь определение композиции машин, непосредственно видим, что если для
§ 12. МАШИНЫ ТЬЮРИНГА
239
некоторых слов а0, Ьо,	аг, Ь; в алфавите {0, 1}
п каких-то машин U, V, . . W
doqibo (U)iaiqebi (V)^2qvbs...
то
aoqibo ((UV).. . W)atqebi.
Докажем теперь оставшиеся нужные нам леммы.
Лемма 3. Простейшие функции (хг, . . xs) = = xt (s i; s, t — 1, 2, . . .) правильно вычислимы.
Укажем, например, программу для 1%. Символы А, Б, В, Г, -(0), . . . обозначают программы рассмотренных выше машин. Очевидно,
giQixQiv (Б*)101*?в0Р	(0)¥0lygfi0 ... 0 (Б"М01у.
Таким образом, искомой машиной, вычисляющей правильно функцию /I, является композиция Б+ * В * (0) * Б“.
Лемма 4. Если частичные функции g (хг, . . ., ж8), hr (ж15 . . ., xt), . . ., hs (xt, . . ., Xt) правильно вычислимы, то суперпозиция
/ (ajj, . . ., xt) = g fo, . . ., xt), . . ., hs (Xi, . . ., xt))
—также правильно вычислимая частичная функция.
Пусть (g), (TiJ, . . ., (hs) — программы машин, правильно вычисляющих указанные функции. Еслид — одноместная функция, то из
$101х‘... 014 (Л1)^е01л‘<л‘’ - 4> (g)B?v01^)
видно, что машина (АД * (g) правильно вычисляет нужную нам функцию g (kj).
Чтобы не писать излишне длинных выражений, рассмотрим еще лишь случай, когда заданные частичные функции g, ht, h2 двуместны. Пользуясь введенными выше машинами сдвига, транспозиции, удвоения и нулевой функции, получим
PiOl-^OPfrr)! 0ix01vqa01x01v
(/ц)а 01х0Р?в01М«. у) (Ц)в ow*.
(hz)y Qi^’V'iqfii^v)
(Б_)6 де01Л1<ж’ у)01М*. у»
(g)e q;0ie(h"
qK0^>qo0 qQ01s<^> Л-->.
I
240	ГЛ. V. АЛГОРИТМЫ И МАШИНЫ ТЬЮРИНГА	3
Лемма 5. Функция j, возникающая примитивной j рекурсией из правильно	вычислимых	функций	g, h,	сама	1
правильно вычислима.	1
Для наших целей достаточно	будет	рассмотреть	част-	1
ный случай, когда функция / связана с функциями g, h | зависимостью	1
/ (х, 0) = g (х), f (х, i + 1) = h (j (х, i), х).	|
Как и выше, через (g), (h) обозначим программы машин, | правильно вычисляющих функции g и h. Пусть х, у -— 1 произвольные натуральные числа. Имеем:	1
^OFOFO	]
(Б+ВГВБ+Д OFOPgaOFO	|
(g)a OFOl^pOF*- о»	|
gpO <?Р+1Л	|
(Zp+il 9р+г0	|
(А)р+2 OFOF 0)	|
(Б~ВБ+ВГ)7 Ol^OF*. o)g6Ol*Ol*	I
(ВБ“ВБ+)й OFOF-^eOl/^ °>01*	J
(7z)E 01x61v-1gx01/(«. 1)
7z0->gp0.	j
Команды, идущие после первого появления состояния j gp, преобразуют машинное слово	J
OlW-’gpOF*-В	1
в слово	J
01x01y-<i+1V/.01/(-T’i+1)
при условии, что у г. Команда qy0 -> gpO зацикливает программу и последующими преобразованиями параметр у — i будет понижаться до тех пор, пока не получится слово
OrOgpOl^
которое в сплу команды gp0 -> q^i_L перейдет в слово 01ж?р+1001«х.’А
Дополнительными командами
gp+1O->gx+1O, (A)z+1, (B(0)B)z, (Б-)ц, (A)v
получим требуемое состоянпе 7оО1/(х’ ’А
§ 12. МАШИНЫ ТЬЮРИНГА
241
Отметим несколько следствий, непосредственно вытекающих ns доказанных лемм. Прежде всего, соотношения х'. + 0 = х, х + (i + 1) = (ж + i) + 1 показываю», что функция х + у получается из функций g (х) = х и h (х, у) = х + 1 посредством примитивной рекурсии рассмотренного в лемме 5 вида. Функции х и s (/?) согласно леммам 2, 3 правильно вычислимы. Поэтому и функция х + у правильно вычислима.
Аналогичным образом убеждаемся, что функции х — у и ху возникают примитивной рекурсией указанного в лемме 5 вида из функций х, /г (ж, р) = ж — 1 и соответственно о (х), у + \х. Так как последние функции правильно вычислимы, то функции х — у и ху также правильно вычислимы. В силу леммы 4 вместе с функциями х, хг-х2 правильно вычислимой будет и функция ж2.
Лемма 6. Если частичная функция g (х, у) правильно вычислима, то функция
f (*) = P-у (g у) = 0) также правильно вычислима.
Действительно, для любого заданного натурального х рх01ж0
(ГгД 01х0ра01ж0  (g)a О1жО1°ррО1^°).
Теперь как и выше, подбираем команды, которые прп условии g (х,	0 преобразовывали бы слово
ОРОГррО!®^) в слово 01x01i+1pp01^x>i+1):
?р0 -> ?p«# gp+il (7р+зО pe+20 -> q^3L gp+зО —> Рр+Д W -> q^R OPOIW1^’ 0)-i (0)p+5 01*01^0
(Б-Б-), peOPOl1
(Гг)6 01x011ge01x011
(g)e OPOlVzOl^. D (7x0 -> (ZpO 01x011gp01s(y- D.
Последняя команда зациклпвает программу и машина от состояния 01к011(?р01='л'’1) преобразуется в состоянпе
242	fn. V. АЛГОРИТМЫ It МАШИНЫ ТЬЮРИНГА
OP’OlAyflOl»^’2’, затем в состояние 01x013q^01g(Xi3i и т. д. Допустим, что по истечении некоторого времени машина перешла в состояние О1'тО1’дрО1г(д’г) и g (х, г) = 0. Написанная выше команда q^R переведет машину в состояние ОГтОГОдрн j.0. Так как в рассматриваемом случае / (я) = i, то нам остается дописать лишь команды, под воздействием которых машина из указанного состояния перейдет в состояние уоО1‘. Полагаем
<Zp+xO gz+io 01г0Г0?и+10 (Б~Б-)г+1	01^01*
(В (0) Б-)а
?цО->9оО ?оО1/(л)- .
Если в процессе вычисления значений g (ж, i) (i — = 0,1,2,...) встретится либо неопределенное значение, либо все значения будут определены, но отличны от 0, то машина будет работать вечно, не приходя никогда во внутреннее состояние q0. Но в этих случаях функция f (х) имеет неопределенное значение и потому во всех случаях указанная программа будет вычислять f (х). Лемма доказана.
Выше была установлена правильная вычислимость функций О (х), X 4- 1, X2, X — У, X 4- у, Im, Sg. В СИЛу леммы 4 вместе с этими функциями правильно вычислимыми будут и все функции, получающиеся из заданных операциями подстановки. В частности, правильно вычислимыми будут функции Sg ((у 4- I)2 — х) и sg (2 (у 4- 1) — х). Но
[х/2] = й (2 (у+1)^-х) = 0),
ЦАг] = Hv (sg ((У + i)2 я) = 0),
поэтому в силу леммы 6 функции [х/2], []Гх] также правильно вычислимы.
В п. 3.3 были введены нумерационные функции Кантора с (х, у), I (х), г (я). Из явных выражений для этих функций видно, что они выражаются через х, у при помощи 4-, —, ж2, [fx], [х/2]. Поэтому функции с, I, г правильно вычислимы.
Теперь для завершения доказательства теоремы о синтезе машин Тьюринга нам остается лишь сослаться на следствие теоремы 2 из п. 3.4, согласно которому любая
§ 12. МАШИНЫ ТЬЮРИНГА
243
частично рекурсивная функция может быть получена из функций о, ж + 1, In' с, I, г конечным числом операций подстановки, рекурсий из леммы 5 и минимизаций из леммы 6.
12.4.	Теоремы о графике и существювании универсальных частично рекурсивных функций. В пп. 6.1 и 6.2’были доказаны теоремы о рекурсивной перечислимости графика произвольной частично рекурсивной функции и о существовании универсальной частично рекурсивной функции. Однако доказательства этих фундаментальных фактов были довольно длинными и опирающимися на ряд лемм. Мы теперь хотим дать новый, краткий и прозрачный вывод указанных теорем, опирающийся'лишь на- развитую выше теорию машин Тьюринга.
Теорема 1. Область определения произвольной частично рекурсивной числовой функции f (рц, . . ., хп) является рекурсивно перечислимым множеством.
Пусть <?0,	<7т — внутренний алфавит машины
Тьюринга S, правильно вычисляющей функцию /. Это означает, что
£: ?101к‘... OF" Н доО1/(л‘.^0 ... О
для тех xlt . . хп, для которых / определена, и что S работает вечно для остальных хх, . . ., хп. В соответствии с п. 12.2 обозначим через машинное слово, получающееся из слова qpx после t тактов работы" 5. Согласно п.12.2 словарная функция
р (?ъ • • fn, V) = (^101(длпна ^ ... 01(длпна «
примитивно рекурсивна. Нам надо найти такой момент t, при котором буква q0 войдет в слово Р, т. е. при котором
Е (7о, Р(1*. , . . ., Ттп, 1‘)) = А,	(1)
где Е — словарная функция, определенная в п. 11.2. Так как словарные функции Е п Р примитивно рекурсивны, то прпмптивно рекурсивной будет и числовая функция
g fo, . . ., хп, t) = сЕ too, Р (1% . . ., Г", 1')).
По условию / ton, . . ., хп) определено для тех п только тех . . ., хп, для которых существует решение t уравнения (1), т. е. для которых разрешимо уравнение
. . ,;хп, £) = О,
244
ГЛ. V. АЛГОРИТМЫ И МАШИНЫ ТЬЮРИНГА
а это означает согласно п. 4.4, что область определения функции У рекурсивно перечислима.
Следствие. График произвольной частично рекурсивной функции f (хх, . . ., хп) рекурсивно перечислим.
Рассмотрим частичную функцию
{у — / (*i, • • •> ^)) + (/ (^1, • •	^п) — у)-
Она частично рекурсивна и ее область определения совпадает с графиком функции /. Поэтому график f рекурсивно перечислим.
Теорема 2. Существует частично рекурсивная функция двух переменных Т (х0, хг), обладающая следующим свойством', последовательность одноместных частично рекурсивных функций
Т (0, ж), Т (1, х), . . .,Т (п, х), . . .
содержит каждую одноместную частично рекурсивную функцию.
Функции Т (п, х), обладающие указанным свойством, обычно называют универсальными частично рекурсивными функциями двух переменных. Переменные ж0, в теореме 2 играют разные роли. Поэтому первую из них часто называют параметром. Конечно, можно сформулировать аналогичную теорему и относительно существования универсальных частично рекурсивных функций многих переменных. Однако все эти функции легко получаются (см. п. 6.2) из универсальной функции двух переменных.
Идея построения функции Т (п, х) следующая. Каждая одноместная частично рекурсивная функция / (ж) правильно вычислима на подходящей машине Тьюринга S с внешним алфавитом 0, 1 и внутренним алфавитом q0, qr, . . . . . ., qn (п зависит от /). Машина S вполне определяется своей таблицей переходов
?aio*4o
-+ qaiVn (рц = 0, 1, L, R; t = 1, . . ., п).
Всевозможные таблицы этого вида можно перенумеровать и постараться определить такую частично рекурсивную функцию двух переменных Т \п, х), что если частичная функция у (ж) правильно вычисляется на машпне с номером п, то / (ж) = Т (п, х). Так как каждая одноместная частично рекурсивная функция правильно вычисляется на подходящей машине Тьюринга, то при соблюдении
§ 12. МАШИНЫ ТЬЮРИНГА
245
указанного условия функция Т (п, х) будет заведомо универсальной.
Рассмотрим алфавит А = {1, 0, q, L, R, е}. Условимся в алфавите А внутреннее состояние изображать словом gi+1 (t = 0, 1, . . ., п). В частности, машинное слово g'jOl® в алфавите А будет изображаться словом д201х, машинное слово доО1хО ... О будет изображаться словом д01ж0 . . . О и т. д.
Шифром машины S в алфавите А условимся называть слово
а = eq2Qqa‘ov1Beq2lqa"Vii. . . eqn+1Qqa"<}vnr>eqn+1lqanlvni, где значения а^, берутся из упомянутой выше таблицы переходов машины £. Ясно, конечно, что, зная шифр машины, мы тем самым знаем и таблицу переходов. Номер шифра часто называют номером самой машины £. Однако далее мы не будем пользоваться номерами машин Тьюринга, а будем рассматривать лишь шифры машин.
Допустим теперь, что нам удалось построить определенную в алфавите А трехместную примитивную рекурсивную словарную функцию М (а, г, р), удовлетворяющую требованию
а)	если а — шифр некоторой машины Тьюринга S, то М (а, д201ж, 1У) = (да 01x)W (ж, у = 0, 1, . . .).
Тогда требуемая универсальная частично рекурсивная функция Т (п, х) может быть определена следующим очевидным способом. Полагаем
Р(р'$ = М(а, f, ц!у(_Е*(д2, М(a, j, 1У)) = Л)), (2) где
f 1, если а^Ь, Е*(й, Ь) = ИД(1, Л; (а, Ь))= .
Иными словами, если а — шпфр машины S и lz = (д2,рГ (а,гд201х, 1У)) = Л), то машина £, начав работать в конфигурации д201х, через z тактов работы придет в заключительное состояние, так как машинное слово (g201x)W не будет содержать подслов вида ql, г ;> 2, характеризующих активное внутреннее состояние £. Сама заключительная конфигурация будет согласно а) характеризоваться словом М (а, д201х,
246
ГЛ. V. АЛГОРИТМЫ И МАШИНЫ ТЬЮРИНГА
lz). В частности, если машина £ правильно вычисляет функцию / (ж), то для каждого натурального х
Р (a, ?201x) = ?01'W0 ... 0.	(3)
Чтобы избавиться в формуле (3) от стоящих в конце букв 0, введем особую функцию Gj (у), полагая по определению: Gj (у) = первое максимальное подслово вида 1U1 в Gj (у) = А, если у не содержит подслов вида li+1.
Примитивная рекурсивность функций Gj (у) будет доказана ниже.
Из формулы (3) ‘И определения функции Gj получаем
Gj (Р (а, ?201х)) = 1'М	(4)
Функции М, Е* примитивно рекурсивны (п. 11.2). Формула (2) показывает, что функция Р (а, у) частично рекурсивна. Так как функция Gj примитивно рекурсивна, то функция
Н (а, f) = Gj (Р (а, у))
также частично рекурсивна. Вместе с нею будет частично рекурсивной и ее представляющая функция
h (а, х) = с (Н (с~1а, с^х)),
где через с~1п обозначается слово, имеющее словарный номер п (п. 11.1). Введем еще числовые функции
g (ж) = с (д201ж), к (я) = Цу (с (1у) = х).
Очевидно, первая из этих функций примитивно рекурсивна, а вторая частично рекурсивна. Поэтому функция
Т {а, х) = к (h (a, g (ж)))
является частично рекурсивной. Она и является искомой универсальной частично рекурсивной функцией. Действительно, пусть j (х) — какая-то частично рекурсивная одноместная функция. Согласно п. 12.3 / (х) правильно вычислима на подходящей машине Тьюринга £. Пусть а — шифр этой машины в алфавите А и а — с (а) — номер этого шифра. Пз формулы (4) получаем
Н (а, д201х) = !«•")
и, следовательно,
й. (a, g (х)) = с (1’W), k (h (a, g (я))) = / (х),
§ 12. МАШИНЫ ТЬЮРИНГА
247
то есть
Т {а, х) = / (ж),
а это и означает, что Т (п, ж) — частично рекурсивная универсальная функция.
Нам остается показать, что примитивно рекурсивная словарная функция М (а, у, р), обладающая свойством а), существует. Но функция М, определяемая словарной рекурсией
М (a, г, Л) = г, М (а, у, ри) = ф(а, М (а, j, р)) (и £4), заведомо обладает свойством а), если вспомогательная функция ф (a, ?) примитивно рекурсивна и удовлетворяет следующему требованию:
б)	если а — шифр некоторой машины S и у - произвольное машинное слово, то Ф (a, г) есть машинное слово, описывающее состояние машины £, в которое опа переходит из состояния f после одного такта работы.
В свою очередь, функцию Ф мы будем искать в виде
Ф(а, j) = Com'(T’ (a, j), ?),	(5)
где Сот, ¥ — подходящие примитивно рекурсивные функции. Ясно, что функция Ф, определенная формулой (5), заведомо удовлетворяет требованию б), если функции ¥ ч Сот удовлетворяют соответственно условиям
в)	если а — шифр машины Тьюринга Snr- машинное слово, 5 = p(?i+1zzq (и = 0, 1), то
¥ (a, j) = qi+1v (и = 0, 1, L, R),
где qi+iv — правая часть приказа g1+1u qi+1v, выполняемого машиной S;
г)	если j — машинное слово у = ty?{+1uq, а Ь равно какому-нибудь слову вида (р = О, 1, L, R), то Сот (Ь, у) равно машинному слову, получающемуся из г командой (?i+1u	6.
Строим сначала функцию ¥. Функция St (ж), равная начальной букве х, удовлетворяет словарной рекурсии: St (Л) = Ап
St (ru) =
St (г),
u,
если г ф Д,
. =ТГ1(п, Str; г) если г = Л,	' '
и потому примитивно рекурсивна. Функция Rest (а, г), равная части слова у, лежащей за первым вхождением
указанного вида, удовлетворяют
(А) = А и
(и£ А, и^=и),
если Rest (G.. (г}. г1=£А.
248	ГЛ. V. АЛГОРИТМЫ И МАШИНЫ ТЬЮРИНГА
й в у, если а £ у, и равная А, если a (f у, удовлетворяет словарной, рекурсии: Best (а, А) = А и
[ Rest (а, у) и, если а £ у,
Rest (а, yu) =	.	. ' =
'	'	[ А, если а<£у,
= ИА (Rest (а, у) и, А; _Е7 (а, у)).
Поэтому функция Rest примитивно рекурсивна. Наконец, функции Gu (у) (и^А), определенные схемой: Gu (у) = = первое максимальное подслово вида zT+1, входящее в у, если у содержит подслова этого вида, и Gv (у) = А, если у не содержит подслое словарной рекурсии: Gu
Gu (?у) — Gu (?) ( Gu (?),
(G„(y)u, если Rest (Gu(x), y) = A.
Поэтому функции Gu (у) примитивно рекурсивны.
Из функций Gu(y) выше была использована функция &I (?)• Далее нам будет нужна лишь функция Gq (у) = = G (у). Исходя из этой функции и функций St, Sb (п. 11.2), легко уже построить и функцию Т, обладающую свойством в). В самом деле, пусть у = $qi+1uq (и = 0,1) — машинное слово и
a = c^2Ogct>»Pioeg2lga>4?u. .. t’gn+1Oga”oPnocgn,1lgc'n’i?ni
— шифр некоторой машины £. Тогда
G (у) = д<+1, St (Rest (G (у), у)) = и.
Вводя примитивно рекурсивную функцию
Dir у = G (у) St (Rest (G (у), у)), будем пметь
Dir у = qi+1u,
Rest (е Dir у, а) = qa‘uviu . . . eqn+1lqanlvni, Dir (Rest (e Dir y, cty = q°"luulu.
Поэтому примитивно рекурсивная функция
Т (а, у) = Dir (Rest (е Dir у, а))
заведомо удовлетворяет условию в).
Аналогичным образом строптся и функция Сот. Заметим сначала, что равенство St (f>~) = и (f>~ есть обра
§ 12. МАШИНЫ ТЬЮРИНГА
249
щение слова b (см. и. 11.2)) означает, что и есть последняя буква слова Ь. Условие г) мы теперь запишем на формульном языке в виде следующей схемы:
Com(b, f) =
	Sb (у; Dir j, Sb (5; Dir 5,		b)> uG(b)), uG (b) 0),	если если если	St(b~) = O, 1, St (b~) = R, B$ = u, Cf =0= А, (и 6 A), St(b~) = R, B$ = u,
	Sb(f;	Dir 5,			
= <					C^ = A,
	Sb(j; (Dirj~), G(b)u),			если	St(b~) = A, BiE^u,
					D^=^A,
	Sb(?; G(j), G(b)O),			если	St(b~) = L, D$ = A,
		A		в остальных случаях,	
где для краткости положено	>
= St Rest (Gj, j*), Cf = Rest (Dir j, y), Dy — Rest ((Dir j)~, j*~).
Эта схема определяет значение функции Com (b, j) для любых слов в алфавите А. Она подобрана так, что Сот, как легко видеть, заведомо удовлетворяет требованию г). Остается лишь убедиться, что функция Сот примитивно рекурсивна. Для этого преобразуем схему, заменяя указанные в ней равенства и неравенства стандартными равенствами пустому слову при помощи следующих соотношений:
а = Ь о Е (a, b) Е (Ь, а) = Л,
Wr(l, Л; а) = Л,
а —А и b = Л <=> аЬ = Л.
После этого определяющая функцию Сот схема примет вид
	Pi, еслп ax = A,
Com(b, r) =	pp, еслп ap = A, А в остальных случаях.
Схема (6) равноспльна равенству
Com(b, f) = R7P(pi, ..., рр, Л; щ, ..., а?).
250	ГЛ. V. АЛГОРИТМЫ II МАШПНЫ ТЬЮРИНГА
Так как . функции t)lf . . .,	. . ., ар примитивно
рекурсивны, то из этого равенства следует, что функция Сот также примитивно рекурсивна.
Итак, примитивно рекурсивная словарная функция М (a, f, р), обладающая; свойством а), построена.
12.5. Универсальные машины. В п. 8.1 множество натуральных чисел U было названо ж-универсальным, если рекурсивно перечислимо и для каждого рекурсивно перечислимого множества $ существует такая общерекурсивная функция g (z), что
Множество S5 слов в произвольном алфавите В называется ж-универсальным, если совокупность номеров слов из S3 т-универсальна.
Если вместо алфавита В мы будем рассматривать более широкий алфавит А, то номера слов из S3 в алфавите А будут иными. Однако легко убедиться (см. п. 11.2), что если совокупность номеров слов из 25, вычисленная в алфавите В, является ш-универсальной, то совокупность номеров слов из 25, вычисленных в алфавите А, будет также ж-универсальной. В частности, если алфавит состоит лишь из одного символа а, то словарный номер слова ах совпадает с х. Поэтому совокупность слов {а®», а®1, . . .} (в произвольном алфавите, содержащем а) тогда и только тогда ж-универсальна, когда ж-универсальна совокупность чпсел {х0, х1, ... }.
После этих предварительных замечаний рассмотрим снова какую-нибудь машину Тьюринга £ с символами а0 ~ 0, ar = 1, я2, . . ., ат и внутренними состояниями д0,	• • •> Чп- Пусть в начальный момент эта машина
имеет конфигурацию, описывающуюся машинным словом aqtb. Начав работать в этой конфигурации, машина либо через некоторое число тактов работы остановится, придя во внутреннее состояние q0, либо будет работать вечно. Символом £fin условимся обозначать совокупность ма-пшнных слов, описывающих те конфигурации, начиная с которых машина через конечное чпсло тактов работы останавливается, а через £inf обозначим совокупность всех остальных машинных слов.
Определенпе. Машина Тьюринга S называется универсальной, если множество t{in т-универсалъно>
Прежде всего нам надо убедиться, что универсальные машины существуют. Так как ж-универсальные мно
§ 12. Машины тыорйнга	2Й1
жества чисел уже были построены в и. 8.1, то нам достаточно доказать лишь истинность следующей теоремы:
Теорема 1. Если Частично рекурсивная функция / (х) имеет своей областью определения т-универсалъ-ное множество, то вычисляющая эту функцию машина £ универсальна.
В самом деле, пусть {0, 1, а2, . . ., ат} — внешний алфавит машины £ и q0, qr, . . ., qn —  ее внутренние состояния. Обозначим через U область определения функции / п пусть — совокупность всех машинных слов вида рД!*, а Ми — совокупность тех машинных слов q-fiix, для которых х £ U. Ясно, что Ми есть пересечение рекурсивно перечислимой совокупности Sfin и рекурсивного множества Но если пересечение рекурсивно перечислимой совокупности и рекурсивного множества in-универсально, то (см. и. 8.1) совокупность также ?п-универ-сальна, что и. требовалось.
Хотя теорема 1 сформулирована для одноместных функций, ясно, что аналогичная теорема верна и для многоместных функций. Известно, что область определения функции Клини К (ж, у) m-универсальна (п. 8.1). Поэтому машина Тыорйнга, вычисляющая К (х, у), универсальна.
Понятие рекурсивного множества нами определялось через понятие рекурсивной функции. Однако его можно определить и более непосредственно в терминах теории машин Тыорйнга.
Пусть S5 — какое-нибудь множество слов в произвольном алфавите В. Проблемой вхождения для S3 называют проблему отыскания алгоритма, с помощью которого для любого слова £ в алфавите В можно узнать, входит у в 25 или нет. Говорят, что проблема вхождения для множества S3 разрешима на машинах Тьюринга, если существует машина Тьюринга £, обладающая следующими свойствами:
а)	Алфавит В входпт во внешний алфавит А машпны £, А содержит символ 0, не входягцпй в В, 1 — символ пз В.
б)	Для каждого слова % в алфавите В, если £ £ 25, то машина £, начав работать в конфигурации ^Ог, после конечного числа тактов работы переходит в заключительное состоянпе 50010 ... 0. Еслп же ? S5, то машина £ пз состояния q-flz переходит в заключительное состоянпе ЗоО . . . 0.
252	гл. V. АЛГОРИТМЫ И МАШИНЫ ТЬЮРИНГА
Т е о р е м а 2. Проблема вхождения для множества слов S3 разрешима на машинах Тьюринга тогда и только тогда, когда S3 рекурсивно.
В самом деле, пусть существует машина £ со свойствами а), б). Обозначим через F (?) словарную функцию, вычисляемую машиной £ (в смысле и. 12.2). Обозначим через S30 совокупность всевозможных слов в алфавите В. Согласно а), б) функция F (?) всюду определена на £5о и S5 есть совокупность решений уравнения F (?) = 1, лежащих в S5o. Следовательно, множество S3 рекурсивно.
Обратно, пусть совокупность £5 рекурсивна. Определяем на S50 функцию / (?), полагая ее равной 1 на S3 и А вне S3. Так как эта функция рекурсивна, то найдется машина Тьюринга £, правильно вычисляющая функцию / (?), а это и значит, что £ удовлетворяет требованиям а), б),
Пусть Ж — произвольная машина Тьюринга. Говорят, что проблема остановки машины Ж разрешима на машинах Тьюринга, если на машинах Тьюринга разрешима проблема вхождения для множества Жцп, т. е. если множество ЖПп рекурсивно. Так как m-универ сальные множества нерекурсивны, то из приведенных определений следует, что проблема остановки универсальной машины Тьюринга неразрешима на машинах Тьюринга.
Дополнения, примеры и задачи
1.	Доказать теорему 2 пз п. 12.3 о синтезе машин Тьюринга для произвольного внешнего алфавита.
2.	Определенные в п. 12.1 машины Тьюринга могут сдвигать ленту на 1 шаг влево пли вправо, оставляя содержимое ячеек неизменными, или могут изменять состояние воспринимаемой ячейки, оставляя ленту неподвижной. Можно расширить этот список операций. Машина Тьюринга называется стандартной, если она и при сдвиге ленты может предварительно изменить состояние воспринимаемой ячейки. Программа стандартной машины может быть записана в виде совокупности предписаний вида qaa\ —> q^'ijT£, где формула -- q^ijT_v например, означает, что машина, находясь во внутреннем состоянии qa п воспринимая символ а,, заменяет этот символ символом aj, переходит во внутреннее состояние q$ и сдвигает ленту на 1 шаг влево (еслп Tlt то сдвигает вправо, если То, то оставляет неподвижной). Так как уже на машинах, определенных в и. 12.1, все частично рекурсивные функции вычислимы, то они будут вычислимыми и на стандартных. Показать, что все функции, вычислимые на стандартных машинах, частично рекурсивны.
3.	Показать, что каждая частично рекурсивная функция вычислима на машине Тьюринга, способной выполнять лишь
§ 12. МАШИНЫ ТЬЮРИНГА
253
предписания вида
7ааг	qaai q^iT0, qaai -> qaajTf (е = ±1).
4.	Стандартная машина Тьюринга с внешним алфавитом 0,1 называется нестирающей, если она способна выполнять лшпь предписания вида
7a°^V2'e’	(я = 0, 1; е = 0, ±1),
т. е. если она может внпсать 1 в пустую ячейку, но не может удалить символ 1, если он уже вписан в ячейку. Показать, что при подходящем кодировании чисел любая частично рекурсивная функция вы-, числима на подходящей нестирающей машине. В частности, существуют универсальные нестирающие машины (Ван Хао [1], обобщение и другое доказательство см. Зыкин [1]).
б.	Пусть задана машина Тьюринга £ с внешним алфавитом л0, аг, . . ., ат и внутренними состояниями q0, q±, . . ., qn. Системой кодов условимся называть пару словарных функций cod (X, 5), dec (х, р), удовлетворяющих следующим условиям: а) обе функции общерекурсивны и определенны в объединенном алфавите {а0, . . . . . ., ат; д0, . . ., qn]', б) если t) — слово в алфавите {о0, . . ., ат}, то cod (х, р) — некоторое машинное слово, если же р — заключительное машинное слово, то dec (х, р) — слово в алфавите {аг, . . ., ат]. Говорят, что машина Z вычисляет частичную словарную функцию f (х), заданную в алфавите {(?£, . . ., ат} при коде с индексом П, если машина, пачав работать в конфигурации cod (n, X), или остановится в конфигурации }, для которой dec (п, j) = f (х), либо будет работать вечно, если f (р) не определено.
Машина £ называется строго универсальной, если для нее существует такая система cod (х, р), dec (х, р), что каждая частично рекурсивная числовая функция / (х) вычислима на £ при коде с подходящим индексом.
Показать, что каждая строго универсальная машина универсальна. Машина, вычисляющая в обычном смысле функцию Клини К (г, у), является строго универсальной.
6.	Каждая машина Тыорннга Z, имеющая лишь одно внутреннее состояние, отличное от заключительного, пмеет рекурсивное множество jn и потому не может быть универсальной (Ш е н-и о н [1]).
7.	Используя простое множество, построенное в п. 8.3, показать, что из нерекурспвностп множества £tin еще не следует универсальность машины £.
8.	Показать, что каждая частично рекурсивная функция при подходящем кодировании натуральных чисел вычислима на машине Тьюрпнга, имеющей внутренние состояния q0, qlt q2 (т. е. имеющей лишь два внутренних состояния, отличных от заключительного) и достаточно большой внешний алфавит (Ш е н н о н II]).
9.	Обычно принимается (см. Шеннон [1]), что «сложность» машпны Тьюрпнга равна произведению числа символов ее внешнего алфавита на число внутренних состояний, отличных от заключительного. Значительный интерес вызвала задача построения унь версальных машин минимальной сложности. К началу 1963 г. но. следнимп результата™ в этом направлении была теорема Вата.
254 гй. v. алгоритмы й машины тыорйнга пабе [1] о существовании универсальной машины с пятью символами и шестью состояниями и теорема Трпттера [1] о существовании универсальной машпны с четырьмя символами и шестью состояниями (отличными от заключительного).
10.	Пусть / (zj, . . ., zs) — общерёкурсивная функция и £ — машина Тыорйнга с внешним алфавитом {0, 1, а} и внутренними состояниями q0, д1г . . ., qn, а — символ пустой ячейки, q0— заключительное состояние. Условимся говорить, что машина S вычисляет функцию /, если для любых натуральных хт, . . ., xs
<7i« {.rx}2a . . . а'{.г,}2 Н . . . qua {/ (ад, . . ., zs))2a ... а,
где {.г}2 — двоичная запись числа х. Мы предполагаем, что машина может в процессе вычислений надстраивать пустые ячейки, но предполагаем также, что машина не может отбрасывать никаких ячеек. Поэтому длина машинных слов в процессе вычислений не убывает и заключительные слова — это слова максимальной длины. Пусть If (ад, . . ., xs) — длина заключительного слова, получившегося при вычислении значения / (ад, . . ., ад) на машине £, уменьшенная на 1. Это длипа ленты, необходимой машине %, для вычисления f (ад, . . ., г..).
Как измерять «сложность» вычислимой функции? Одпн из возможных ответов на этот вопрос указан Р и ч и [1]. Рекурсивные функции разбиваются на классы FtCF1C ... по мере возрастания их сложностп следующим образом. В класс Fo относим все лилейные функции. Далее для каждого I в класс Fi+1 относим те функции f (ajj, . . ., ад), для которых существует вычисляющая их машина Тыорйнга £ такая, что If Е Pi- В статье Ричи показано, что объединение всех классов Fi в -точности совпадает с классом функций, элементарных в смысле Кальмара — Чиллага (Кальмар [1]) (см. задачи 4, 5 из § 6). Пусть ф] (г) = 2Ж, ф/+1 (г) = фх (фг (г)). Тогда фг Е F[, ф;+х ф Fi п потому классы Fi различны.
Аналогичная пдея для разбиения функций в классы по степеням сложности была развита также Кливом [2].
§ 13. Приложения
Изложенная выше теория машин Тьюринга позволяет просто решить ряд алгоритмических проблем алгебры, логики, арифметики и других областей математики. Некоторые из этих проблем в качестве иллюстрации будут рассмотрены в данном параграфе. Приложения к теории чисел будут изложены в § 16.
13.1. Проблема равенства слов в полугруппах. В качестве одного из приложений теории машин Тьюринга мы хотпм сейчас рассмотреть проблемы равенства (или эквивалентности) слов в полугруппах, заданных определяющими соотношениями.
Совокупность элементов, рассматриваемая вместе с некоторой определенной на ней бинарной ассоциативной операцией, называется ассоциативной системой пли полу-
§ 13. ПРИЛОЖЕНИЯ
255
группой. Например, полугруппой является совокупность всех натуральных чисел вместе с операцией сложения или вместе с операцией умножения.
Основную операцию в произвольной полугруппе обычно называют умножением и обозначают точкой. Вместо а-b обычно пишут ab. Так как распределение скобок в произведениях нескольких сомножителей: ((а&) с) d, a (b (cd)) на величину этих произведений в полугруппах не влияет, то при записи таких произведений скобки опускают.
Согласно п. 1.3 система элементов с15 . . ., ср некоторой полугруппы К называется системой порождающих для (5, если каждый элемент с полугруппы © может быть представлен в форме
с = сг,сь. . . cis (ik = 1, 2, . . .,р),
где множители могут и повторяться. Например, числа вида 2т образуют полугруппу относительно умножения с одним порождающим элементом 2.
В качестве другого примера рассмотрим совокупность всех непустых слов какого-нибудь алфавита С = {Ci, . . . . . ., ср}. Эта совокупность является полугруппой относительно обычной операции умножения слов: a-b = db. Однобуквенные слова сь . . ., ср, очевидно, будут порождающими для этой полугруппы, называющейся свободной полугруппой с свободными порождающими сх, . . ., ср.
В алгебре важное место занимает способ задания полугрупп посредством определяющих соотношений. Сущность его состоит в следующем.
Задаем некоторый алфавит С = {сх, . . ., с,,} и конечную совокупность формальных равенств вида
Cl Ь1, Со = £>о, . . ., Сг = Ьг,	(1)
где = — особый знак, а сх, . . ., С/, &г — произвольные слова в алфавите {сг, . . ., ср}. В течение некоторого времени словами далее будем называть лишь слова в алфавите {с15 . . ., ср} и делать специальные оговорки в противном случае.
Левым элементарным преобразованием некоторого слова с, отвечающим соотношению Q = bf, будем называть подстановку в слово с слова Ь; вместо какого-нибудь вхождения слова Cj. Аналогично, правым элементарным преобразованием, отвечающим соотношению с;- s i\, назы
256
ГЛ. V. АЛГОРИТМЫ И МАШИНЫ ТЬЮРИНГА
вается подстановка в слово с слова с; вместо какого-нибудь вхождения слова Ь; в с.
Если слово с содержит несколько вхождений слова С;, то над с можно выполнить по произволу одно из нескольких левых элементарных преобразований, отвечающих соотношению с, = Ьг. Если сг- не входит в с, то над с соответствующие левые элементарные преобразования не выполнимы.
Левые и правые элементарные преобразования, отвечающие определяющим равенствам (1), называются просто элементарными преобразованиями. Условимся писать с -> Ь, если слово b получается каким-либо элементарным преобразованием из с, и условимся писать cs Ь, если существуют такие слова . . ., уг, что
с ->	-> Ь,	(2)
или если с = Ь.
Новое определение отношения = не противоречит определяющим соотношениям (1), так как в силу (1) с, -> -> и потому сг- = Ьг.
Из приведенных определений непосредственно видно, что отношение = рефлексивно, транзитивно, симметрично и согласовано с операцией умножения, то есть
у = ji & р == щ ?р = jxpb	(3)
Отношение = будем.для краткости называть эквивалентностью. Совокупность всех слов, эквивалентных данному слову с, обозначим через [с] и назовем смежным классом по модулю =. Вв.пду изложенного соотношение г s t) равноспльно «точному» равенству [j] — [р].
Вводпм теперь операцию умножения смежных классов, полагая по определению
И-[р] = [?9].	(4)
В силу (3) так определенная операция умножения является однозначной на совокупности всех смежных классов. Поскольку для произвольных слов t>, с пз (4) следует
(W[b])[c]-[ab-c] = [a]([b] [с]),
операция умножения смежных классов ассоцпатпвна и, следовательно, совокупность всех смежных классов по модулю является полугруппой, которую мы будем обозначать через 6(у.
§13. ПРИЛОЖЕНИЯ
257
Для любого слова с = с41С{2 . . . из (4) следует [с] = к, . . . Ci ] = [cij. . . [ci ].
1	fg	HJ	bs
Поэтому элементы [cr], . . [cp] образуют порождающую систему для полугруппы и полугруппа S(1) обычно называется полугруппой, заданной порождающими с1; . . . . . ., ср и определяющими соотношениями (1). Полугруппы, задаваемые этим путем, называются конечно определенными полугруппами или ассоциативными исчислениями.
Говорят, что слово с представляет элемент [с] полугруппы Так как основной способ задать элемент полугруппы — это задать его представителя, то естественно возникает следующая основная
Проблема равенства для ассоциативных исчислений. Для заданного ассоциативного исчисления указать алгоритм, посредством которого для любых двух слов а, b можно было бы сказать, представляют ли они один и тот же элемент полугруппы, т. е. эквивалентны ли они в заданном исчислении,
В точных терминах эта проблема может быть сформулирована так: для заданного ассоциативного исчисления является ли рекурсивной совокупность всех пар слов, эквивалентных в данном исчислении?
Небольшое изучение вопроса приводит к выводу, что, во всяком случае, справедлива
Теорема 1. В каждом ассоциативном исчислении совокупность пар эквивалентных слов рекурсивно перечислима.
В самом деле, для каждого данного слова а легко найти все слова, получаемые из него одним элементарным преобразованием, двумя последовательными элементарными преобразованиями п т. д. Производя сначала по одному элементарному преобразованию над однобуквенными словами, затем не более чем по два последовательных элементарных преобразования над словами длины, не превосходящей 2, п т. д., мы постепенно перечислим все пары эквивалентных слов. Для оформления этого рассуждения в точное доказательство достаточно на множестве пар слов определить надлежащие операции, как это неоднократно делалось, и сослаться на теорему о порожденных совокупностях пз п. 4.3.
Из теоремы 1 непосредственно следует, что в каждом ассоцпатпвном исчислении каждый смежный класс рекурсивно перечислпм. Спрашивается, а не будут лп все смеж-
9 А. И. Мяльне!
258
ГЛ. V. АЛГОРИТМЫ И МАШИНЫ ТЬЮРИНГА
ные классы во всех ассоциативных исчислениях просто рекурсивными? Ясно, что еслп в каком-нибудь ассоциативном исчислении проблема тождества решается положительно, то все смежные классы в этом исчислении рекурсивны.
Пользуясь близостью элементарных преобразований слов в ассоциативных исчислениях к преобразованиям машинных слов в машинах Поста — Тьюринга, Пост [5] и М ар к о в [2] почти одновременно заметили, как можно построить ассоциативное исчисление, обладающее нерекурсивными смежными классами и потому имеющее неразрешимую проблему тождества. Мы сейчас изложим один из простейших способов построения ассоциативных исчислений, элементарные преобразования которых непосредственно имитируют преобразования машинных слов в машинах Тьюринга.
Пусть задана машина Тьюринга с символами а0, аг, . . . . . ., ат, состояниями д0, д1, . . ., дп ъ совокупностью £ команд. Строим ассоциативное исчисление А (£) следующим образом. Алфавит Л (S) состоит из символов а0, аг,. . . . . ., ат, д0, д1, . . ., дп и дополнительного символа и. Определяющие соотношения исчисления A (£) выписываются при помощи команд £. Ниже слева указаны команды из S, а справа выписаны соответствующие формальные равенства, которые вносятся в список определяющих соотношений для A (£):
Qaai ~*
Qa^i g$L
g$R
qaAi = g&a},	(5)
= g^di (Jc = 0, 1, . . ., m),
(6)
grjat = (цд^.	(7)
Добавляя к этим соотношениям еще соотношение
aov = v,	(8)
получим полный список определяющпх соотношений исчисления A (S).
Теорема 2. Пусть машина Тьюринга £ имеет символы а0, а±, . . ., ати состояния д0, д-р, . . ., дп, А (£) — построенное выше ассоциативное исчисление с определяющими соотношениями (5)—(8), «, 6, с, b — произвольные слова в алфавите а0, аг, . . ., ат, иг которых слово b либо пусто, либо оканчивается буквой, отличной от ай. Для того чтобы в исчислении A (S) было истинно соотношение
agwatbv = од^арЪи,
§ 13. ПРИЛОЖЕНИЯ
259
необходимо и достаточно, чтобы машина S из конфигурации aqwa^ через конечное число тактов работы и без надстраивания ячеек слева переходила в конфигурацию с
Достаточность условий совершенно очевидна. Действительно, пусть
-> ttti —> ... —> nt; — Cqoapbao
— последовательные конфигурации, принимаемые работающей машиной S. По условию, конфигурация т;-+1 возникает из конфигурации пц- путем выполнения некоторой команды из совокупности £. Эта команда имеет один из видов (5) — (7). Рассмотрим самый сложный случай: пусть слово пц- переходит в слово пц.+1 в результате выполнения команды вида (7), сопровождаемой надстраиванием ячейки справа. Это значит, что = a'q^at, 1Щ+1 = = a'atq^iQ. В слове т(.у заменяем согласно (8) букву v словом аои, затем, заменяя в слове т^аои согласно (7) подслово qaai через	получим слово пц+1щ т. е. из
дц. -+ пц+1 следует	= т^+1р, что и требовалось.
Докажем теперь необходимость условий теоремы 2. Пусть
й?шагЬр=?о->51----.->?/ = сдоМр	(9)
— слова, получаемые последовательно элементарными преобразованиями, отвечающими соотношениям (5) — (8). Не меняя начального и конечного слов цепочки (9), мы хотим ее преобразовать в такую цепочку, для которой доказываемое утверждение будет очевидным.
Из формы элементарных преобразований (5)—(8) следует, что в преобразуемом слове они не меняют ни числа вхождений буквы v, ни числа вхождений каждой буквы вида да. Поэтому каждое слово в цепочке (9) имеет вид
где щ-, (ц. — некоторые слова в алфавите а0, а1, . . ., о„,. Пусть в двух последовательных преобразованиях -> -> ps+2 из (9) второе преобразование есть правое ^-преобразование и -+ аои. Тогда в более подробной записи этот участок цепочки (9) имеет впд
d'qab’v —> a"q$"v —> Ci''q$'aov
n*
260
ГЛ. V. АЛГОРИТМЫ И МАШИНЫ ТЬЮРИНГА
и потому вместо цепочки (9) можно рассматривать цепочку ...	d'qab'v —> a'qab'aov —> cCq$b"aov -> . ..	(10)
Переход от цепочки (9) к цепочке (10) условимся называть сдвигом правого ^-преобразования у/,.+1	fi-+2 влево.
Аналогично, если в отрезке -> ?ff+1 -> у;,-+2 преобразование уд. -> уд.+1 есть левое ^-преобразование аои —> v, то этот отрезок имеет вид
a'qab'aov —> a'q^'v —г d'q$'v
и вместо цепочки (9) можно рассматривать цепочку ... —> a'qob'a0v —> d'q^>”aov —> ct'qfi'v —>. . .	(11)
Переход от (9) к (И) будем называть сдвигом левого у-пре-образования у*. -> у1+1 вправо.
Сдвигая в цепочке (9) все правые ^-преобразования влево, а все левые ^-преобразования вправо достаточное число раз, получим цепочку вида
^qwafiiJ —>... —> aqwafia^v —; . .. —> tqnapba^v	tq^a^>v,
где участок
«3wflzbflof —> Vi ~т> • • • —> 9s = Чо^рЬаоР	(12)
преобразований вида (8) уже не содержит.
Последнее слово цепочки (12) содержит заключительный символ q0, не входящий в левые слова соотношений (5)—(7). Поэтому преобразование 1JS—х —ps не может быть правым. Допустим, что цепочка (12) содержит правые преобразования. Пусть рА. pfc+1 — последнее правое преобразование в ней, отвечающее соотношению (и) (и = = 5, 6, 7). Слово рд.+1 пусть содержит подслово <?ааг. Преобразование pfc+1 -> Рд.+2 по предположению левое. Но среди соотношений (5)—(7) есть лишь одно соотношение, левая часть которого есть рааг-. Следовательно, это соотношение должно совпадать с упомянутым соотношением (и). Таким образом, преобразования pk->-р(,+1 и р>+1	р)г+2
взаимно обратны, г>к = р:-+2 и цепочку (12) можно сократить до цепочки
Ро —> • • • — Рд- —> Р/,+3	ps.	(13)
Продолжая этот процесс дальше, получпм цепочку вида (12), в которой все преобразованпя левые, отвечающие
§13. ПРИЛОЖЕНИЯ
26-1
соотношениям (5)—(7). Но ведь эти соотношения были так подобраны, чтобы, выполняя левое преобразование, отвечающее одному из указанных соотношений, над какой-нибудь конфигурацией ш машины £, мы получали конфигурацию следующего состояния машины 5. Следовательно, машина S, начав работать в конфигурации ciqwaibdl, закончит работу в конфигурации сд^ЯрЬяо-Последняя буква слова & отлична от я0. Поэтому машина £, начав работать в конфигурации aqwaib, закончит работу в конфигурации вида сдоярЬя'о, что и требовалось.
Теорема 3 (Пост, Марков). Существует ассоциативное исчисление с алгоритмически неразрешимой проблемой равенства.
В и. 6.3 построена частично рекурсивная функция Е (х), принимающая лишь значения 0, 1 и не имеющая рекурсивных доопределений. Пусть Л£г (i = 0, 1) — совокупность решений уравнения Е (х) = i. В п. 6.3 показано, что множества Мi рекурсивно перечислимы, но не рекурсивны. Обозначим через S машину Тьюринга с символами 0, 1 и подходящими состояниями q§, q}, . . qn, правильно вычисляющую функцию Е (х), т. е. переходящую из конфигурации (ftOl* в конфигурацию вида доО1Е(ж)О8 после конечного числа тактов работы без надстраивания ячеек слева. Согласно теореме 2 это означает, что в ассоциативной системе A (S) для любого натурального х
giOlxp =	-^> х G Af 4
или
хб ЛТг'Н51О1хаЕ[(7оО1гУ] (i = 0, 1),
где [у] обозначает совокупность слов исчисления A (£), эквивалентных слову г. Алфавитный номер (п. 11.1) слова (frOl5!; будет некоторой общерекурсивной функцией ф (ж). Обозначая через (г = 0, 1) совокупность алфавитных номеров слов из класса [доО1гу], получим
жЕЛЛ^ф (г = 0, 1).	(14)
Мы видим, следовательно, что нерекурсивное множество JZ0 ш-сводится к множеству Ро. Поэтому множество Ро не рекурсивно и в исчислении А (£) проблема эквивалентности произвольного слова слову qov алгоритмически неразрешима.
На самом деле соотношения (14) дают несколько больше, чем утверждает теорема 3. Именно, соотношения (14)
262
ГЛ. V. АЛГОРИТМЫ И МАШИНЫ ТЫОРЙНГА
означают, что пара множеств Л£о, m-сводится к паре ! Ро, Рт. Так как пара М0, m-универсальна, а множества 1 Ро, рекурсивно перечислимы, то пара Ро, Рх также | m-универ сальна. Следовательно, ассоциативное исчисле- | ние А (£) обладает парой эффективно неотделимых смеж- | ных классов 1^ог] и	|
Выше мы строили ассоциативное исчисление с неразре-1 шимой проблемой равенства, совершенно не заботясь 1 о том, насколько сложным это исчисление окажется. В пер- 1 вом приближении можно принять, что сложность исчисле- I ния характеризуется числом порождающих и числом опре- i деляющих соотношений. Простейшие замечания (см. за- | дачу 12 § 13) показывают, что если существует ассоциа- 1 тивное исчисление с неразрешимой проблемой равенства, 1 имеющее р порождающих и I определяющих соотношений, j то существует и ассоциативное исчисление с неразрешимой .1 проблемой равенства, имеющее то же число I определяю- J щих соотношений и лишь 2 порождающих. Возникает i задача нахождения ассоциативного исчисления с нераз-решимой проблемой равенства и наименьшим числом опре- ) деляющих соотношений. Есть основания полагать (см. 1 А д я н [3]), что ассоциативные исчисления с одним определяющим соотношением имеют разрешимую проблему равенства. С другой стороны, Ц е й т и н [1] показал, что ассоциативное исчисление с порождающими a, b, с, d, е и семью определяющими соотношениями
ас = са, ad = da, be = cb, bd = db, eca = ce, edb = de, cca = ccae имеет неразрешимую проблему равенства слов. Ассоциативное исчисление, имеющее неразрешимую проблему равенства и менее семи определяющих соотношений, пока неизвестно*).
Ассоциативное исчисление называется групповым (иногда — инверсивным) исчислением, если его порождающие можно разбить на пары а±, &х, . . ., ар, Ър так, чтобы среди определяющих соотношений заведомо встречались соотношения агЬг = А, . . ., арЪр = А, где А — пустое слово. Полугруппа, определяемая групповым исчислением, является группой, в которой элементы [а;] и [Ьг] взаимно обратны.
*) 10. В. Матпясевпч (ДАН СССР, т. 173, Л1» 6) построил ассоциативное исчисление с тремя определяющими соотношениями, имеющее неразрешимую проблему равенства слов,— Примеч. ред.
§ 13. ПРИЛОЖЕНИЯ
263
Задание групп при помощи групповых исчислений, г. е. при помощи порождающих и определяющих соотношений, играет большую роль как в самой теории групп, так и в некоторых ее важных приложениях. Поэтому уже в начале XX столетия в теории групп стала известной проблема равенства слов. Однако она оказалась весьма трудной и решение ее было получено только в 1952 г. Новиковым [1]. Другие ее решения позже были найдены Буном [1], Бриттоном [1], X и г м е-н о м [1]. Все эти решения достаточно сложны и потому здесь не излагаются.
Конечно, в связи с ассоциативными и групповыми исчислениями возникло много различных проблем алгоритмического характера. Общий обзор их дан в работах Маркова [2], Адяна [2], а также Рабина [1]. Как правило, решение этих проблем осуществляется тем или иным сведением их к проблеме равенства слов в некотором вспомогательном ассоциативном или групповом исчислении с заведомо неразрешимой проблемой равенства слов.
13.2. Тождественно истинные формулы исчисления предикатов 1-й ступени. Основным формальным логическим языком является исчисление предикатов 1-й ступени. Наша цель — доказать теорему Чёрча о том, что совокупность всех тождественно истинных формул исчисления предикатов 1-й ступени , нерекурсивна. Напомним некоторые определения.
Рассматривается особое двухэлементное множество 8, элементы которого называются «истиной» и «ложью» и обозначаются соответственно И и Л. На множестве е определяются операции конъюнкции &, дизъюнкции \/, импликации —> и отрицания I обычным образом: а & Ъ имеет значение И для а = И, Ъ = И и а & Ъ = Л для остальных значений а, Ь\ далее ,
а\/ Ъ — Л а = Ъ — Л, а-^Ъ = Л а = И,Ъ = .7/, а = И <==> а = Л.
Если М — произвольное непустое множество, то п-местная функция Р (хг, .... хп), определенная на ЛГ со значениями в {И, Л}, называется я-местным предикатом на ЗГ. Для двуместных предикатов Р вместо записи Р (я, у) обычно употребляют более короткую запись хРу. На
264
ГЛ. V. АЛГОРИТМЫ И МАШИНЫ ТЫОРЙНГА
пример, для обычного отношения <, определенного на множестве натуральных чисел, имеем
1 < 2 = Я, 3 < 2 = Л, 1 < 2 V 2 < 3 = Я.
Символ равенства = будет рассматриваться также как символ двуместного предиката, определенного на любом множестве.
Алфавит А рассматриваемого исчисления предикатов состоит из символов &, V, I, 3, V, (,), ’ , = , Р, F, а, р, у. Слова вида (Та. . .ар. . . р) = (Аатрп) и (Ратрп) будем обозначать через F™, Рп и называть соответственно m-местными функциональным и предикатным символами. Слова Xi = (yi+1) (i = 0, 1, . . .) будут называться предметными символами.
Задать «значение» какого-нибудь предметного символа Xi в некотором множестве АГ — значит поставить этому символу в соответствие какой-либо элемент из М. Задать значение какого-нибудь функционального символа F™ на множестве АГ — значит поставить ему в соответствие некоторую m-местную операцию, определенную на АГ. Аналогично, задать «значение» предикатного символа Р™ — значит поставить ему в соответствие какой-либо тп-местный предикат на АГ.
Слова в алфавите А, имеющие определенный ниже специальный вид, называются термами и формулами. Понятие терма уже было введено в § 1: термами называются предметные символы Xi, а также выражения вида F\™ (йх, . . . . . ., ат), где йх, . . ., ат — термы меньшей длины. Например, термами являются слова
Fi (Ai (х0), Xj), Fl (х!, х2, 2а),
тогда как.слово Р\ (ж0) термом не является.
Пусть а — некоторый терм, и пусть значения всех входящих в запись а функциональных и предметных символов заданы на некотором множестве 3/. Тогда, выполняя над значениями предметных переменных последовательно операции, указанные в записи терма, получим в результате некоторый элемент из ЛТ, который и называется значением терма а при заданных значениях предметных п функциональных переменных. Например, рассмотрим терм
Ai (аг0,- F20 (х0, xj).
§ 13. ПРИЛОЖЕНИЯ
265
Пусть значениями символов х-0, xlt F%, Fg будут соответственно числа 3,2 и операции +, X, определенные на множестве натуральных чисел. Тогда значением терма будет
3 + (3 х 2) = 9.
Если в каком-нибудь терме а значения всех функциональных и некоторых предметных символов фиксированы, то значение этого терма будет функцией от значений остальных предметных символов, участвующих в записи терма. Функции такого рода называются термальными или представляющимися термами.
Перейдем к определению понятия формулы.
а)	Если «1, . . ., ат — термы, то слова вида
Рп (йх, • • •> 6m),	— dig
называются первичными формулами. Пусть на некотором множестве М заданы значения предикатного символа Р™. и значения всех предметных и функциональных символов, встречающихся в записи термов а15 . . ., лт. Тогда значения термов cti будут вполне определенными элементами аъ . . ат из М и выражение Р„ (а1г . . .,,ат) (Р — значение символа Р) будет равно И или Л. Это и будет значением рассматриваемой первичной формулы.
Предметный символ xt называется связанным в слове В, если слово В содержит подслово (НяЛ или подслово (Vzf). Если предметный символ Xj, встречающийся в слове В, не связан в этом слове, то он называется свободным. В частности, в первичных формулах все предметные символы свободны. Определяемые ниже «значения» формул не зависят от значений связанных переменных, а зависят лишь от значений свободных предметных символов и значений функциональных и предикатных символов.
б)	Если 31, S5 — формулы, причем ни один из связанных предметных символов любой из этих формул не встречается в другой, то формулами являются и слова
(3I&35), (W®).	И5*1-
Чтобы найти значение какой-либо из этих более сложных формул, надо найти значения формул 31, 35 и затем над этими значениями (равными И или Л) произвести соответствующую операцию &, \/,
266
ГЛ. V. АЛГОРИТМЫ И МАШИНЫ ТЬЮРИНГА
в)	Если ЭД — формула, содержащая свободный пред- я метный символ Х{, то формулами являются и слова ..‘Я
(У^)ЭД, (ЭЖг)ад.	|
Пусть задано множество М и на этом множестве заданы Я значения всех предикатных, функциональных и свободных Я предметных символов, входящих в формулу ЭД. Тогда Я в формуле ЭД будет не задано значение лишь одного сво- 'Я бодного предметного символа хг. Для каждого значения Я Xi в М и фиксированных значений остальных символов Я значение формулы ЭД будет равно И или Л. Если ЭД для Я любых значений х^ ъМ имеет значение И, то говорят, что Я формула (V^i) ЭД имеет значение И при фиксированных Я значениях входящих в нее свободных символов. Если Я же формула ЭД хотя бы.при одном значении Xt из М Я имеет значение Л, то формула (У^)ЭД также имеет значе- Я ние Л.	Я
Аналогично, если при фиксированных значениях Я функциональных, предикатных и свободных предметных Я символов формулы (Зяг) ЭД формула ЭД ложна для любых Я значений предметного символа xi в множестве АГ, то 1 говорят, что формула (3^) имеет значение Л для фик- Я сированных значений символов. В противном случае го- Я ворят, что (Зяг) ЭД имеет значение И на М.	Я
Слово ЭД называется формулой, если оно является Я формулой в силу предписаний а), б), в).	1
При практическом использовании формул удобно упо- 1 треблять сокращенную запись формул. Например, форму- 1 лу —| (а = Ь) обычно записывают в виде а Ф Ь. Внешние I скобки обычно опускают; если Т — двуместный предикат- I ный или функциональный символ, то вместо Т (х, у) I пишут хТу и т. д. Часто вместо самих символов xt, Р™, I Fn пишут их обозначения. Говорят, например, «Пусть I Р — двуместный предикатный символ, / — двуместный | функциональный символ, х, у — предметные переменные. J Рассмотрим формулу	I
Р (х, f [у, х)) & Р (х, а:)».	(1) |
На самом деле при этом имеют в виду формулу, которая 1 получится из (1) после замены символов P,f, у, х соответ- I ствующими словами в алфавите А.	]
Пусть Рх, . . ., Ps, Fr, . . ., Ft — обозначения пре- I дикатных и функциональных символов, имеющих задан- ’
§ 13. ПРИЛОЖЕНИЯ
267
ные числа мест, и уг, . . ,, уи — обозначения предметных символов. Задать модель сигнатуры о = (Рх, . . Ps, /•’j, . . Ft, у-j., . . уи) — значит задать некоторое непустое множество А[ (основное множество элементов модели) и задать на значения всех указанных сигнатурных символов. Полученная модель обозначается через ; Рх,. .. .  Ps, Fi,   , Ft, У1, • • , У и)- Например, <ЛГ; +>, где + есть символ бинарной операции, имеющий в качестве значения операцию сложения натуральных чисел, a 2V — совокупность всех натуральных чисел, есть аддитивная полугруппа натуральных чисел. В этой полугруппе формулы (Уда/) (х + у = у + х), (Уху) (Hz) (х + z — у\/ \ / у + z = х) истинны, а формула
(3z) (х + z = у)
определяет формульный предикат, совпадающий с обычным отношением х у.
Формула 31 называется формулой сигнатуры о, если все ее предикатные, функциональные и свободные предметные символы (за исключением знака =) содержатся в о. Поэтому, если задана какая-то модель SK сигнатуры о, то каждая формула сигнатуры о будет на этой модели истинной или ложной. Классом моделей сигнатуры о называется произвольная система моделей заданной сигнатуры. В частности, класс может состоять из одной конкретной модели, а может состоять и из «всех» моделей данной сигнатуры.
Формула 31 сигнатуры о называется истинной на некотором классе моделей сигнатуры о, если она истинна на каждой модели этого класса.
Согласно Тарскому, Мостовскому и Р.Робинсону [1] совокупность Т ($) всех формул сигнатуры о, истинных на классе S?, называется элементарной теорией класса SL
Произвольная формула рассматриваемого исчисления называется тождественно истинной, если она истинна для любых значений входящих в нее функциональных, предикатных и свободных предметных символов. В частности, элементарная теория класса «всех» моделей данной сигнатуры о есть совокупность всех тождественно истинных формул, имеющих сигнатуру о.
Рассмотрим произвольную систему S каких-то формул заданной сигнатуры о. Совокупность К (S) всех моделей сигнатуры Oj на которых истинна каждая формула систе-
268	гл. V. АЛГОРИТМЫ И МАШИНЫ ТЬЮРИНГА	|
мы 2, называется классом моделей, определенным систе- я мой аксиом 2. Система 2 называется выполнимой, если | класс К (2) не пуст. В противном случае система 2 на- | зывается невыполнимой.	I
Например, пусть • служит обозначением некоторой 1 бинарной операции. Тогда аксиома	|
((х^х^-Хз = х^хг-хз))	(2) I
выражает ассоциативность операции • и класс моделей, I определяемый указанной аксиомой, есть класс полугрупп 1 с операцией •.	1
Каждая аксиома системы 2 и каждая формула теории а Т {К (2)) являются словами в конечном алфавите А. | Поэтому имеет смысл ставить вопрос об алгоритмической 1 природе совокупностей 2, Т (К (2)): будут ли они рекур- | сивными, креативными и т. п.. Нижеследующие две фун- 1 даментальные теоремы дают ответ на этот вопрос в основ- 1 ных случаях.	1
Теорема 1 (Гильберт — Гёдель). Если 2 — рекур- 1 сивно перечислимая система формул заданной сигнатуры а, | то элементарная теория Т (К (2)) также рекурсивно | перечислима.	1
Для доказательства сначала рассматривается совокуп- ] ность £ вообще всех тождественно истинных формул | (любой сигнатуры). В курсах математической логики (см., | например, Гильберт и Бернайс [1]) показы- | вается, что формулы £ могут быть получены следующим | способом. Выделяется некоторый класс тождественно | истинных формул, называемых аксиомами исчисления. 1 В разных курсах этот класс выбирается по-разному. ' Однако всегда оказывается вполне очевидным, что аксиомы образуют рекурсивное множество. Затем указывается конечное число особых «правил вывода». Одно из них (правило силлогизма) имеет вид: если даны формулы 2( -и	то образуем формулу S3. По существу эти пра-
вила являются просто словарными функциями, притом рекурсивными в алфавите А. Например, правилу силлогизма соответствует такая функция:
(35, если Y имеет впд 2(—> 35, [ 21 в остальных случаях.
Затем показывается, что все тождественно истинные формулы получаются с помощью операций вывода из акси
§13. ПРИЛОЖЕНИЯ
269
ом, т. е. что совокупность всех тождественно истинных формул порождается множеством аксиом с помощью операций вывода. Так как множество аксиом рекурсивно, а операции вывода являются рекурсивными функциями, то согласно теореме о порожденных множествах из п. 4.3 совокупность £ всех тождественно истинных формул рекурсивно перечислима.
Чтобы доказать теорему 1 в общем виде, обозначим через ?J0,	. . . рекурсивную последовательность всех
формул из S. Известно, что формула Э( принадлежит Т (К (S)) тогда и только тогда, когда для некоторого п формула
(3)
является тождественно истинной. Поэтому мы составляем множество SK всех формул вида (3), заставляя п пробегать натуральный ряд, а пробегать совокупность всех формул сигнатуры о. Множество рекурсивно перечислимо. Поэтому рекурсивно перечислимо и его пересечение с множеством всех тождественно истинных формул. Пусть 2>0, 35х, ... — формулы этого пересечения. имеет форму	& • •  & В’п; —> и потому
Т7 (К (S)) будет состоять из членов рекурсивно перечислимой последовательности ^ro,’5>fi, • • ,	• • - .чтоитребовалось.
Теорема 2 (Чёрч [2]). Совокупность S всех тождественно истинных формул исчисления предикатов является креативным (и потому нерекурсивным) множеством.
Для краткости обозначим точкой бинарный функциональный символ и рассмотрим класс всех полугрупп, определяемый аксиомой (2). Согласно теореме Поста — Маркова (п. 13.1) существует полугрупповое исчисление с порождающими элементами хг, . . ., хпм определяющими соотношениями
«х = Ьх, а2 = Ь2, .. ., щ	(4)
такое, что множество U всех слов, эквивалентных некоторому подходящему слову а, является креативным. Каждое слово х(1Х{, . . . Х(т этого полугруппового исчисления мы будем рассматривать как терм ((хц-х^-х^-. . . -жгт.
Из определения эквивалентности слов в ф следует, что слово а эквивалентно слову г тогда и только тогда, когда
270
ГЛ. V. АЛГОРИТМЫ И МАШИНЫ ТЬЮРИНГА
для любых значений xlt . . хп, взятых в произвольной Я полугруппе и удовлетворяющих в этой полугруппе соотно-Я шениям (4), значения термов a, ? будут равны, т. е. когда Я формула	Я
(^/^71+1^-71+гЗ-П+з) (^71+1  (^-71+2 ' £п+з) ==	Я
= (а:,г+1-жп+2)-Жп+з)&(<»1 = Ь1& ...&«s = bs)—>«= J (5) Я тождественно истинна. Итак, для любого слова ? Ц ? £ 17 о 71 (?) £ £,	1
где через F (?) обозначено слово (5). Ясно, что словарная 1 функция F (?) рекурсивна. Таким образом, креативное 1 множество U ш-сводится к рекурсивно перечислимому Я множеству £ и потому (п. 8.2) множество £ креативно. 1
Поело того как на рубеже прошлого и нашего столетий был Я окончательно описан язык исчисления предикатов, естественно воз- | никла задача о нахождении всех логических законов, формулируе- а мых на этом языке, т. е. о нахождении всех тождественно истинных а формул, н о нахождении алгоритма, позволяющего для каждой 1 данной формулы узнать, является ли она тожественно истинной. | Последняя задача оставалась открытой в течение ряда лет и полу- I чпла название проблемы разрешимости (Entscheidungsproblem) | исчисления предикатов. В 1936 г. Ч ё р ч [2] показал, что если при- 1 нять тезис, носящий ныне его имя (п.2.3), то проблема разрешимо- 1 сти решается отрицательно. Это был первый крупный успех толь- | ко что родившейся в те годы теории алгоритмов. Теорема 2 представ- | ляет собой модернизированный вариант первоначальной теоремы | Чёрча, так как понятие креативного множества было введено Постом з много позже.	i
13.3. Арифметические множества. Рассмотрим на- ] туральный ряд Аг, на котором отметим операции сложения ’ 4-, умножения X и числа 0, 1. Получившуюся модель
31 = <А-; +, X, 0, 1>
назовем арифметикой. Символы +, X, 0, 1 будем рассматривать как бинарные функциональные и предметные символы, значения которых фиксированы. Формула а исчисления предикатов называется арифметической, если она не содержит предикатных символов, каждый ее функциональный символ есть либо +, либо X, предметные символы 0, 1 в ней не связаны. Предметные символы 0, 1, имеющие фиксированные значенпя, называются индивидуальными. Остальные предметные символы, входящие в формулу а, называются предметными переменными. Арифметическая формула, не имеющая свободных пред.
§13. ПРИЛОЖЕНИЯ
271
метных переменных, называется замкнутой. Каждая замкнутая арифметическая формула имеет на натуральном ряде значение И или Л. Те из них, которые имеют значение И, могут рассматриваться как выражающие свойства натурального ряда на языке исчисления предикатов.
Пусть а — арифметическая формула, свободные предметные переменные которой суть г/1; . . ., уп. Говорят, что формула а истинна (или тождественно истинна) на 91, если а истинна для каждых значений г/х, . . ., уп в У. Отсюда ясно, что формула а со свободными предметными переменными уъ . . ., уп истинна на 9( тогда и только тогда, когда на 91 истинна замкнутая формула (Уух . . . ... уп) а. В общем случае значение формулы будет зависеть от значений переменных ух, . . ., уп и потому значение а можно рассматривать как значения п-местного предиката Р (уъ . . ., уп), определяемого или «изображаемого» формулой а. Предикаты, которые определяются арифметическими формулами, называются арифметическими (или формульными) предикатами. Например, предикаты х «С у и х | у (х делит у) арифметические, так как
(Hz) (х + z = у),
X \ у (Hz) (у = X X z).
Множество /z-ок натуральных чисел <ух, . . ., называется арифметическим (по Гёделю), если арифметическим является тг-местный предикат, истинный на n-ках этого множества и ложный на остальных тг-ках. Числовая частичная функция у = f (хъ . . ., хп) называется арифметической, если график ее есть множество арифметическое.
Для краткости терм вида 1 + 1 + . . . -j- 1 (а единиц) в арифметических формулах обозначается числом а. Говорят, что множество М или функция/изображаются формулой а, если формулой а изображается предикат, отвечающий М или /. Например, формула у = 2 представляет множество, состоящее из одного числа 2; формула (3z) (у = 2 X z) представляет совокупность всех четных чисел; формула
у 0 & у 1 & (Уии) (у = uv -> и — 1 \/ v = 1) представляет совокупность всех простых чисел; формула (Эм) ((z X z) -г и = у) &
& (Эм) ((z + 1) X (z + 1) = у + v) & у Ф (z + 1) (z + 1) представляет функцию z = []Лу] и т. д.
272
ГЛ. V. АЛГОРИТМЫ И МАШИНЫ ТЬЮРИНГА
Теорема 1 (Гё д е л ь ). Каждая частично рекур- i сивная функция, а потому и каждое рекурсивно перечисли- ! мое множество п-ок являются арифметическими.
Согласно следствию из теоремы 3 в п. 3.4 и теореме о нормальной форме Клини (п. 6.1) каждая частично рекурсивная функция может быть получена из функций Г, с, I, г, х + у, х — у, х + 1, ДГ операциями подстановки и минимизации. Поэтому теорема 1 будет доказана, если мы докажем, что все указанные исходные функции арифметические и что операции подстановки и минимизации, примененные к арифметическим функциям, дают функции арифметические.
  -А) Суперпозиция
/ ten . . ., хт) = gfa (xlt . . ., хт), . . . , gn (xlt . . ., хт)) арифметических функций g, gt, . . gn есть функция арифметическая.
Действительно, если формулы G (хъ . . хп, у) и Gi (хг, , . хт, у) представляют функции g, gif то формула
3zi... zn) (fi (zj, . . ., zn, у) & Gi . . ., хт, Zi) & ...
... & 6-,, (a?i, .. ., хт, zn))
представляет,- очевидно, функцию у = / (рц, . . ., хп).
Б) Если формула G (xlt . . ., хп+1, и) представляет частичную функцию g (х1г . . ., zn+1) = и, то формула
G(xu . . ., хп, у, 0) & (Vz) (z.< у —>
—>(3u) (G(xi, ..., хп, z, u)&u=fiO)) представляет частичную функцию
У = Hz (g ten • • •, жп, z) = 0).
Такпм образом, оператор минимизации, примененный к арифметической функции, дает функцию арифметическую.
В) Функции +, х + 1, х — у, In изображаются' соответственно формулами
z = х fi у, z = х -г 1, (у < х -> у + Z = X) & (х < у-н> z = 0), z - 0 * х± Ц— ... -f- Xni ~i~ ... —Ь 0 • хп
и потому являются арифметическими.
§13. ПРИЛОЖЕНИЯ
273
Г) Функции z2, [яг/2], с (а:, у), I (х), г (х) изображаются формулами
z = х X х, (2 X z «С х) & (х < 2 X (z + 1)), 2xz = (x +у)2+ 3хх + у (3y)(x=c(z, у)), (Зу)(х—с(у, Z))
и потому являются арифметическими.
Д) Функции z = rest (х, у), z = Г (х, у) изображаются соответственно формулами
(Эи) (ж = иу z & z < у) у (у = 0 & z = х), z = vest(l(x), 1 + (у + 1)г(ж)).
Согласно приведенному выше замечанию из А) — Д) непосредственно вытекает теорема 1.
Каждая арифметическая формула может рассматриваться как слово в конечном алфавите J = {&, у, У, V, 3, (,), ’ , X, — , 0,1, х, а}, причем слова xt = (ха ... а) можно употреблять в качестве кодов для предметных символов. Все слова в алфавите а значит, и все арифметические формулы имеют определенные алфавитные номера. Множество арифметических формул называется арифметическим, если арифметическим является множество номеров этих формул.
Следствие. Множество всех замкнутых истинных арифметических формул не рекурсивно и не рекурсивно перечислимо.
Пусть / (х) — примитивно рекурсивная функция, совокупность значений которой U не рекурсивна. Согласно теореме 1 существует арифметическая формула а (х, у), представляющая функцию у = f (х), и, следовательно,
У е г (Эх) а (х, у) (у = о, 1, 2, . . .).
Таким образом, еслп бы существовал алгоритм, распознающий истинные замкнутые формулы, то прп помощи этого алгоритма можно было бы распознавать чпсла, принадлежащие V, а это противоречит нерекурсивное™ U.
Допустим теперь, что совокупность V всех истинных замкнутых арифметических формул рекурсивно перечислима. Пусть
Ко, У, • . . , Vn, . . .
— рекурсивная последовательность всех формул пз V. Тогда рекурсивная последовательность
ПТо, ...,ПУП, ...
274
ГЛ. V. АЛГОРИТМЫ И МАШИНЫ ТЬЮРИНГА
была бы последовательностью всех ложных замкнутых арифметических формул, т. е. совокупность W всех ложных замкнутых арифметических формул была бы рекурсивно перечислимой. Ясно, что совокупность всех замкнутых арифметических формул рекурсивна. Эта со
вокупность разложена в сумму непересекающихся рекурсивно перечислимых множеств V и IV. По теореме Поста отсюда следует, что V и W рекурсивны вопреки уже доказанной нерекурсивности множества V.
Согласно теореме 1 все рекурсивно перечислимые множества арифметические. Обратное, конечно, неверно. Пусть множество М определяется арифметической формулой sp. Тогда формула | ф будет определять дополнение М’ = 2V — М. Поэтому дополнения к рекурсивно перечислимым множествам являются также арифметическими множествами. Можно легко построить и более сложные арифметические множества, не являющиеся ни рекурсивно перечислимыми, ни дополнениями к последним.
Теорема 2 (Тарский). Совокупность номеров всех истинных (замкнутых} арифметических формул не является арифметической.
Для доказательства используем обычный метод универсальных функций. А именно, предполагая теорему ложной, будем стремиться построить арифметическую формулу ф (х, у) с двумя свободными предметными переменными х, у, обладающую следующим свойством универсальности: если а — номер некоторой арифметической формулы £1 (у), имеющей лишь одну свободную предметную переменную у, то для всех значений у
ф (а, у}&& (у).	(1)
Допустим, что такую формулу sp нам удалось найти. Пусть а — номер формулы ~]sp (у, у). Из (1) получаем, что
Ф (а, у} "]Ф (У» У)
для произвольного значения у. Беря для у значение а, получаем противоречивое соотношение
?р (а, а} "Пф (а, а}, которое и доказывает теорему.
Итак, пусть теорема ложна и, следовательно, существует арифметическая формула 35 (у) с единственной свободной переменной у такая, что для каждого натурального
§13. ПРИЛОЖЕНИЯ
275
п S3 (п) = И*) тогда и только тогда, когда п есть номер слова, являющегося истинной замкнутой арифметической формулой.
Для каждого натурального п через ап (г) обозначим слово, получающееся следующим образом: если п есть номер слова ап, являющегося арифметической формулой, содержащей единственную свободную предметную переменную у, то полагаем
an (i) = Sb (ап; у, i);
если же п есть номер слова On, не удовлетворяющего указанным требованиям, то полагаем an(i) — ап.
Номер слова ап (г) обозначим через f (га, i). Таким образом, если ап есть формула с единственной свободной предметной переменной у, то для любого натурального i
S5 (/ (п, i}}= И (г) = И.	(2)
На основе результатов п. 11.2 легко показать, что функция f (га, i) рекурсивна. Поэтому существует арифметическая формула § У, и) с тремя свободными предметными переменными х, у, и, представляющая отношение и = f (х, у). Положим
ф (х, у) (Эи) (§ (х, у, и) & 25 (и))
н покажем, что формула (х, у) удовлетворяет требованию (1). В самом деле, пусть п — номер формулы О. (у). Тогда для любого натурального I формула О. (?) совпадает с формулой an(i) и потому в силу (2)
25 (/ (и, j))	& (О-	(3)
Пусть £> (Г) = И. Тогда 25 (а) = И, где положено а = / (га, j). Из последнего равенства заключаем, что 3’ (f>, i, а) = И, $ (п, I, а) & 25 (а) = И и потому
ф (Хг, I) = (Hu) (§ (п, I, и) & 25 (и)) = И. (4)
Обратно, пусть для фиксированных га, I соотношение (4) истинно. Это означает, что существует такое натуральное число а, для которого
6' (га, I, а) & 25 (а) = И.
Из (га, I, а) = И следует, что а — j (га, г) и, значит,
25 (7 (га, г)) = 35 (а) = И.
*) п обозначает терм 1 -f-	1,
276
ГЛ. V. АЛГОРИТМЫ И МАШИНЫ ТЫОРЙНГА
Из (3) получаем, что £>, (Г) = И. Итак, эквивалентность (1) доказана, а вместе с нею доказана и теорема 2.
13.4. Формулы 2-й ступени. В рассмотренных выше предикатных формулах все предикатные и функциональные символы были свободными. Если правила образования формул а), б), в) из п. 13.2 дополнить еще правилом
г) если X — предикатный или функциональный символ, свободный в формуле то формулами будут и слова
(УХ) 31, (ЭХ) 31, то получающийся более широкий класс формул называется классом формул 2-й ступени. «Значение» формулы 2-й ступени при заданных значениях свободных предикатных, функциональных и предметных символов определяется так же, как и для формул 1-й ступени.
Формулы 2-й ступени, не содержащие ни функциональных, ни предикатных, ни предметных свободных символов, называются абсолютно замкнутыми. На любом непустом множестве М абсолютно замкнутая формула либо истинна, либо ложна, причем значение этой формулы на М зависит лишь от числа элементов (мощности) М. Формула 2-й ступени (не обязательно абсолютно замкнутая) называется тождественно истинной, если она истинна на любом непустом множестве М при любых значениях на ЛГ всех ее свободных символов.
Теорема 1. Множество всех тождественно истинных формул второй ступени не рекурсивно перечислимо.
Пусть ' — одноместный, +, X — двуместные функциональные символы, Р — одноместный предикатный символ, 0, 1, х, у — предметные символы. Рассмотрим следующую систему формул:
1.	(Vx)(x 0&0' = 1),
2.	(Уху)(х = у' х = у),
3.	(УР)(Р (0) & (УЖ)(Р (х) -> Р (/)) -> (Уу) Р (у)),
4.	(Уж)(ж + 0 = х),
5.	(Уху)(х + у' = (х + у)'),
6.	(Vx)(x X 0 = 0),
7.	(Vxy)(x X у' = (х х у) + х).
Смысл этих формул очевиден. Напрпмер, формула 3) является принципом полной индукцип для натурального ряда. Обозначим через <5 конъюнкцию формул 1)—7). Формула ® содержит свободные символы ', +, X, 0, 1. Известно, что если на некотором множестве М значения этих символов заданы так, что формула © истинна^ то
§13. ПРИЛОЖЕНИЯ
277
модель +, X, 0, 1> изоморфна обычной арифметике <ЛГ; +, X, 0, 1>, рассмотренной в п. 13.3. Поэтому для каждой замкнутой арифметической (в смысле п. 13.3) формулы j формула 2-й ступени
тождественно истинна тогда и только тогда, когда £ истинна в арифметике (2V; +, X, 0, 1>.
Ясно, что совокупность всех замкнутых арифметических формул ? (истинных и ложных) рекурсивна. Поэтому рекурсивна и совокупность SK всех формул вида S -> J. Если бы совокупность £ всех тождественно истинных формул 2-й ступени была рекурсивно перечислимой, то пересечение €D? f~| £ было бы также рекурсивно перечислимой совокупностью и ее формулы можно было бы выписать в рекурсивную последовательность
 • •, >fn, • • •
Но тогда рекурсивная последовательность £0, £ц • • • состояла бы из всех замкнутых арифметических истинных формул и, следовательно, совокупность всех последних формул была бы рекурсивно перечислимой вопреки основному результату п. 13.3.
Теорема 1 данного п. 13.4 и теорема 1 п. 13.2 выявляют глубокое различие между языками 1-й и 2-й ступени. Хотя множество законов, формулируемых на языке 1-й ступени, нерекурсивно, все же существует алгоритм, позволяющий постепенно строить все эти законы. Что касается логических законов, формулируемых на языке 2-й ступени, то совокупность их не только не рекурсивна, но и не перечислима.
Дополнения и примеры
1.	Пусть @ — ассоциативное исчисление с порождающими элементами сь . . ., cs и определяющими соотношениями аа = 6а (а = 1, . . ., I). Для произвольного слова f в алфавите сх, . . ., cs через у* обозначим слово в алфавите а, Ъ, получающееся из у заменой Ci = «£аг+1&г+1 (г = 1, . . ., s'). Обозначим через S* ассоциативное исчисление с порождающими элементами а, Ъ и определяющими соотношениями я* = 6* (а = 1, . . ., Z). Показать, что для произвольных слов а, 6 в алфавите {с^, . . ., cs} а = 6 в исчислении © тогда и только тогда, когда я* = 6* в исчислении В частности, если в @ проблема равенства неразрешима, то она неразрешима в|псчпслении £* (Холл [1]).
2.	Говорят, что в ассоциативном исчислении © разрешима проблема делимости слева, если существует алгоритм, позволяющий;
278	. ГЛ. V. АЛГОРИТМЫ И МАШИНЫ ТЬЮРИНГА
для любых двух слов а, 6 из ® сказать, существует ли решение f уравнения = 6 в @. Аналогично говорят, что в @ разрешима проблема делимости слева заданного элемента С, если существует алгоритм, позволяющий для любого слова а из © сказать, существует или нет решение у уравнения <ц = С в @. Показать, что в ассоциативном исчислении А (£), построенном в п. 13.1 в процессе доказательства теоремы 3, проблема делимости слева элемента qov не разрешима (ср. А д я н [1]).
3.	В предыдущем примере в ассоциативном исчислении А (£) рассматривались только непустые слова. Допуская в число слов и пустое слово, получаем ассоциативное исчисление с пустым словом. Так как [А] [а] = [Аа] = [а] и [а] [А] = [а], то пустое слово А является представителем класса [А], который служит единицей полугруппы, определяемой этим исчислением. Если среди определяющих соотношений исчисления находится соотношение вида д=А, то правым 'элементарным преобразованием, отвечающим этому соотношению, называется преобразование, переводящее заданное слово XV в одно из слов йХО, ХОР> ХРШ -Левым элементарным преобразованием, отвечающим указанному соотношению, называется преобразование а -»А, переводящее слова вида aft}, fat), ft)a в слово XV (X, t) могут быть и пустыми словами).
Говорят, что в ассоциативном исчислении с пустым словом разрешима проблема нахождения правого обратного элемента, если совокупность тех слов а, для которых уравнение ар = А имеет решение в данном исчислении, является рекурсивной. Легко строится ассоциативное исчисление с пустым словом и неразрешимой проблемой нахождения правого обратного элемента. Для этого берем ассоциативное исчисление А (£), построенное в процессе доказательства теоремы 3 п. 13.1. К алфавиту этого исчисления добавляем новую букву и, к определяющим соотношениям добавляем соотношение uqov = А и новое исчисление с пустым словом обозначаем через В (£). По аналогии с теоремой 2 п. 13.1 показать, что в исчислении В (£) uaqwbv = А тогда и только тогда, когда agw6w = = qov в исчислении А (£). Отсюда путем сравнения с предыдущей задачей видим, что в В (£) не разрешима проблема нахождения правого обратного элемента.
4.	Пусть £ — машина Тьюринга, правильно вычисляющая функцию Е (х), упомянутую в доказательстве теоремы 3 и. 13.1. Обозначим через 85 ассоциативное исчисление с порождающими элементами 0, 1, q0,	..., qn и соотношениями (5)—(7) п. 13.1 (по
сравнению с А (£) нет порождающего элемента v п соотношения (8)). Показать, что в 83 проблема равенства разрешима, но неразрешима следующая проблема: поданным словам а, 6 узнать, существует ли натуральное число х такое, что аОх s 60х.
5.	Пусть / (г) — рекурсивная числовая функция и ® — групповое исчисление с порождающими элементами а, а-1, Ь, Ь-1, с, с-1, d, dr1 и (рекурсивно перечислимой) бесконечной совокупностью определяющих соотношений
аа-1 = Ыг1 = се"1 = ddr1 = А,
= d^c (d-1)^^ (х = 0, 1, 2, . . .).
Еслп совокупность значений функцпп f не рекурсивна, то проблема равенства слов в ® неразрешима (Рабин [1], X и г-мев [1]).
§ 13. ПРИЛОЖЕНИЯ
279
6.	Пусть 51 — групповое исчисление с порождающими элементами at, я"1, . . as, я'1 и некоторым бесконечный! рекурсивно перечислимым множеством определяющих соотношении. Тогда существует групповое исчисление 25 с порождающими элементами alt я*1, . . as, я"1 и некоторыми дополнительными порождающими элементами bi, b”1, . . bt, b^1, имеющее конечное чпсло определяющих соотношений и такое, что эквивалентность произвольных двух слов в алфавите {ях, я"1, . . ., as, я"1} в группе 2( равносильна эквивалентности этих слов в группе 85 (т. е. 21 является подгруппой в группе 83). Беря в качестве 21 группу, построенную в предыдущей задаче, и конструируя для нее группу 25, получим групповое исчисление с конечным числом определяющих соотношений и неразрешимой проблемой равенства (X и г м е н [1]).
7.	Пусть 21 — свободная полугруппа с свободными порождающими элементами я, b, 212 — декартов квадрат 21, т. е. полугруппа пар (а, Ь) (а, 6 6 21), перемножаемых по закону
(а, 6) (с, Ь) = (ас, 6Ь),
Диагональная подполугруппа — это совокупность пар вида (а, а). Общая комбинаторная проблема Поста-, существует ли алгоритм, позволяющий для любой конечной системы пар (Яц Ьх), (а2, Ь2), . . ., (а<, 6<) решить, пусто или нет пересечение диагональной подполугруппы и подполугруппы, порожденной заданной системой пар.'
Ограниченная комбинаторная проблема Поста', для фиксированного натурального числа s > 0 указать алгоритм, позволяющий для любой системы, состоящей из s пар (ах, Ьх), (а2, 62), . . . . . ., (as, &s) решить, пусто или нет пересечение диагональной подполугруппы и подполугруппы, порожденной упомянутыми s парами.
Показать, что ограниченная проблема Поста (для больших s) решается отрицательно (Пост [4], Марков (2J).
8.	В полугруппе всех целочисленных матриц 4-го порядка существует конечное число матриц такпх, что порождаемая ими подполугруппа нерекурсивна (Марков [31).
9.	Прямое произведение двух свободных групп с двумя порождающими элементами содержит нерекурсивную подгруппу с конечным числом порождающих элементов. Отсюда следует, что группа целочисленных матриц 4-го порядка с определителем 1 содержит нерекурсивную подгруппу, имеющую конечное число порождающих элементов (Михайлова [1]).
10.	В п. 13.2 доказано, что элементарная теория класса всех полугрупп нерекурсивна. В книге Тарского, Мостовского пР. Робинсона [1] и в обзоре Ершова, Лаврова, ТаймановапТайцлина [1] подробно исследованы элементарные теории многих важных классов моделей и алгебр. Некоторые пз относящихся сюда результатов указаны в этой п следующих задачах.
Показать, что элементарная теория полугруппы <.N\ +> рекурсивна (Пресбургер, см. Ершов, Лавров, Тайманов и Т а п ц л и н fl]).
280
ГЛ. V. АЛГОРИТМЫ И МАШИНЫ ТЬЮРИНГА
И. Совокупность всех истинных абсолютно замкнутых формул 2-й ступени, пе содержащих функциональных символов и содержащих из предикатных символов лишь знак равенства и одноместные предикатные символы, является рекурсивной.
12.	Элементарные теорип кольца всех действительных чисел <С; +, х> и кольца всех комплексных чисел рекурсивны (Т а р-скийиМаккинси [1]).
13.	Элементарная теорпя кольца всех целых чисел нерекурсивна.
14.	Элементарная теория поля всех рациональных чпсел нерекурсивна (Ю. Робинсон).
15.	Элементарные теории всех метабелевых групп п всех конечных метабелевых групп неразрешимы (Мальцев [1]).
16.	Элементарные теории всех конечных симметрических групп и всех конечных простых групп неразрешимы (Ершов [II)’.
17.	Говорят, что предикат Р (х±, . . ., хп], определенный на множестве натуральных чисел N, принадлежит классу Ps иерархии Клини, если его можно представить в виде
Р(Х)-^(УР1) (Зр2).. .(Vps_x) (3ps) {F (;, th,. .., t)s) = 0) (s четно) или соответственно в виде
P(r) <=> (3Di) (Vp2). . . (Vps_x) (3ps) (F (Jf, th, . . ., t)4) = 0) (s нечетно), где F (v, th, . . ., t)s) — подходящая общерекурсивная функция. Предикат Р называется принадлежащим классу Qs, если Й Р принадлежит классу Ps. Наконец, говорят, что предикат Р принадлежит классу Rs, если Р цринадлежит одновременно классу Ps и классу Qs- Отсюда следует, что класс Рх совпадает с классом всех рекур-, сивно перечислимых предикатов, а класс Вх — с классом рекурсивных предикатов. Далее,
Л ^s+l’ С Ps-.-L, С Qs+1.
При помощи нумерационных функций Сп, Сп, легко доказывается, что каждый предикат Р (у) класса Ps представим в форме
Р (г) & (VKi) (ЗГ2). . . (VKS_X) (ЗГ ) (Е (г, Гг, . . ., У ) = 0)
(F — общерекурспвная функция) для четных s п в аналогичной форме для нечетных s.
18.	Объединение классов Рх, Р2, . . . совпадает с классом всех арифметических предикатов.
19.	Наряду с иерархией Клпнп пногда рассматривают и арифметическую иерархпю. А именно, говорят, что формула вида
(QiVi). .. (Од) а (у, th,...,ps),
где символы Q; означают кванторы V, 3, Q,=£ Q,+1, Pt = <Уй, . . . . . .,	?l — арифметическая формула, не содержащая кван-
торов и, следовательно, построенная из предметных символов 0, 1, хх, . . ., Хл, yij, функциональных символов X и логических символов =, &, V> Й, имеет тип Qx . . . Qs. Например, формула
(Уху) (Зп)(Уу) (ж -J- у = 0 V (® + У) (“ +	4= 0)
§ 13. ПРИЛОЖЕНИЯ
281
имеет тип V3V. Определенный на натуральном ряде предикат Р (х) называется предикатом типа Qx. . . Qs, еслп существует такая арифметическая формула 21 (х) данного типа, что Р (у) <=> а (х), где 21 не содержит свободных предметных переменных, отличных от Жх, . . Каждый арифметический предикат типа (V3)s принадлежит классу P2S иерархии Клини и, аналогично, арифметические предикаты типов Я (V3)s, (V3)SV, (3V)S принадлежат соответственно классам j?2^q_x, Q2g.
20.	В п. 16.2 показано, что каждый рекурсивный предикат имеет одновременно типы V3 и 3V. Поэтому предикат класса P2S заведомо имеет тип (V3)SV.
21.	Множество натуральных чисел М имеет данный класс в иерархии Клини, если этот класс имеет соответствующий одноместный предикат. Аналогично определяется и арифметический тип множества. Показать, что множество номеров замкнутых истинных арифметических формул типа (V3)s имеет класс Р25, типа (3V)S имеет класс Q2S и т. д. Обратно, каждое множество класса P2S имеет тип (V3)SV и т. д.
22.	Легко видеть, что если бы для некоторого s все множества класса Ps принадлежали классу Qs или все множества класса Qs принадлежали классу Ps, то все высшие классы Ps+1, Ps+2,    совпадали бы и, следовательно (см. предыдущую задачу), совокупность номеров всех истинных арифметических формул была бы арифметической. Таким образом, для каждого s Ps Qs, Qs jPs (теорема иерархии Клини) (см., например, Деви с [1], с. 156).
23.	Пересечение и объединение конечного числа множеств, принадлежащих одному из классов Ps, Qs, Rs, принадлежит тому же классу. Класс множества не меняется при взаимно однозначных рекурсивных отображениях натурального ряда на себя. Если М 0 — множество четных чисел, имеющее класс Ps и не принадлежащее клаосу Qs, а — множество нечетных чисел, имеющее класс Qs и пе принадлежащее классу Ps, то Мо U принадлежит классу Rs+1 и не принадлежит классам Ps, Qs.
24.	Если Р (ж1; . . ., хт) — предикат одного из классов Клини п / (х±, . . ., яп) — общерекурсивная функция, то предикат Р (f (xt, . . ., хп), х2, .  ., хт) принадлежит тому же классу, что и Р.
25.	Классом частичной функции называется класс ее графика. Класс предиката содержится в классе его характеристической функции. Еслп предпкат класса Ps или класса Qs, то характеристическая функция этого предиката лежит в классе Rs+1.
26.	Доказать формулы
(Зя < z) (Vy) Р (х, у, и) <=> (Уу) (Зя < z) Р (х, Г (у, х), и),
(Ух < z) (Зу) Р (х, у, и) <=> (Зу) (Ух < z) Р (х, Г (у, г), и),
где Р — произвольный предикат, Г (х, у) — функция Гёделя.
27.	Суперпозиция всюду определенных функций класса Rs прпнадлежпт тому же классу Rs.
28.	Еслп функция / (х, у, z) принадлежит классу Rs и функция g (х, у) = цг (/ (ж, у, г) = 0) всюду определена, то функция g принадлежит также классу Rs (см. формулы, указанные в задаче 26). Пз этого результата п результата, указанного в предыдущей задаче, вытекает следующая теорема Поста о кванторном представлении: еслп всюду определенные функции Ух, . ... fm принадлежат классу R?, то каждая всюду определенная функция, рекурсивная
282	гл. V. АЛГОРИТМЫ И МАШИНЫ ТЫОРЙНГА
относительно , fs, принадлежит тому же классу Rs (К л и н и [3], с. 261).
29.	Характеристическая функция любого предиката класса J? рекурсивна относптельно характеристических функций подходящих предикатов, имеющих классы Ps и соответственно Qs.
30.	Пусть 21 — замкнутая формула исчисления предикатов 1-й ступени, истинная на некоторой модели с бесконечным числом элементов и содержащая помимо логических знаков (включая знак равенства) еще лишь предикатные символы Alt ..Ат. Тогда на натуральном ряде 2V существуют такие предикаты 4°, . . ., А^ класса В2, что формула 21 истинна на модели <2V; 4°, . . ., 4^> (К лини [3] с. 349).
31.	Существуют удовлетворяющие условиям предыдущей задачи формулы 21, которые ложны на любой модели <JV; 4°, . . . .' . ., 4^>, предикаты которой 4®, . . ., 4принадлежат классу PjU IJ Qj (М о с т о в с к и й [1]).
Г Jt А В A VI
ВАРИАНТЫ МАШИН И АЛГОРИТМОВ ТЬЮРИНГА — ПОСТА
В этой главе будет изучено несколько классов алгоритмов, отличных от класса алгоритмов, выполняемых машинами Тыорипга, ио довольно близких к последнему. В § 14 рассматриваются нормальные алгоритмы, операторные алгоритмы и так называемые продукции Поста, а в § 15 — многоленточные машины Тыорйнга, двухленточные машины с неизменяющимися состояниями' ячеек (машины Минского) и продукции Поста специального вида, известные под именем ТАГ-систем. Указанные классы алгоритмов наиболее часто встречаются в теоретических приложениях, если не считать алгоритмов, осуществляемых конечными автоматами, которые в данной книге не рассматриваются и составляют предмет особой области — теории конечных автоматов.
§ 14. Нормальные и операторные алгоритмы
Каждое мгновенное состояние машины Тьюринга естественно описывается либо машинным словом, либо натуральным числом — номером машинного слова. В силу этих описаний переходу машины Тьюринга из одного состояния в другое отвечает либо определенное преобразование машинного слова, либо соответствующая операция над числом. Анализ преобразований слов непосредственно приводит к понятию алгоритма, заданного программой подстановок, описанному выше в п. 12.1, и к понятию нормального алгоритма, введенному А. А. Марко-в ы м [2]. Анализ операций над номерами машинных слов непосредственно приводит к понятию операторного алгоритма Ван Хао [1]. Изложению всех этих понятий мы предпошлем несколько замечаний о еще более общем понятии формальной системы или формального исчисления, играющем важную роль в логике и других разделах математики.
284	ГЛ. VI. ВАРИАНТЫ МАШИН И АЛГОРИТМОВ
14.1. Формальные системы. Продукции Поста. Формальная система задается своим алфавитом С = <{с15 с2,. . . , ер} и конечной совокупностью «правил вывода» Ри Р2, . . . , Ps. При этом правилом вывода Р (н-местным) в алфавите С называется просто произвольная рекурсивная совокупность n-ок (уп . . ., уп) слов в алфавите С.' Совокупность Р обычно задают каким-нибудь «простым» правилом, позволяющим узнать, обладает произвольно взятая n-ка слов заданным признаком Р или нет.
Слово у называется непосредственным следствием из некоторой совокупности слов 31, символически 51 у, если возможно указать такое правило вывода Pt и такие слова «!,..., em в совокупности 51, что последовательность <«!, . . ., ат, & принадлежит
Слово у называется следствием из совокупности слов 51, символически 51 |— у, если можно указать такую конечную последовательность слов ух, . . ., уг, что
511= ух, {51, Уг} /= у2, - -{ЗГ, Ух, • • к
Дополнительно полагают, что каждое слово есть непосредственное следствие самого себя. Таким образом, если у S 51, то 51 fz у.
Вместо «у есть следствие из совокупности 51» говорят также, что у выводимо из У, (в данной формальной системе).
Из определения формальной выводимости непосредственно вытекают следующие ее свойства:
а)	Если 511— у и 51 cz 55, то 55 J— £•
б)	Если 51 [— у и {51, у} [— р, то 511— i).
в)	Если слово у выводимо из некоторой бесконечной совокупности 51 слов, то у выводимо из некоторой конечной подсовокупности совокупности 51.
Примерами формальных систем могут служить ассоциативные исчисления, рассмотренные в п. 13.1. Пусть Е — ассоциативное исчисление с алфавитом С и определяющими соотношениями = Ьг (i = 1, 2, . . ., Z). Каждому соотношению аг = Ь, ставим в соответствие два бинарных правила вывода и Pi, полагая Pt (у, р) истинным, если слово р может быть получено из у подстановкой в у слова bi вместо какого-нибудь вхождения в;, и определяя аналогично Pi (у, р). Ясно, что в формальной системе fy с алфавитом С и правилами вывода Pi, Pi (i = 1, 2, . . . . . » Z) У |— 9 тогда и только тогда, когда у = р в заданном ассоциативном исчислении.
§ 14. НОРМАЛЬНЫЕ И ОПЕРАТОРНЫЕ АЛГОРИТМЫ
285
Пусть 91 — некоторая совокупность слов формальной системы у. Формальным доказательством на основе 21 называется каждая конечная цепочка <го, . ., гг> слов из у, обладающая следующим свойством:
для каждого f;, О О i.-C £> или g 21 или
{?о, fi,-.., £i-i} Ё ?;•
Последнее слово ft формального доказательства называется его утверждением, а все формальное доказательство <Jo, fi, . . называется формальным- выводом из fo на основе 91.
Теорема 1. Пусть % — какая-нибудь формальная система н 91 — некоторое рекурсивно перечислимое множество слов в $. Тогда совокупность всех формальных доказательств в у на основе 9( также рекурсивно перечислима.
Номером произвольной n-ки слов	назо-
вем канторовский номер числовой последовательности <с (fi), . . ., с (jn), п — 1>, где с (jj) — алфавитный номер слова ?г. Пусть а (иг) — последовательность слов, имеющая номер т. По условию, существует примитивно рекурсивная функция ф (ж) такая, что ф (0), ф (1), . . . суть алфавитные номера всех слов из 21. Для каждой конечной последовательности слов <jo, fT, . . ., мы можем решить вопрос о том, является ли она доказательством на основе совокупности 9( слов с номерами ф (0), ф (1), . . . . . . ., ф(и). Теперь строим последовательность доказательств а (иоо), а(иго),  . . посредством следующего процесса.
а)	Полагаем иоо равным номеру доказательства <а, а)>, где а — слово с номером ф (0).
б)	Пусть доказательства
а(ноо),а (Ию),  • , a(«iP1), • • а (м-;0),- • • , « (w«P<) (1)
построены. Из последовательности цепочек слов а (0), а (1), . . ., а (i -J- 1) выбираем те, которые являются доказательствами на основе совокупности 9( слов с номерами ф (0), ф (1), . . ., ф (i -j- 1). Пусть это будут доказательства а (им 0), . . ., а (им ). Их мы и присоединяем к доказательствам (1).
Ясно, что так построенная последовательность доказательств содержит все доказательства на основе 9(. Члены этой последовательности строятся на основе ясно
286
Гл. VI. ВАРИАНТЫ МАШИН И АЛГОРИТМОВ
го алгоритма и потому совокупность всех ее членов рекурсивно перечислима.
Следствие. В любой формальной системе % совокупность слов, выводимых из произвольного рекурсивно перечислимого множества слов ЭД, является рекурсивно перечислимой.
Действительно, согласно теореме 1 совокупность всех доказательств на основе 31 рекурсивно перечислима. Но тогда рекурсивно перечислимыми являются совокупность всех доказательств, начальные слова которых находятся в 31, и нужная нам совокупность всех последних слов доказательств, начинающихся словом из ЭД.
Выше указывалось, что ассоциативные исчисления можно рассматривать как формальные системы определенного специального вида. Сейчас мы опишем формальные системы еще двух специальных видов: системы подстановок, называемые иногда полусистемами Туэ или системами полу-Туэ, и системы продукций.
Система подстановок (= подстановочная система) задается некоторым алфавитом С = {сх,с2, . . ., ср} и базисными подстановками
ft;^b,(i = !,...,/),	(2)
где «г, Ь; — некоторые (возможно и пустые) слова в алфавите С. Каждую подстановку -> из (2) будем понимать как правило вывода Pi, считая, что Pt (j, р) истинно, если слово р получаются из слова у посредством подстановки в j слова Ь£ вместо какого-нибудь вхождения слова а;.
Отсюда непосредственно видно, что ассоциативное исчисление с алфавитом С и определяющими соотношениями
= b£ (i = 1, . . ., I)
можно рассматривать как систему подстановок с базисными подстановками
«г -> Ьг, Ьг &1-
Таким образом, система подстановок (2) содержит как бы лишь «половину» подстановок, содержащихся в ассоциативном исчислении с соответствующими определяющими соотношениями.
Ассоциативные исчисления иногда называются системами Туэ в честь норвежского математика Акселя Туэ. в работах которого, по-видимому, впервые была отчетливо сформулирована проблема равенства слов в ассоцпатвв-
§ 14. НОРМАЛЬНЫЕ И ОПЕРАТОРНЫЕ АЛГОРИТМЫ
287
ных исчислениях. Это и дало повод системы подстановок называть полусистемами Туэ или даже «системами полу-Туэ».
Пусть ® — система подстановок с алфавитом С и. базисными подстановками (2). Слово ав алфавите^ называется заключительным в системе ®, если ни одно из левых слов	подстановок (2) не входит в а. Говорят,
что система (2) перерабатывает слово £ в слово i), если £ j— t) и слово t) заключительное. Может случиться, что для каждого слова £ из некоторого, рекурсивного множества ЭД существует не более одного заключительного слова р, удовлетворяющего соотношению £ |— р. Тогда, ставя слову £ в соответствие слово р, получим частичную функцию на ЭД, которая называется функцией, вычисляемой системой ®. Поскольку множество пар слов <£, р>, удовлетворяющих соотношению £ [— р, рекурсивно перечислимо, а множество всех заключительных слов рекурсивно, то упомянутая функция заведомо частично рекурсивна. Программа подстановок, отвечающая машине Тьюринга, показывает, что при надлежащем кодировании чисел при помощи систем подстановок можно вычислить любую частично рекурсивную функцию.
Система продукций Поста задается своим алфавитом С = {сх, . . ., ср} и системой базисных продукций
a.w^wbi (i = i,..z),	(3)
где a;, bi — какие-то слова в алфавите С. Пусть некоторое слово £ начинается словом а;. Произвести над £ продукцию tiiW Wbt — это значит вычеркнуть из £ начальный отрезок й; и затем к оставшемуся слову приписать справа слово Ьг. Например, произведя над словом aba продукцию abW Wc, получим слово ас.
Каждая система продукций (3) обычно понимается как формальная система с правилами вывода (i = 1, . . . . . . , Z), где Pi (£, р) считается истинным, если слово t) получается из £ прп помощп продукцпи atWWbi.
Следующая простая теорема показывает, что любую систему подстановок можно «вложить» в систему продукций.
Теорема 2. Пусть задана система подстановок ® с базисными подстановками (2) и алфавитом С = {с15 . . . . . ., ср}. Рассмотрим новый алфавит D = {с15 . . ., ср,
Ср}. Пусть а' обозначает слово, получающееся из слова а в С заменой всех его букв соответствующими
288
ГЛ. VI. ВАРИАНТЫ МАШИН И АЛГОРИТМОВ
штрихованными буквами (например, (щс^)' = cLc2}. Обозначим через ф систему продукций с алфавитом D и базисными продукциями
cnW-^Wb't (i = i,...,l),
cW^Wcp	(4)
^•Ж^Жсу
Для любых двух слов г, р в алфавите С отношение £ -|—р истинно в системе подстановок ® тогда и только тогда, когда оно истинно в системе продукций ф.
В самом деле, непосредственно ясно, что если слово р в С получается из слова j подстановкой Вг, то р можно получить из f совокупностью продукций вида (4). П оэтому из j }- i) в ® следует j J— р в ф.
Обратно, пусть для некоторых слов у, р в алфавите С имеем у р в ф. Тогда найдется конечная цепочка слов •••»?! в алфавите D такая, что в цепочке
? = £о,	i’t, J’t+1 = V
каждое слово уг+1 получается из предыдущего слова посредством какой-то из продукций (4). Индукцией по i легко убеждаемся сначала, что каждое слово имеет вид
= ViJt или уг = где рг, — слова в алфавите С. Полагаем (pj')* = (p'j)* = jp. Просматривая продукции (4), сразу же видим, что для каждого i либо (уг)* = = либо (fi+1)* получается из (уг)* одной из подстановок (2), что и требовалось.
Следствие. Существует такая система продукций ф, в которой совокупность всех слов, выводимых из подходящего фиксированного слова а, является нерекурсивной.
В самом деле, пусть А (£) — ассоциативное исчисление с алфавитом {0, 1, qo, qr, ... ., qn, v} = С, в котором неразрешима проблема равенства слову цйи. Такое исчисление было построено в п. 13.1. Обозначим через ф систему продукцией с алфавитом D = {0, 1, qo, . . ., qn, и, qo, . • ., qn-. и}, получаемую из ассоциативного исчисления процессом, описанным в теореме 2. Тогда совокупность тех слов в алфавите С, которые выводимы продукциями из слова qov, будет совпадать с совокупностью всех слов, эквивалентных слову qov в исчислении А (£). Так как последняя совокупность нерекурсивна, то нере-
§ 14. НОРМАЛЬНЫЕ И ОПЕРАТОРНЫЕ АЛГОРИТМЫ 289 курсивна и совокупность всех слов в алфавите D, выводимых продукциями из qov.
14.2. Нормальные алгоритмы. Фиксируем какой-нибудь алфавит А и пусть символы и • не входят в А. Следуя Маркову, формулы вида
а Ь, «-Ь,	(1)
где а, b — какие-нибудь слова (возможно и пустые) в алфавите А, будем называть соответственно простыми и заключительными формулами подстановок. Слово а будет называться левым, а слово Ь — правым словом формулы.
Произвольная конечная последовательность формул подстановок называется схемой. Нормальным алгоритмом с данной схемой 91 в алфавите А называется следующее предписание для переработки слов в алфавите А.
Пусть задано произвольное слово j в алфавите А. Полагаем по определению 1'о — ? и говорим, что слово 1'о получается из слова у после нуля шагов переработки. Пусть для некоторого натурального п нам уже известно слово jn, полученное из у после п шагов переработки. Тогда (п + 1)-й шаг переработки будет состоять в следующих действиях. В схеме 91 ищем первую формулу подстановок (1), левая часть которой а есть подслово слова и затем в вместо первого вхождения л подставляем правое слово b этой формулы. Возникшее в результате подстановки слово обозначается через yn+i. Если использованная для получения i'n+i формула подстановок была простой, то говорим, что Jn+i есть слово, получающееся из f после п + 1 шагов переработки. Если же указанная формула подстановок была заключительной, то слово jn+i называется результатом переработки слова j посредством алгоритма 91 и обозначается символом 9f (?).
Может случиться, что в схеме 91 не окажется ни одной формулы подстановок, левое слово которой входит в качестве подслова в слово гп. В этом случае мы полагаем = ?п и также говорим, что Jn+i есть результат переработки слова f посредством алгоритма 91. В обоих последних случаях говорят, что процесс переработки слова обрывается после (п 4- 1)-го шага. Если процесс переработки слова f ни на каком шаге не обрывается, то говорят, что результат переработки слова j посредством алгоритма не определен. В этом последнем случае символу 9( (г) приписывается неопределенное значение.
290
ГЛ. VI. ВАРИАНТЫ МАШИН И АЛГОРИТМОВ
В формулах подстановок (1) слова a, b могут быть пустыми. В связи с этим возникает вопрос, что значит в данное слово £ подставить Ь вместо первого вхождения в г пустого слова а = Л? По определению полагают, что результатом указанной подстановки является слово Ь?. Например, нормальный алгоритм 91 со схемой, состоящей лишь из одной формулы Л -> • а, каждое слово ? перерабатывает в слово а?.
Выше определено понятие нормального алгоритма в алфавите А. Если алгоритм 91 задан в некотором расширении алфавита А, то говорят, что 91 есть нормальный алгоритм над А. Одноместная частичная словарная функция F (?), заданная в алфавите А, называется нормально вычислимой, если существует нормальный алгоритм 91 над алфавитом А такой, что для каждого слова ? в алфавите А выполнено равенство F (?) = 91 (у).
В частности, алгоритм со схемой Л -> • Л вычисляет функцию F (?) = ?, а алгоритм со схемой Л Л вычисляет нигде не определенную функцию.
В качестве более содержательного примера рассмотрим словарную функцию в алфавите {0, 1}, заданную формулой F (г) = ?а. Пусть 91 — нормальный алгоритм в более широком алфавите {0, 1, 2}, имеющий схему
20	02, 21	12, 2	«а, Л 2.
Возьмем какое-нибудь слово в алфавите {0, 1}, например, слово ОНО = ?. После первого шага мы получим слово 20110. Каждый следующий шаг переработки будет сдвигать символ 2 на одно место вправо и после 5-го шага мы будем иметь слово 01102, которое после использования заключительной формулы даст слово 0110 а = га.
Таким образом, алгоритм над алфавитом {0, 1} с указанной схемой вычисляет функцию ?а, заданную в алфавите {0, 1}.
Мы не будем рассматривать более сложные примеры, так как легко устанавливается следующая общая
Теорема 1 (Детловс [1]). Класс нормально вычислимых частичных функций, заданных в произвольном алфавите А, совпадает с классом всех одноместных частично рекурсивных словарных функций в алфавите А.
Для доказательства достаточно сравнить определение нормального алгоритма с определением алгоритма Тьюринга при помощи программы подстановок. В самом деле, пусть F (г) — произвольная частично рекурсивная ело-
§ 14. НОРМАЛЬНЫЕ И ОПЕРАТОРНЫЕ АЛГОРИТМЫ 291 варная функция, заданная в алфавите А. Согласно п. 12.3 существует машина Тьюринга £, имеющая внешний алфавит {ао} (J А (ао — новый, не входящий в А символ) и вычисляющая функцию F (?).
Пусть qo, qlt . . ., qn внутренние состояния £ и ф — программа подстановок для £. Заменяя входящие в ф формулы вида q^j -> доа^ формулами qP] -> -qo^, получим схему некоторого нормального алгоритма 51 в алфавите Л [J {ао, qo,   qn}- Сравнивая описания работы машины £ и операций, предписываемых алгоритмом 31, непосредственно видим, что для каждого слова ? в алфавите А ф (г) = 31 (?). Таким образом, каждая частично рекурсивная словарная функция нормально вычислима.
Обратно, пусть задан нормальный алгоритм со схемой 51 в алфавите А. Пусть символ qo не входит-в А. Заменяя точки в формулах символом qo, присоединяя в начале формулу qo -> qo ив конце формулу A qo, получим программу подстановок (в смысле п.12.2). В и. 12.2 доказано, что частичная словарная функция F (?), заданная в алфавите А и вычисляемая с помощью указанной программы подстановок, является частично рекурсивной. Так как ясно, что функции F (?) и 9( (?) совпадают, то мы приходим к выводу, что каждая нормально вычислимая функция частично рекурсивна.
14.3. Операторные алгоритмы. Операторный алгоритм задается последовательностью приказов, каждый из которых имеет определенный номер и содержит указания: какую операцию следует выполнить над заданным объектом и приказ с каким номером следует далее выполнять над результатом данной операции. В качестве объектов будем брать натуральные числа и будем рассматривать приказы впда
i: w а Р ,
(1)
где i — номер приказа, w — символ фиксированной одноместной частичной функции, а, р —номера некоторых приказов. Выполнить приказ (1) над числом х — значит найтп чпсло w (х) и далее перейти к выполнению над w (х) приказа с номером а; еслп же w (х) не определено, то перейти к выполнению над числом х приказа с номером р.
292
ГЛ. VI. ВАРИАНТЫ МАШИН И АЛГОРИТМОВ
Например, выполнив над числом 24 приказ i: : 6 7 13 ,
получим число 4 и указание выполнять далее над 4 приказ с номером 7. Выполнив же упомянутый приказ над числом 23, получим снова число 23 и указание выполнять над 23 приказ с номером 13.
Помимо приказов вида (1), будет нужен еще приказ
i: стоп ,	(2)
который означает,, что вычисления следует остановить и что число, над которым следует выполнить приказ (2), есть результат вычислений.
Результат выполнения приказа (1) над числом х мы будем изображать парой (z, у), где z — полученное число, у — номер приказа, который должен выполняться далее над z.
Программой операторного алгоритма называется последовательность приказов вида
0:	стоп	, 1:	W1	«1	₽1	, . .., s:	и>8	as	₽,;	, (3)
где wr (х), . . ., ws (х) — заданные частичные функции, аг, . . ., <zs, Ps — какие-то натуральные числа из последовательности 0, 1, . . ., $.
Пусть задано произвольное число х. Переработать х согласно указанной программе — это значит выполнить над х последовательность следующих действий:
1-й шаг: находим и\ (х). Если и\ (х) определено, то результатом первого шага будет пара чисел (icy (х), aj. Если (х) не определено, то результатом первого шага будет пара (х, PJ.
2-й шаг: пусть пара (хг, у) есть результат предыдущего шага. Выполняем над х1 приказ с номером у из программы (3), т. е. находпм (x-J. Еслп (zj определено, то результатом 2-го шага будет пара (гщ (zj, <xv). Еслп же wy (zj не определено, то результатом 2-го шага будет пара fo, Jv) п т. д.
Еслп на n-м шаге получится пара вида (а, 0), то по определению на этом процесс обрывается п число а называется результатом переработки первоначально числа х
§ 14. НОРМАЛЬНЫЕ И ОПЕРАТОРНЫЕ АЛГОРИТМЫ 293
согласно программе (3). Если же пара вида (а, 0) ни на каком шаге не возникает, то результатом переработки х будет «неопределенное значение».
В дальнейшем мы вседа будет приписывать номер 0 приказу «стоп» и номер 1 начальному приказу. Остальные же приказы иногда будем нумеровать не только натуральными числами, но и парами чисел, и символами какого-нибудь алфавита. Важно лишь одно: если программа содержит приказ
w а Р ,
то она должна содержать и приказы с номерами а, |3. Если в упомянутом приказе функция w всюду определена, то символ р не оказывает влияния на течение вычислений и потому обычно не указывается. Тогда пишут и так:
w а
Говорят, что операторный алгоритм А с программой (3) вычисляет частичную функцию / (z), если алгоритм А перерабатывет каждое натуральное число х в f (х). В частности, если / (z) не определено, то процесс переработки х согласно программе (3) должен быть бесконечным.
Природа функций, вычислимых посредством операторных алгоритмов, зависит, конечно, оттого, какие функции входят в записи приказов. Простейшим фактом в этом направлении является
Т е о р е м а 1. Для того чтобы частичная функция / (ж) была вычислима с помощью операторного алгоритма, программа которого (3) содержит лишь частично рекурсивные функции (х) с рекурсивной областью определения, необходимо и достаточно, чтобы f (х) была частично рекурсивной.
Необходимость условий очевидна, и мы ограничимся лишь доказательством достаточности их. Ясно, что алгоритм с программой
0: стоп ; 1: -|- 2 1
вычисляет нигде не определенную функцию / (ж).
Пусть частично рекурсивная функция / (р) имеет непустой график. Тогда этот график можно представить в виде
294
ГЛ. VI. ВАРИАНТЫ МАШИН И АЛГОРИТМОВ
совокупности пар <а (i), Р (i)> (i = 0, 1, . . .), где а, р — подходящие примитивно рекурсивные функции. Обозначим через и (ж) выражение 2х и введем частичную функцию w (х), полагая
[ = Зж, и; (ж) {
' ( не определено,
если ех0 х a (exix), если ех0 z = а (ехцг).
Функция w (х) частично рекурсивна с рекурсивной областью определения. Легко убедиться, что операторный алгоритм, имеющий программу:
О : стоп
1: v 2 ; 2:
w
2 I 3 ;
I
3: ехх 4 ; 4: Р 0 ,
вычисляет как раз функцию / (х). В самом деле, выполнив над произвольным числом х приказ 1, получим пару (2х, 2). Если х ф а (0), то, выполнив над 2х приказ 2, получим пару (2Х-31, 2). Если х а (1), то, выполнив над 2х-З1 приказ 2, получим пару (2х-З2, 2.) и т. д. Процесс продолжается до тех пор, пока, наконец, получится пара (2х-Зп, 2), для которой х = а (п). Так как w (2х-•Зп) не определено, то над числом 2х-Зп теперь надо выполнить приказ 3, в результате которого получим пару (тг, 4). Выполнив над п приказ 4, получим пару (Р (тг), 0). Так как х = а (тг), то р (тг) = / (х) и, следовательно, алгоритм перерабатывает х в / (ж), что и требовалось.
Построенная выше программа для вычисления функции / (х) оказалась довольно тривиальной вследствие того, что запас функций, допустимых в приказах, был очень большой. Естественно, чем уже запас, тем труднее стро-пть нужные программы. Поэтому несомненный интерес представляет следующая теорема, машинную интерпретацию которой мы рассмотрим далее в п. 15.2.
Теорема 2 (Минский [1]). Для каждой частично рекурсивной функции f (т) существует операторный алгоритм, программа которого состоит из приказов вида
стоп
X с а
: d а Р
(с = 2, 3, 5; d = 2-3-5), для любого х перерабатывающий 2х в .
§ 14. НОРМАЛЬНЫЕ И ОПЕРАТОРНЫЕ АЛГОРИТМЫ 295
Иными словами, любая частично рекурсивная функция / (ж) вычислима при помощи подходящего алгоритма^ программа которого состоит из приказов вида (4), при условии, что значения аргумента и функции кодируются числами 2х, 2йя>. Из доказательства теоремы будет видно, что в ее формулировке числа 3, 5 можно заменить любыми другими взаимно простыми нечетными числами.
Прежде всего покажем, как для любой машины Тьюринга £ с внешним алфавитом {0, 1} можно построить программу операторного алгоритма, выполняющего, грубо говоря, ту же работу, что и машина £. Мы можем предполагать, что в процессе работы машина £ не надстраивает ленты слева. Пусть qo-, qt,  . ., qn — внутренние состояния машины £. Мгновенное состояние всей машины £ описывается машинным словом
у = bj.br-! . • • boqiaoar . . . as (bK, = 0, 1),	(5)
которое мы условимся кодировать парой чисел (2а-Зъ, i), где
а — flo -f- а^ • 2 -|-. • . . -j- as*2s, b = b0 + bv2 + . . . + bT-2r.
(6)
В зависимости от i и flo машина £ перейдет из конфигурации у в конфигурацию у1. Пусть конфигурация у1 кодируется парой (2е-3d, у). Число 2е «3d зависит от чисел 2“-3й, г, со, а число / зависит лишь от i и ао. Поэтому полагаем z = h (i, ао).
Но чпсло ао само есть функция числа z = 2а-Зь:
О, если exoz четно, 1, если exoz нечетно.
Следовательно, с и d будут зависеть от z = 2а-Зь и I, п мы можем ввести для каждого i = 1, . . ., п две частичные функции wi0, wtl, полагая по определению
= 2е-3'7, если exoz четно, не определено, еслп ех0 z нечетно, = 2c3d,	если	exoz	нечетно,
не определено, если exoz четно.
296
ГЛ. VI. ВАРИАНТЫ МАШИН И АЛГОРИТМОВ
Рассмотрим операторный алгоритм А с программой
О: стоп
ши h(l, 1)	;
(8)
1: ш10 й(1, 0) 1* ,

(9)
uuu-l •
переводит указанную выше пару чисел (2а-Зь, i), отвечающих конфигурации ?, в пару чисел (2е-3d, /), отвечающих конфигурации J1. В частности, если машина £ перерабатывает какую-нибудь начальную конфигурацию
Ъу-Ъ?—1 ...	... fls
в заключительную конфигурацию
1 - - • doQoCOCi . . . cvi	(10)
то алгоритм А с программой (8) переработает число 2я-3 в число 2c-3d, где а, b выражаются формулами (6), а с, d вычисляются по таким же формулам для (10).
Приказы программы (8) содержат более сложные функции, чем те, которые указываются теоремой 2. Наша задача состоит в том, чтобы каждый приказ из программы (8) заменпть равносильной ему серией приказов вида (4).
. Нам задана пара чисел
Рассмотрим приказ i: wi0 j i i*
(2я -Зь, г), кодирующая некоторую конфигурацию (5) машины £. В соответствии с формулой (7) мы должны прежде всего узнать, четно а илп нет. Для этого пишем серию приказов
i
: 4 i.l
i.2 , 1.1:
i
, i.2
2 i.3 i.4 .
В результате этих приказов пара (2“-Зь, i) преобразу-етсяв пару (Зь-5<а-1^2, г.З), еслиа нечетно, пвпару (Зь-5“/2, г.4), еслп а четно. В первом случае нам надо далее перейти к паре (2а-Зь, i*). Очевидно, мы достигнем этого
§ 14. НОРМАЛЬНЫЕ И ОПЕРАТОРНЫЕ АЛГОРИТМЫ
297
приказами
i.3:
:5 i.5 i.6 , i.5: х 4 i.3 ,
i.6: x 2 i*
Во втором случае нам надо от пары (Зь- 5а^3, iA) перейти к паре (2е-За, у), которая кодирует машинное слово J1, непосредственно следующее за J. Чтобы найти J1, надо обратиться к программе машины £. Так как обозреваемая ячейка ао находится в состоянии 0, то рассматриваем ту из команд
qfi Язв, qfi -> qjL, qfi -> qfi,
которая содержится в программе £. Пусть, например, это команда qfi —> qjR. Тогда
l'1 = bTbT_r . . . boOqjay . . . as
и кодирующей парой является пара (2а/2-32Ь, у).
Чтобы перейти к этой паре от пары (Зь-5а^, i.4), пи-
шем приказы
i.4: :5 i.7 1.8
i.l-. х2 i.4
в результате которых из пары (Зь-5а/2, i.4) получим пару (2а/2.Зь, i.8). Приказами
i.8:
переводим пару приказами
i.10:
:3 i.9 i.10 , (2а/2-Зь, i.8) в
i.9: х 5 i.8
пару (2a''2-5i>, i.10). Затем
:5 i.ll у
i.ll: x 9 i.10
переводим пару (2“i2 • 5Ь, i.10) в требуемую пару (2a/2 • 32Ь, у).
Итак, мы указали, как построить серию новых приказов i, i.l, . . ., i.ll, равносильную старому приказу г, в случае, когда машина £ выполняет команду goO—> qjR. Ясно, что тем же способом соответствующие серпи приказов можно построить п в тех случаях, когда машина £ вместо команды qfl —> q^R выполняет команду qfi —> q^L пли команду qfi —> qje.
Наконец, тем же способом строится и серия новых приказов, заменяющая старый приказ с номером i*.
298
ГЛ. VI. ВАРИАНТ?,I МАШИН И АЛГОРИТМОВ
Среди новых приказ в все еще встречаются приказы, имеющие не тот вид, который требуется теоремой 2. Но от этого недостатка легко избавиться. Например, приказ
Т:
а равносилен паре приказов
имеющим уже стандартную форму, требуемую теоремой 2. То же относится и к приказам
X 4 а
:3 а Р .
После всех указанных замен у нас получится операторный алгоритм В, программа которого состоит из приказов вида, требуемого теоремой 2. Из построения видно, что новый алгоритм В обладает тем же основным свойством, что и алгоритм А, а именно, если машина £ из какой-нибудь начальной конфигурации (9) переходит через конечное число тактов работы в заключительную конфигурацию (10), то алгоритм В перерабатывает число 2а-Зь в число 2е-3d.
Пусть теперь нам задана какая-нибудь частично рекурсивная функция / (х). В соответствии с п. 12.3 строим машину Тьюринга £, имеющую внешний алфавит {0, 1} и перерабатывающую машинное слово cfrOl^ в слово qoOlf(x). Обозначим через В операторный алгоритм, отвечающий машине £ и имеющий программу вида (4). Так как упомянутые машинные слова кодируются парами
(22х+1-2, j),	0),
то алгоритм В перерабатывает чпсло] 22Хт1-2 в число 22.г(х)-1-2_ д.|Ь1 сначала изменим алгоритм В так, чтобы он _ лох ,L Qoffx) переводил 2- в 2-
§ 14. НОРМАЛЬНЫЕ И ОПЕРАТОРНЫЕ АЛГОРИТМЫ
299
Легко видеть, что алгоритм С, имеющий программу
1:	:2 2 3
2:	хЗ 1
3:	:3 4] 5
4: х 4 3 , 5:
:4 О
перерабатывает число 22’х в число 2-г+1~2, а алгоритм D, имеющий программу!
, 2: :4 3 4 , 3:
ХЗ 2
1: х 4 2
4: :3 5 О
J5: X 2 4
перерабатывает 223с+1-2 в 22Ж. Таким, образом, алгоритм CBD перерабатывает 22Х в 22/(х).
Нам остается построить программы алгоритмов, пере-рабатыв. ющих 2х в 22Х и соответственно 22Х в 2х. Приказы
1: :2 2 3
2: х 5 1,3: х 2 4
переведут пару (2х, 1) в пару (2-5х, 4), а приказы
4:
:5 5 0 , 5: :2
7: :3 8 4
6 7,6: X 3 5
8: х4 7
переведут (2-5х‘, 4) сначала в пару’(22-5ж-1, 4), затем в пару (22* - б*-2, 4) и через х циклов] получим] требуемую пару (22Х, 0).
G другой стороны, еслп задана пара (22Ж, 1), то приказы
переведут
2: х 20 3
4: х 3 3
6: х 2 5
(З2'х х-5, 5), а приказы]
300
ГЛ. VI. ВАРИАНТЫ МАШИН И АЛГОРИТМОВ
переведут пару (З2’х 1-5, 5) в пару (22Х 1-5, 1). Применяя к последней паре снова весь цикл преобразований 1—6, получим пару (22Х~2-52, 1) и т. д. После исчерпания всех четверок мы получим пару (2 -5х, 7), которую приказы
7:
:5 8 9 , 8:
Х2 7 , 9: :2 0
переработают в окончательную пару {2х, 0).
Итак, преобразуя сначала 2х в 22Х, затем 22Х в 22^ж) и, наконец, 22/(к) в 2f(x\ получим операторный алгоритм с программой вида (4), преобразующий 2х в-21^.
Теорема 2 доказана. Указанное в ней кодирование значений х и f (х) в виде 2х и 2^х> в каком-то смысле неизбежно, так как, например, Барздинь [1 ] показал, что невозможен операторный алгоритм с программой вида (4), который бы перерабатывал х в х2. Поэтому, если мы хотим иметь операторные алгоритмы, перерабатывающие х в f {х) для любой частично рекурсивной функции /, то к списку приказов (4) мы должны присоединить приказы иного вида. В частности, из теоремы 2 непосредственно вытекает, что для каждой частично рекурсивной функции / (ж) существует операторный алгоритм, перерабатывающий xef (х), программа которого состоит лишь из приказов вида (4) и приказов 2х
В. самом деле, согласно теореме 2 существует алгоритм, перерабатывающий 2х в 2^х) и имеющий программу
ех0 а .
а
0: стоп
состоящую из приказов вида (4). Тогда цепочка приказов
О': стоп , Г: 2х 1 , 1:

0: ех0 0'
будет перерабатывать х в / {х).
Понятие операторного алгорптма легко обобщить. Напрпмер, можно рассматривать приказы вида
Ф
w
Ф
§ 14. НОРМАЛЬНЫЕ И ОПЕРАТОРНЫЕ АЛГОРИТМЫ
301
означающие, что, исходя из заданного числа х, следует найти w (х) и затем перейти к выполнению над числом w (х) приказа с номером ср (х), если w (х) определено, и перейти к выполнению над х приказа с номером ф (х), если w (ж) не определено. Однако при всех этих обобщениях легко доказывается, что класс вычислимых функций остается совпадающим с классом частично рекурсивных функций.
Весьма интересный класс алгоритмов, перерабатывающих графы, был определен и исследован Колмогоровым и Успенским [1]. Как пишут авторы, эти алгоритмы были получены при попытке воспроизвести в абстрактном определении наибольшее число черт, присущих работе вычислителя, действующего согласно заданной ему программе. Класс функций, вычислимых при помощи алгоритмов Колмогорова — Успенского, оказался снова совпадающим с классом всех частично рекурсивных функций.
Дополнения и примеры
1.	В п. 14.2 отмечено, что каждая словарная частично рекурсивная функция F (х), заданная в алфавите А, вычислима при помощи нормального алгоритма в подходящем расширении алфавита А. Показать, что F (х) вычислима посредством нормального алгоритма уже в алфавите {<z0, А}, отличающемся от А лишь одной дополнительной буквой а0, а0 А (М а р к о в [2], Нагорный [1]).
2.	Невозможно задать нормальный алгорптм в алфавите А, который перерабатывает произвольное слово х в алфавите А в его удвоение XX (Нагорный [1]).
3.	Какие функции вычислимы операторными алгоритмами, программы которых содержат лпшь приказы впда
4-1 а
-1аР
и стоп-прпказ?
4.	Согласно теореме 2 пз п. 14.2 для каждой частично рекурсивной функции / (ж) существует операторный алгорптм, перерабатывающий 2х в 2 причем программа этого алгоритма состоит лишь пз приказов указанного в теореме частного впда. Показать, что ни одпн алгорптм этого тппа не может перерабатывать х в z2 (Барздинь [1]).
5.	Показать, что каждая частично рекурсивная функция вычислима посредством операторного алгоритма, программа которого состоит пз приказов впда
+1 | a
Хс a
:с a ₽
q а
где q (z) = х — [j/z]2, и стоп-прпказа.
302	ГЛ. VI. ВАРИАНТЫ МАШИН И АЛГОРИТМОВ
§ 15. Многоленточные машины и ТАГ-системы
машинах, в точности совпадает
В отличие от изучавшихся выше машин Тьюринга с одной лентой в данном параграфе будут введены машины Тьюринга, имеющие несколько лент. Легко доказывается, что класс функций, вычислимых на многоленточных с классом рекурсивных ф ункций. Это — новое подтверждение тезиса Чёрча. Среди многоленточных машин интересный класс образуют машины, не меняющие состояния ячеек лент. Элементы теории этих машин излагаются в первой половине данного параграфа.
Во второй половине параграфа изучаются свойства еще одного специального класса алгоритмов, введенного Постом под именем систем продукций. Показывается, что даже особым образом определенных однородных систем продукций достаточно, чтобы при помощи их можно было вычислять значения любой частично рекурсивной функции.
15.1. Общие многоленточные машины, /г-ленточная машина Тьюринга состоит из механического устройства (автомата) Ап & лент, разбитых на ячейки (рис. 3). Каждая ячейка может находиться в одном из фиксированного конечного множества состояний. Эти возможные состояния условимся обозначать символами ао, ах, . . ., ат, совокупность которых будем называть внешним алфавитом машины. Клетки в состоянии ао, как и ранее, будут называться пустыми. По предположению, автомат А в каждый момент времени находится в одном из конечного множества состояний qo, qx, . . ., qn. Состояния qlf qo называются соответственно начальным и заключительным. Машина работает в дискретном времени, так что можно говорить о «состоянии машины», «состоянии автомата», «состояниях ячеек лент» в момент t .= 0, в момент t = 1 и т. д. Предполагается, что в каждый момент временп машина «обозревает» одну ячейку каждой ленты. По опре
§ 15. МЛГ1 J-ПЕНТОЧНЫЕ МАШИНЫ
303
делению состояние (конфигурация) машины считается заданным, если известны состояние qt, в котором находится автомат А, состояния, всех ячеек всех лент ие указаны ячейки, воспринимаемые машиной. Таким образом, конфигурация машины вполне описывается системой к машинных слов вида
. • • «,ls<7,«,ls+1 • • • «,1Р 	 (1) аЙ1 • • •	• • • аЙ.'В
— но одному слову для каждой ленты.
В зависимости от внутреннего состояния qt автомата А и состояний	обозреваемых в данный мо-
мент ячеек машина £ переходит в следующую конфигурацию посредством таких действий: а) заменяет состояние каждой воспринимаемой ячейки новым состоянием (которое может совпадать и со старым); б) каждую ленту передвигает на одну ячейку влево, вправо или оставляет неподвижной; в) переводит внутреннее состояние д, автомата Л в новое состояние qj. Считается, что если автомат А в какой-то момент времени приходит в заключительное состояние qo, то машина 2 останавливается и в последующие моменты времени конфигурация машины не меняется.
Говорят, что машина £ выполняет (или может выполнять) команду
Л -Ча- • • -a&kTvk (Ть • • •>	=	°> 4)>
1(2) еслп, находясь во внутреннем состоянии qt и воспринимая ячейки в состояниях «И1, . . ., аа?., машина £ заменяет qt на qj и указанные состояния состояниями «р,	«р;.,
после чего сдвигает ленты’соответственно в направлениях ТУ1, . . ., ТУк (T-r, Т1г То означают соответственно сдвиг на одну ячейку влево, вправо и оставленпе лен неподвижной). Как и в случае одноленточных машин, предполагается, что в необходимых случаях машина может перед сдвигамп надстраивать ленты пустыми ячейкамп.
Задать программу машпны £ — это значит для каждого слова
Qida, • • • Яак (j = 1, . . П] an . . ак = 0, 1, . . ., т) задать какую-нибудь команду вида (2).
304
ГЛ. VI. ВАРИАНТЫ МАШИН И АЛГОРИТМОВ
Ясно, что, зная программу машины S, мы можем путем серии указанных операций для любой конфигурации (1) машины % в заданный момент времени вычислить ее конфигурацию в любой из последующих моментов времени. Иначе говоря, каждая А-ленточная машина Тьюринга определяет алгоритм для переработки систем машинных слов вида (1).
Пусть / (а?!, . . ., xs) — какая-нибудь частичная функция от з переменных. Говорят, что / нормально вычислима на (з + Л’)'ленточн°й машине Тьюринга £ с внешним алфавитом {0, 1, а2, . . ., ат}, если для любых натуральных пг, . . ., ns машина X, начав работать в конфигурации
. . ., 10 s 1q10, ^1, . . ., gyl (10-1ра = gla), по истечении конечного времени перейдет в конфигурацию
10,(п*.n«)-1 доО ... 0, д0 Ю ... 0, . . ., д0Ю ... 0
при условии, что / (?г1г . . ., ns) определено, и будет работать вечно, т. е. не переходя во внутреннее состояние q0, в противном случае. При этом, как и в случае одноленточных машин, можно предполагать, что в продолжение всей работы машина не надстраивает ячеек слева ни на одной ленте.
Теорема 1. Для того чтобы частичная функция / (а;1, . . ., xs) была вычислима на (s + к)-ленточной машине Тыорйнга с внешним алфавитом {0, 1, а2, . . ., ат} (т — любое натуральное число), необходимо и достаточно, чтобы f была частично рекурсивной.
Мы не будем излагать подробное доказательство этой теоремы. Заметим лишь, что вычислимость частично рекурсивных функций на (з + А)-ленточной машине есть прямое следствие вычислимости этих функций на одноленточной машине, а обратное утверждение есть непосредственное следствие теоремы о частичной рекурсивности функций, вычислимых при помощи нормальных алгоритмов (п. 14.2).
15.2. Машины Минского. Способность менять состояния ячеек ленты — существенная черта машин Тьюрпн-га. Однако для многоленточных машин эта способность перестает быть необходимой. А именно, Л е м б е к [1] показал, что каждая частично рекурсивная функция вычислима на машине с достаточным числом лент так, что машина не меняет состояния ячеек лент и не надстраивает левых ячеек. Почти одновременно Минский [1] по
§ 15. МНОГОЛЕНТОЧНЫЕ МАШИНЫ
305
казал, что это же могут делать и двухленточные машины, не изменяющие состояния ячеек и не надстраивающие ячеек слева, при условии, что значения аргумента и функции кодируются степенями двойки так, как это делалось в теореме 2 п. 14.3.
Многоленточные машины Тыорйнга, у которых ленты слева не надстраиваются, все ячейки лент, за исключением самых левых, всегда пусты, а состояния самых левых ячеек постоянны, мы будем называть машинами Минского. Внешний алфавит этих машин предполагается состоящим из символов 0, 1, причем 0 — символ пустого состояния, а все самые левые клетки находятся в состоянии 1.
Для полного описания машины Минского достаточно указать совокупность всех ее внутренних состояний и программу машины, т. е. совокупность команд вида
. as —> УаТ	... Т as
(i = 1, . . ., п; ах = 0, 1; а = 0, 1, . . ., п", ах = 0, 1, —1),
(1)
которые способна выполнять данная .машина. Так как 1 есть состояние самой левой ячейки, то в командах (1) пз ах = 1 должно следовать неравенство
—1.	(2)
Этим условием и ограничивается произвол в задании команд (1).
Теорема 1. Для каждой частично рекурсивной функции / (т) существует трехленточная машина Минского, вычисляющая эту функцию, т. е. переходящая из конфигурации 10х“1д10, уД, уД в конфигурацию IQ/M-i q0Q^ qoi, qol, если f (х) определено, и работающая вечно, если / (х) не определено.
Условимся изображать четверкой чпсел (а, Ъ, с, i) ту конфигурацию трехленточной машпны Минского, которая характеризуется машинными словами КГ'^О, 10°“1(7i0, 10е-1?;0. Напомним, что 10-1рг0 есть слово уДО. Таким образом, чпела а, Ь, с равняются просто длинам концов лент, находящихся слева от воспринимаемых машпной ячеек, a i — номер (пли символ) внутреннего состояния машпны.
Согласно теореме 2 пз п. 14.3 существует операторный алгоритм А, перерабатывающий 2х в п имеющий
11 А. ТГ. Мальцев
306
ГЛ. VI. ВАРИАНТЫ МАШИН И АЛГОРИТМОВ
программу вида
0: стоп , 1:	at ₽1 ,
/I-	Рп
(2)
где £г означает одну из операций х2, ХЗ, Х5,: 30. Все эти операции перерабатывают числа вида 2аЗь5с в числа того же вида. Поэтому, начиная перерабатывать число 2х по программе (2), мы после к-то шага вычислений получим (см. п. 14.3) пару вида (2“-Зь-5с, г), где 2а-Зь-5с — полученное в этот момент число, a i — номер приказа в программа (2), который следует далее выполнять над числом 2а-Зь-5с.
С парой (2а-Зь-5с, i) сопоставляем конфигурацию (а, Ь, с; г) трехленточной машины Минского, имеющей внутренние состояния qo, qr, . . ., qn. Нам остается подобрать программу (1) машины М так, чтобы выполнялось условие: если алгоритм А переводит пару (2a-3fc-5c, i) в пару (2U-3”»5W, j), то машина М должна переходить из конфигурации (a, b, с; i) в конфигурацию (и, и, и>', ]).
Эта цель, очевидно, будет достигнута, если мы поступим следующим образом:
а)	Если t,i = : 30, то вносим в программу М команды
ЯгООО q^T^, qiabc -> У(цТоТоТо (а + & + с 0).
б)	Если = х2, то в программу М вносим команды q^ihc —> ра.7'_17’о7’о (а, Ь, с = 0, 1).
в)	Если = X 3, то вносим команды qiabc -» qa/ГоТ^Тц.
г)	Еслп t,i = X 5, то вносим команды
qiabc —> q^.TоТоТ-Y.
Так как алгоритм А перерабатывает пару (2х, 1) в пару (2'<х\ 0), то машина М с командами а) — г) из конфигурации (я, 0, 0; 1) переходит в конфигурацию (/ (х), 0, 0; 0), что и требовалось.
Рассмотрим теперь более детально двухленточные машины Минского. Пусть qo, . . ., qn — внутренние состояния какой-нибудь двухленточной машины Минского М. Тогда для полного задания машины М достаточно
§ 15. МНОГОЛЕНТОЧНЫЕ МАШИНЫ
307
задать ее программу, состоящую из команд вида
q^ab > даТу,
удовлетворяющих условию (2).
Далеко не все частично рекурсивные функции вычислимы на двухленточных машинах Минского в указанном выше смысле. Например, не существует двухленточной машины Минского, перерабатывающей а; в а;2 (см. Б а р-з д и н ь [1]). Тем не менее, если значения аргумента и
функции кодировать степенями двойки, то вычислимость частично рекурсивных функций восстанавливается.
Теорема 2 (Минский [1]). Для каждой частично рекурсивной функции f(x) существует двухленточная машина Минского, кото-
70 ff
рая для любого натурального	рис 4
х перерабатывает число 2х
в число 2/<к\ если / (х) опре-
делено, и работает безостановочно, не переходя в заключительное внутреннее состояние да, если / (а;) не определено.
Для краткости условимся тройкой (а, Ъ, д;) обозначать ту конфигурацию машины Минского, при которой дг — внутреннее состояние машины, а а, b — уа.сстоя.н'ш. от воспринимаемых машиной ячеек до левых концов первой и соответственно второй лент. Например, (0, 2; дг) есть конфигурация, определенная машинными словами gti, 10(^0 и изображенная на рис. 4. Формулой (a, b', gt) |— (с, d; Qj) будем обозначать утверждение, что машина, начав работать в конфигурации (а, Ь; д^, через конечное число тактов работы приобретет конфигурацию (с, d; дД Если машина из конфигурации (а, Ъ\ д^ непосредственно переходит в конфигурацию (с, d', дД то пишем
(a, b; д^ (с, d; дД
(3)
Как уже говорилось, задать машину Мпнского — это значит указать ее программу. Однако вместо того, чтобы указывать команды, составляющие программу машины, мы будем писать преобразования (3), выполняемые машиной. При этом следует иметь в виду такпе обстоятельства. Пусть, например, указывается, что машпна выполняет
11*
308	ГЛ. VI. ВАРИАНТЫ МАШИН Й АЛГОРИТМОВ
преобразование
(2, 5;g;)->(l,6;gy).	(4)
Отсюда следует, что машина выполняет команду
9;00 —> QjT^T-!
и потому для любых положительных а, b
(a, b; qt) —> (а — 1, Ъ + 1; ^).	(5)
В то же время наличие в программе машины преобразования (4) еще ничего не говорит о том, во что перейдут конфигурация (0, b; qi) или конфигурации (Ь, 0; q^, (0, 0; q^, где b 0. Поэтому, присоединив к программе машины преобразование (4), мы не можем присоединять к программе преобразования, противоречащие преобразованиям (5), но все еще можем по произволу присоединить преобразования
(0, Ь; д;) -> (н, у; qa) (и = 0, 1; v = b, Ъ + 1),
(6, 0; qt) —> (и15 де) = 0, 1; щ = Ь, Ъ + 1),
(0, 0; qi) -> (u2, у2; qv) (и2, и2 = 0, 1).
Нам надо для каждой частично рекурсивной функции / (х) указать программу машины Минского, перерабатывающей 2х в 2^x). Нижеследующая лемма сводит эту задачу к двум простым частным случаям.
Л е м м а 1. Пусть операторный алгоритм А с программой
0: стоп , 1:
Ci ai Pi
• •,L «s ₽s (6)
вычисляет функцию g (х) и пусть для некоторой машины Минского М с внутренними состояниями до, д1? . . ., gs, Qn,   , Qsi (i = 1, 2, . . .) имеем
(z, 0; qt) I—	(z), 0; gai), если (z) определено,	(7)
(z, 0; g,) [—• (zi 0; Q$i), если ti (z) не определено.	(8)
Тогда машина М вычисляет ту же функцию g (х), что и алгоритм А.
В самом деле, пусть, начиная с заданного числа х, алгорптм А после т шагов дает чпсло хт п указание выполнять прпказ с номером I. Покажем, что в этом случае
(а.-, 0; дх) |— (хт, 0; i).
§15. МНОГОЛЕНТОЧНЫЕ МАШИНЫ	309
Для т = 0 это утверждение тривиально. Пусть оно верно для какого-нибудь пг. Если (хт) определено, то алгоритм А после (т + 1)-го шага дает число (хт) и указание выполнять приказ с номером аг. Но в этом случае
(%т, 0, Qi) |	(£; (З-т), ?ccj)
п потому
(х, 0; qj Н Сг fe), 0; ga.).
Аналогично доказывается это соотношение и в случае, когда t,i (хт) не определено.
Пусть теперь алгоритм А перерабатывает число х в число у. Это значит, что через какое-то число шагов т алгоритм А дает число у и указание выполнять приказ с номером 0. По доказанному
(ж, 0; qj Н- (у, 0; qo),
т. е. машина М перерабатывает х ъ у.
Если, начиная с х, алгоритм А работает вечно, то получаем бесконечную последовательность
(ж, 0; &) 1- (^, 0; qtl)
показывающую, что машина М в этом случае также работает вечно.
Перейдем к доказательству основной теоремы. Пусть f (х) — заданная частично рекурсивная функция. Согласно теореме 2 из п. 14.3 существует операторный алгоритм А, перерабатывающий 2х в 2^х\ программа которого имеет вид (6), где i-й приказ есть или
i: X с а (с~ 2, 3, 5),	(9)
пли
г: :с a |3 (с = 30).	(10)
Пусть М — машина Минского с внутренними состояниями qo, qr, . . ., qn, каждое пз которых соответствует определенному приказу программы (6), и дополнительными состояниями qtj (i = 1, . . .; у = 0, 1, . . .), точное чпсло которых будет указано ниже. Нам надо найтп такую программу для машины М, чтобы были выполнены условия (7), (8) леммы 1. Рассмотрим какое-нибудь i, 1 <1 i -С $.
310
ГЛ. VI. ВАРИАНТЫ МАШИН И АЛГОРИТМОВ
Пусть i-й приказ в программе (6) имеет вид (9). Постараемся написать такую серию команд для машины М, содержащих лишь внутренние состояния qit qi0, . . qic, qa, в результате которой условие (7) для этого i будет выполнено. Пусть а 0. Вносим в программу машины М следующую серию преобразований:
(а, 0; qt) -> (а, 1; qtl)
-> (а, 2; qi2)	(а, с; qic) -> (а — 1, с; дг) (11)
и дополняем ее еще преобразованием
(а, 1; qt) -> (а, 2; qil).	(12)
Тогда, если в серии (11) а — 1 )> 0, то в силу команд, отвечающих преобразованиям (И), (12), конфигурация (а — 1, с; qt) далее будет меняться следующим образом: (а — 1, с; qt) (а — 1, с + 1; qti) .
. . (а — 1, 2с; qic) -> (а — 2, 2с; qt) —> (а — 2, 2с 4- 1; qtl)	(0, ас; qt).
Чтобы переставить числа 0 и ас, дополняем программу преобразованиями
(0, ас; qt) -> (1, ас — 1; qi0) -> (2, ас — 2; qi0) .
. . . (ас, 0; qi0) -> (ас, 0; qa). (13)
В результате условий (И) — (13) для машины М будет гарантировано свойство
(а, 0; qt) |— (са, 0; qa) (а > 0).	(14)
Чтобы гарантировать свойство (14) и для а = 0, внесем в программу М преобразование
(0, 0; qt) -> (0, 0; qa).	(15)
Итак, внося в программу машины М команды (11) — (13), (15) для тех i, для которых i-й приказ программы А имеет вид (9), мы обеспечим для этих значений i выполнение условия (7) из леммы 1.
Теперь рассмотрим более сложный случай, когда i-й приказ имеет впд (10). Прежде всего в программу машины М вносим команды, отвечающие для я с, у 0 следующей серпи преобразований:
(ж, у; qt) -> (х - 1, у + 1; ?г1) -> (х - 2, у + 1; qi2) -> (х — с, у + 1; qic)-+ (х - с, у + 1; уг), (16)
§ 15. МНОГОЛЕНТОЧНЫЕ МАШИНЫ	311
и команды, отвечающие преобразованиям (13) и (14). Вследствие команд (16) для х с, у 0 имеем
(ж, У, ?г) Н (х — с, у + 1; qi)
и, значит,
(х, 0; qi) I— (0, х : с; ?г),
если х делится на с. Так как из (16), (13), (14) вытекает (0, х : с; (х : с, 0; qa), то
(х, 0; qi) |— (х: с, 0; qa), если х : с определено.
Пусть теперь а: не делится на с, х — cz -j- г, 0 < г < с. В силу (16)
. (®, 0; qt) I— (г, z; qt) (0, z + 1; qir).
Нам надо теперь от конфигурации (0, z + 1; qir) перейти к конфигурации (х, 0; q$). Поэтому к программе М добавляем преобразования (z = 1, 2, . . г = 1, . . ., с — 1) (0, z + 1; qlr) -> (1, г; ?ы)	(с, z; qlrc) ->
(с + 1, z - 1; gZrl), (17)
в силу которых
(0, z + 1; qir) |— (си + 1, 0; qirl).
Наконец, добавляя в программу преобразования (cz + 1, 0; qirl) -> (cz + 2, 0; qir2) -> . . .
. . . -> (cz -j- r, 0; qirr) -> (cz + r, 0; q$), (18) получим
(ж, 0; qt) f— (x, 0; q$), если x : с не определено.
Мы видим, что машина Минского с программой, построенной согласно правилам (11) — (13), (15) — (18), удовлетворяет условиям леммы 1, что и требовалось.
Так же, как и для одноленточных машин Тьюринга (п. 12.5), для машпн Минского естественно формулируются следующие две проблемы.
1) Проблема остановки. Задана машина Минского М (своей программой). Указать алгоритм, распознающий те конфигурации (а, Ь; уг), начиная с которых машина останавливается через конечное число тактов работы.
312
ГЛ. VI. ВАРИАНТЫ МАШИН И АЛГОРИТМОВ
2) Проблема конфигураций. Цана машина Минского М. Указать алгоритм, позволяющий узнать для любой заданной конфигурации (х, 0; q0), существует ли начальная конфигурация (а, 0; уф), которая через конечное число тактов работы переходит в конфигурацию (х, 0; q0).
Обе проблемы решаются отрицательно. В самом деле, пусть / (х) — частично рекурсивная функция, область определения которой не рекурсивна. Строим двухленточную машину Минского М, перерабатывающую 2х в 2^*) . Если бы существовал алгоритм, решающий проблему остановки машины М, то этот алгоритм решал бы и проблему вхождения числа х в область определения функции / (ж), так как х входит в область определения / тогда и только тогда, когда машина М, начиная работать в конфигурации (2х, 0; <h), останавливается через конечное число тактов работы.
Аналогично, пусть / (х) — примитивно рекурсивная функция, совокупность значений которой не рекурсивна. Строим двухленточную машину Минского М, перерабатывающую 2х в 2f<x\ Как и выше, легко убеждаемся, что для М не разрешима проблема конфигураций.
При доказательстве теоремы 2 мы пользовались теоремой 2 из п. 14.3 о том, что для каждой частично рекурсивной функции / (х) существует операторный алгоритм, перерабатывающий 2х в 2й-г’), программа которого состоит лишь из приказов вида
: 30	а	р		X с	а	(с = 2, 3, 5).
В свою очередь, с помощью теоремы 2 можно еще со-
кратить этот список приказов, правда, усложнив кодирование. Покажем, что имеет место
Теорема 3 (Минский [1]). Для каждой частично рекурсивной функции / (х) существует операторный алгоритм, перерабатывающий 2~' в 22'(’г), программа которого состоит лишь из приказов вида
X 2 а
: 6 а р
Пусть М — двухленточная машпна Минского с внутренними состояниями q0, qi, . . ., qn, переходящая пз конфигурации (2х, 0; (Д) в конфигурацию (2/<л), 0; q0), еслп у (х) определено, п работающая вечно в противном случае.
§ 15. МНОГОЛЕНТОЧНЫЕ МАШИНЫ
313
Машина М может двигать одновременно или обе ленты, или только одну. Покажем сначала, что М можно заменить такой машиной М', которая при каждом такте работы непременно либо двигает обе ленты на 1 шаг вправо, либо двигает только одну ленту (1-ю или 2-ю) на 1 шаг влево. Действительно, пусть (1) — программа машины М. Если эта программа содержит приказ
^00-^ЗаЛ^-!,	(19)
то вводим дополнительные внутренние состояния дг1, qti и вместо приказа (19) пишем приказы
qtOO —>-
д^аЬ-^ д^ТоТ^ (а, 6 = 0, 1),	(20)
gtvflb ~* д&То^-р
Аналогично поступаем и с другими приказами из программы (1). Ясно, что новая машина М' с внутренними состояниями gt, дц и приказами вида (20) будет по-прежнему из конфигурации (2х, 0; дг) переходить в конфигурацию (2/(х\ 0; д0) и в то же время будет сдвигать ленты в соответствии с наложенными требованиями. Обозначим внутренние состояния машины М' через q0, д^, . . дп, qn+1, . . ., д.<. Программа машины М' — это совокупность команд вида
q№^gaiRy. = 0, -1, 1),
^10->
?f01 ->	(%n Hi, V; = 0, Д 1 = 1,..., 3),	(21)
^•ll->^2?Vi,
где Я_1 означает сдвиг обеих лент вправо, 7?0 — сдвиг влево 1-й ленты, Rr — сдвиг влево 2-й ленты.
Условимся конфигурацию (а, 6; gf) изображать парой (2'1-Зь, 5i). Тогда сдвпг обеих лент вправо будет влечь деление первого числа пары на 6, а сдвпг одной пз лент влево будет влечь умножение этого числа на 2 пли 3. Исходя пз программы (21), легко сразу написать и программу операторного алгорптма А, который число 2'1-Зй п указание i перерабатывает в чпело 2е-3d п указание /, если машпна М' пз конфигурации (2'! • 3й, д^ переходит непосредственно в конфигурацию (2е‘3d, qj). Для этого часть приказов алгорптма А занумеруем чпеламп 0, 1, . . з, а часть — парамп чисел if и далее поступим следующим способом. Берем для какого-нибудь i четверку команд (21)
314
Гл. VI. ВАРИАНТЫ МАШИН И АЛГОРИТМОВ
из программы машины М' и пусть хг = —1. Чтобы из числа 22-Зь с помощью команд (21) получить число 2: - 3d, надо узнать, нет ли среди чисел д, Ъ нулей. Для этого делим 2а-Зь на 6. Если делится без остатка, то согласно первой команде четверки (21) частное и будет требуемым числом. Если 2'-3й на 6 не делится, то среди чисел д, Ъ есть равное 0 и потому надо воспользоваться одной из последующих команд системы (21). Итак, в программу алгоритма А вносим приказ
г. : 6 af i.O ,	(22)
который дает требуемую пару (2е-3d, pa.), если 2х -Зь делится на 6, и отсылает к приказу i. О, если 2“-Зь на 6 не делится. Если в последнем случае число 2а-3ь-3 делится на 6, то а )> О, Ъ = 0 и мы должны воспользоваться второй из команд (21). В соответствии с этим в программу А
вносим приказы
i.O:	X 3	i.l	, i.l:	:6	i.2		i.4	
								123)
i.2:	X 2	i.3	, i.3:	X Pki		Pi	(Po = 2, pi = 3),	
дающие искомую пару (2е-3d, pg.), если а )> 0, и дающие пару (2“-Зь+1, i.4) в противном случае. Приказы
i.4:	X 2	i.5	, i.5:	:6	i.6
(24)
переводят пару (2a-36+1, i.4) в пару (2“-36, i.6), где а — = 0. Если Ъ 0, то должны воспользоваться 3-й из команд (21) и потому в программу А добавляем приказы
i.6:	X2	i.l	, i.l:	:6	i.8	i.10 ,
i.8:	X 3	i.9	, i.9:	X PUi	Yi	(26)
приводящие при b^> Ок паре (2е-3d, p7) и при b — 0 к nape (2a+1, i.10). Наконец, приказы						
i.10: x 3	i.ll	, i.ll: 1 :6		i.12	, i.12: x p-Vj 6t	
(26) и для случая а = b = 0 дадут требуемую пару (2е-3d, р7-).
§ 15. МНОГОЛЕНТОЧНЫЕ МАШИНЫ	315
Аналогичным путем пишутся приказы (22) — (26) и для хг = 0, 1. Объединяя приказы, построенные указанным образом для t = 1, 2, ...,$, и присоединяя к ним начальный стоп-приказ, получим программу операторного алгоритма А, имеющую требуемый теоремой 3 вид. По условию машина М из конфигурации (2К, 0; щ) преобразуется в конфигурацию (2^к>, 0; q0) или в новом кодировании из конфигурации (22Х, qT) преобразуется в конфигурацию (22,(х\ q0). Отсюда следует, что алгоритм А с программой, построенной по правилам (22) — (26), перерабатывает число 22Х в число 22/(х).
15.3.	Однородные продукции. ТАГ-еистемы. В п. 14.1 было введено понятие системы продукций, определяемой алфавитом С = = {cj, са, . . ., ст] и системой базисных продукций
azW^ Wbi (i = i, . . ., s).	(P)
Чтобы при помощи этой системы Р определить понятие Р-вы-числимых частичных числовых функций, надо каким-то образом кодировать числа в алфавите С. Мы примем такое соглашение. Пусть алфавит С системы Р содержит символы а0, alt Ао, Alt Во, Bi и произвольное число других символов. Фиксируем, кроме того, еще произвольное натуральное положительное число w и будем произвольное натуральное число х кодировать словом А^В^1. Будем говорить, что частичная числовая функция / (ж) вычисляется системой продукций Р, если система Р перерабатывает слово 4ja“j3“-1 в слово Аоа^Вд~1 для тех х, для которых / (х) определено, и система Р без конца преобразует слово	для тех х, для кото-
рых f (х) не определено.
Из результатов п. 14.2 непосредственно следует, что каждая частичная числовая функция, вычислимая какой-либо системой продукции, необходимо частично рекурсивна. Из тех же результатов нетрудно было бы вывести и обратное утверждение. Однако вместо этого мы хотим здесь доказать более тонкую теорему, касающуюся вычислимости числовых функций при помощи систем продукции, имеющих специальный вид.
По определению, однородная система продукций (или ТАГ-си-стема) Т задается своим алфавитом С = {а1т а2, . . ., ат}, положительным натуральным числом w, называющимся шагом системы, и особыми элементарными преобразованиями!
w	w	w
а2->Ь2,..., ат^Ът,	(Т)
где Ьх, . . ., 6,п — какие-нибудь слова в алфавите С.
Т-продукцией над каким-нибудь словом у, записанным в алфавите С, называется следующий процесс: в последовательности (Т) шцем слово Ь,, отвечающее начальной букве а, слова у. Затем отбрасываем в у первые w букв и к остатку справа приписываем слово bt. Еслп длина словах меньше w, то Г-продукция называется невыполнимой над у или неприменимой к
316
ГЛ. VI. ВАРИАНТЫ МАШИН И АЛГОРИТМОВ
Однородные системы продукций можно рассматривать как обычные системы продукций впда (Р), подчиненные требованиям:
1)	все начальные слова йр . . ., as системы (Р) имеют одну и ту же длину tv\
2)	слова 6р . . ., bs в продукциях (Р) зависят лишь от начальных букв слов	as;
3)	среди слов й1, . . as системы (Р) содержится любое слово длины s над заданным алфавитом.
Чтобы однородную систему продукций, заданную шагом tv и элементарными преобразованиями (Т), записать в виде системы (Р) обычных продукций, достаточно каждое преобразование о, —» в цепочке (Т) заменить последовательностью всевозможных продукций впда ojSlVP —» Wbi, где а — произвольное слово длины tv — 1 в заданном алфавите.
В однородной системе продукций с шагом tv слова, к которым продукции не применимы, имеют длину, меньшую tv. Чтобы избавиться от этого недостатка, введем еще понятие однородной системы продукций с заключительной буквой.
Система продукций в алфавите {о0, а,, . . ., ат} называется однородной системой продукций шага tv с заключительной буквой а0, если совокупность ее продукций можно представить в виде
го . w	w
0-1—>61, «2 —> 62, • • Лт—> 6()1	(То)
(буква а0 слева не встречается), где 6р..., 6т — непустые слова в алфавите аа, а1г . . ., ат.
В отличие от однородной системы (Т) в системе (То) продукциям не поддаются не только слова длины, меньшей tv, но и все слова, начинающиеся заключительной буквой а0.
Теорема 1 (Минский [1]). Для каждой частично рекурсивной функции f (.г) существует одпородная^система продукций с заключительной буквой Ло и шагом tv, для каждого х перерабатывающая слово Aja^ В’1'-1 в слово А оа^^В“-1 при f (.г) определенном и работающая вечно при / (х) неопределенном.
Для каждой ограниченной частично рекурсивной функции j (.т) существует однородная система продукций (без заключительной буквы) шага tv > 2'^> перерабатывающая слово	в слово
2/(х) а0 •
Согласно п. 14.3 существует операторный алгоритм, перерабатывающий 2х в 2’(х) и обладающий программой впда
0: стоп ,1:	<4 Pi
s: (1)
где имеет одно из значений х 2, х 3. X 5, :30. Чпсло w = 30 примем в качестве шага искомой системы продукций. Алфавит этой системы будет состоять пз основных букв Ао, аа, Ар Яр . . ., As, as, попарно отвечающих приказам (1), п ряда дрггпх букв b;, &io, Bi, Bij, Ci (i, 7 = о, 1, . . .).
Процесс переработки заданного числа 2х посредством алгоритма (1) распадается на шаги так, что после какого-то k-ro шага получается чпсло z (промежуточный результат) п номер i приказа, который должен быть выполнен над числом z прп следующем шаге
§15. МНОГОЛЕНТОЧНЫЕ МАШИНЫ
317
вычислений. Если 1=0, то процесс вычислений обрывается и z—результат пер ера ботки 2х посредств ом алгоритма (1). С парой чисел (z, i) сопоставим слово 4jo?B“’-1 и постараемся построить систему продукций Т так, чтобы эта система преобразовывала слово ЛгД?В“-1 в слово Л7-а“В“-1, если алгоритм (1) преобразует пару (z, i) в пару (и, ))
Для каждого i (1 < i s) может быть 2 случая: = X с, : tv. Рассмотрим их отдельно.
1-й случай: 1: Хе а
Пишем следующие однородные продукции:
Ai - Bio - • • Su-1, а; - bf, В,^^, Bi0^CVAa, Ъ^аГа, C^B^, Biw_r^ b^w-»C?Aa (r = 1,	1).	(2)
Посмотрим, во что переведут эти продукции слово 4ja-B™ х. Представляя z в виде z = liv + г, 0 г tv, и предполагая, что lr =f= 0, пз (2) непосредственно получаем
Л.^В^1-, а('-1),0+г+1ВГ1Вго- • • Siw-i Н
H4+1BV’-1Bi0...Biw_1bf-1>2H
Н В' Bi0. . . B^b™ Н Biw_r. . .
Н b^™ С?Аа f- С“лаа“ Н Аа<£В”-1.
Легко убеждаемся, что полученное соотношение
верно и для случая 1г = 0.
2-й случай:!: :w а р .
Пишем продукции
Ai^Bia . . . B^ai^ bib^, bi0_a'”,	(3)
B;o -СГ',- C._B“-1, Ь^аа,
B^C?,	(r=l,...,u:-l).	(4)
Для того чтобы найти, во что эти продукции преобразуют слово /1;а|В-';-1, представим z снова в форме z = lw -j- г (0 г < tv). Согласно (3)
А^В^ Н В^... Bi№_x (bib^l.	(5)
318	ГЛ. VI. ВАРИАНТЫ МАШИН И АЛГОРИТМОВ
Дальнейший ход преобразований зависит от делимости z на w. Пусть z делится на w и, следовательно, г = 0. В этом случае согласно (4) имеем далее
н С?Аа н
Если же г > 0, то (5) продолжается следующим образом:
н	Н н «ЗГ1-
Итак, если алгоритм (1) преобразует пару (z, i) в пару (», у), то продукции (2) — (4) преобразуют слово AiafB™-1 в слово AjO^e™'1.
Наконец, для i = 0 добавляем продукцию
Во Д ао	(6)
и называем букву Ло заключительной.
Обозначим через Т однородную систему продукций с заключительной буквой Л 0, построенную для программы (1) в соответствии с правилами (2)—(4), (6). Пусть х — произвольное число. Берем слово А^^В^-1. Выполняя над ним продукции Т, мы будем сначала получать слова, начинающиеся одной из вспомогательных букв Bi, Bij, Ci, bi, bi0. Первое слово, начинающееся одной из букв Ло, А1г . . ., As, будет Aia^B^1, где число z п номер I суть результаты выполнения приказа с номером 1 над числом 2х. Выполняя над словом	продукции Т, снова получим сначала слова>
начинающиеся вспомогательными буквами, а за ними получится слово Л;о“ву-1, где пара (и, j) является результатом выполнения приказа с номером i над числом z пт. д. Если f (х) не определенно, то процесс будет длиться без конца. Если же f (х) определенно, то после конечного чпсла продукций получим слово А да^^Вд"1, отвечающее заключительной паре (2^’х),0). Так как Ло — заключительная буква в системе Г, то указанное слово будет результатом переработки начального слова посредством системы Г. Тем
самым первое утверждение теоремы доказано.
Для доказательства второго утверждения воспользуемся замечанием, сделанным в п. 14.3 по поводу теоремы 2, согласно которому в формулировке этой теоремы число 5 можно заменить любым числом р > 1, не делящимся пи на 2, нп на 3.
Пусть / (ж) — частично рекурсивная функция, значения которой не превосходят некоторого числа I. Тогда значения 2^ будут меньше чпсла р = б^1, не делящегося нп на 2, нп на 3. Согласно
упомянутому замечанию найдется операторный алгоритм, перера-
батывающий 2х в программа которого содержит лишь при-
казы вида
, где принимает значения х2, X 3, X р,: 2-3-
р. Выше показано, каким образом можно постропть однородную
систему продукций Т с заключительной буквой Ло, имеющую шаг IV = 6р п перерабатывающую слово Ага^ в слово .4
§ 15. МНОГОЛЕНТОЧНЫЕ МАШИНЫ	31g
Присоединяя к продукциям (2)—(4), (6) системы Т еще продукцию
(7) обратим Т в однородную систему продукций без заключительного элемента, которая преобразует слово А&^В™ S слово АдА^^В™-1. Но теперь последнее слово не является заключительным и согласно (7), (6) далее имеем
л „2ПН nw-i ргНх) -ш-i „зН-Н -“’о	ао ао
„	,f(x)
Поскольку длина слова а~ меньше шага продукции и>, то оно теперь и будет результатом переработки начального слова.
С каждой системой продукций Т (не обязательно однородной) Пост связал следующие две основные алгоритмические проблемы.
1) Проблема остановки. Рекурсивна или нет совокупность (5 всех тех слов, начиная с которых процесс Т-продукций обрывается через конечное число шагов!
2) Проблема выводимости. Для каждого ли слова 31 является рекурсивной совокупность ©^ всех тех слов, которые можно получить из 31 конечным числом Т-продукций!
Пост показал, что существуют такие системы продукций, для которых обе проблемы имеют отрицательное решение (см. п. 13.1). Одпако вопрос о том, существуют ли однородные системы продукций с отрицательно решаемой проблемой остановки, он оставил открытым (ТАГ-проблема). Решение этой более специальной проблемы непосредственно следует из предшествующих результатов.
Теорема 2 (Пост — Минский). Существует такая система Т однородных продукций, Для которых совокупность © тех слов, начиная с которых процесс Т-продукций обрывается, является нерекурсивным множеством.
Рассмотрим какое-нибудь рекурсивно перечислимое нерекурсивное множество натуральных чисел S и обозначим через / (х) функцию, равную 0 в точках 8 и не определенную вне S. Функция / (х) частично рекурсивна. Согласно теореме 1 найдется однородная система продукций Т, перерабатывающая А-уг? в я0, еслп х £ S, и дающая бесконечный процесс в случае х 8.
Обозначим через ЭВ совокупность всех слов вида А^ В“-1 и через ЭВ/ совокупность слов вида А^ где и £ 8. Согласно и. 11.1 совокупность 9)? рекурсивна, а совокупность Ш?/ (вместе с множеством 8) нерекурсивна. Но 9В/ = © (~| ЯВ, поэтому п совокупность нерекурсивна.
Теорема 3. Существует такая система однородных'продукций Т и такое слово 3(, что совокупность всех слов ©я, получаемых из 91 конечным числом Т-продукций, является нерекурсивной.
Пусть g (х) — общерекурспвная функция, принимающая различные значения прп различных значениях аргумента п имеющая нерекурсивную совокупность .S' значений. Вводим новую функцию / (х), полагая
/ U («)) = g (я + 1) (п = 0, 1, . . . )
320
ГЛ. VI. ВАРИАНТЫ МАШИН И АЛГОРИТМОВ
Областью определения функции f (х) служит множество 8, а график ее состоит из пар <g (n), g (п + 1)> и потому он рекурспвно перечислим. Следовательно, функция / (х) частично рекурсивна. Рассмотрим программу (1) операторного алгоритма, вычисляющего функцию / (х). Пусть U — последовательность продукции, построенных, исходя из программы (1), с помощью правил (2)—(5). Вместо продукции (6) добавляем к U продукции, получающиеся согласно правилу (2) для приказа
0: xl 1
(8)
Обозначим через V получившуюся таким путем расширенную систему продукций. Система У однородна. Берем слово	Из
(2)—(5) и (8) получаем
Ащ^В”-1	.
.. . ^ Аоа^{ШВ^ - А^{ШВ^ Н • •	(9)
причем в последовательности (9) начинаются буквой Ai лишь явно выписанные слова. Пусть а = А^В™-1, <5а — совокупность слов, получаемых пз а конечным числом У-продукцпп (т. е. всех слов последовательности (9)), ?( — совокупность слов впда А^ В™-1 и 85 — совокупность слов впда ATaf (и £ 8). Так как совокупность рекурсивна, 85 нерекурсивна и 85 = ?( П @а, то нерекурсивна, что и требовалось.
Теоремы 2 и 3 доказаны нами для однородных продукций шага 30. Еслп воспользоваться теоремой 3 и. 15.2 и вместо программы (1) рассматривать программы, составленные -лишь пз приказов впда
Х2 а
ХЗ а ,	:6 а р
(Ю)
перерабатывающих 2“ в 22' , то продукции, полученные пз программ впда (10) согласно правилам (2)—(5), (8), будут иметь шаг, равный 6. Все рассуждения, приведшие нас к теоремам 2 п 3, остаются в силе и для кодирования 22 , 22’^. Таким образом, существуют системы однородных продукций шага, равного 6, удовлетворяющие условиям указанных теорем..
Ясно, что однородных систем продукций шага 1. для которых былп бы верны утверждения теорем 2 пли 3, нет. Однако, Ван Хао [2], изменив систему кодирования, построил такую однородную систему продукций, шаг которой равен 2 и для которой проблема остановки не разрешима. Более того, в системе Вана Хао длины всех слов Ь1Т . . ., в преобразованиях Го не превышают 3.

Дополнения, примеры и задачи
1. Частичная функция f (.г) тогда п только тогда вычислима на двухленточной машине Минского в обычной кодировке, когда / х) вычислима прп помощи операторного алгоритма, программа
§ 15. МНОГОЛЕНТОЧНЫЕ МАШИНЫ
321
которого состоит лишь пз приказов вида
и стоп-приказа (Б а р з д и и ь [1]).
2. В ан X а о [1J рассматривает нестирающие машины Тьюринга, которые могут менять состояния пустых ячеек, но не могут изменять состоянии непустых ячеек. Иначе говоря, машина Тьюринга с внешним алфавитом {0, 1} называется нестирающей, если она выполняет лишь команды вида
qfi-^qfT^, q.i-*q.lTz (а = 0, 1; е = 0, +1).
Показать, что при подходящем кодировании любая частично рекурсивная функция вычислима на подходящей нестирающей машине Тьюринга (Ван Хао [1], упрощение и обобщение — Зыкин [1]).
3. Если в однородной системе продукций шага w длины всех правых слов bt определяющих продукций не меньше w пли длина каждого из этих слов не больше w, то проблемы остановки и выво-
димости решаются положительно.
4.	Пусть однородная система продукций Та имеет шаг 1 и прп этом некоторые пз правых слов bi определяющих продукций могут быть пустыми. Тогда условия предыдущей задачи не выполняются. Тем не менее и в этом случае проблема остановки решается положительно (Ван Хао [2]).
5.	Рассмотрим следующие «упрощенные» приказы. Приказ Х2 пусть означает: умпожить данпое число на 2 и перейти к сле
дующему по порядку приказу. Аналогично определим прпказ X 3 . Приказ :б|а пусть означает: разделить данное число на 6 и перей
ти к выполнению приказа с номером а; если же данное число на 6 не делится, то перейти к выполнению над данным числом следующего по порядку приказа. Например, серия упрощенных приказов
ХЗ
:6
номером а. Аналогично этому
равносильна приказу х2|а : умножить данное чпсло на 2 и затем перейти к выполнению приказа с серия упрощенных приказов
:6 а , Х2 , ХЗ ,	:6 р
равносильна приказу :6 | а| р .С помощью теоремы Зп. 15.2 показать, что для каждой частично рекурсивной функции / (ж) существует операторный алгорптм, перерабатывающий 2'- в 2~	, причем
322
ГЛ. VI. ВАРИАНТЫ МАШИН И АЛГОРИТМОВ
программа этого алгоритма состоит лишь из стоп-приказа и упрощенных приказов вида
Х2 , Х3 ,	:6 а
6.	Алгоритм в предыдущей задаче перерабатывает числа. Нетрудно описать соответствующие операторные алгоритмы, перерабатывающие слова в надлежащем алфавите. Например, рассмотрим алфавит, состоящий из цифр 0, 1, 2, 3, 4, 5, 6. Обозначим через | i | приказ: приписать к данному слову справа цифру i (О i 6) и затем перейти к выполнению над полученным словом следующего по порядку приказа.
Через
а0 «1 сс2 аз а4 а3 а6 '
обозначим приказ: в данном слове выбросить первую цифру, перейти далее к выполнению приказа с номером aj, если отброшенная цифра есть i, и перейти к стоп-приказу, если данное слово пусто.
Например, серия приказов
перерабатывает любое слово доа1а2 . . . в алфавите 0, 1, 2, 3, 4, 5 в слово адба^^б . . . as6 и в указание выполнять приказ с номером а. Далее, условимся каждое натуральное число n > 1 кодировать словом aoat . . . as, где
п = ао + «г6 + ...-]- as-6s (0<at<5; as^l),
т. e. кодировать «обратной» шестеричной записью п. Тогда приказ
|: 6]a|p
будет равносилен приказу
а Р Р Р Р Р У ,
выполненному над «обратной» шестеричной записью данного чпсла. На основе теоремы 3 и. 15.2 (см. предыдущую задачу) показать, что для каждой частично рекурсивной функции / (х) существует операторный алгоритм А, перерабатывающий слова в алфавите О, 1, . . . . , 6, программа которого состопт пз приказов впда
стоп ,	 i
ао	«1	СС-2	«3	«4	а5	ae
§ 15. МНОГОЛЕНТОЧНЫЕ МАШИНЫ
323
и который обратную шестеричную запись произвольного числа вида22Ж перерабатывает в обратную шестеричную запись числа 22^х)>
7.	Рассмотрим слова в двоичном алфавите 0, 1. Приказ | i | (1 = 0, 1) пусть означает: приписать I справа к данному слову и перейти к следующему приказу. Приказ а01 аг пусть означает: вычеркнуть первую цифру и перейти к приказу с номером а;, если вычеркнутая цифра есть 1 (i=0, 1); если данное слово пустое, то остановиться Беря обратную шестеричную запись натурального числа и заменяя в ней цифры 0, 1, . . ., 5 их двоичными разложениями, получим так называемую обратную двоично-шестеричную запись числа. Напрпмер, обратная двоично-шестеричная запись числа 27 есть 010011011. Показать, что для каждой частично рекурсивной функции у (г) существует алгоритм, перерабатывающий слова в алфавите {0, 1} с программой, состоящей лишь из зов вида
прика-
стоп
0
1
ао ах
который перерабатывает обратную двоично-шестеричную запись числа 22Х в такую же запись числа 22^ж\
8.	Приказ | \ | а пусть означает: вычеркпуть первую букву, перейти к приказу с цомером а, если вычеркнут 0, перейти к следующему, по порядку приказу, если вычеркнута 1, и остановиться, если заданное слово пусто. Существует операторный алгоритм, перерабатывающий слова в алфавите {0,1}, с программой, состоящей лишь из приказов впда j 0 |,	1 |, | \ | а | (без стоп-прпказа) п для
которого совокупность слов, перерабатываемых в пустое слово > является креативной (Шепердсон и Стургпс [1]).
Именно этот результат используется для построения универсальной машины Тьюрпнга с символами а0, аг, а2, ай и внутренними состояниями qa, gj,,..., qe, пока «наименьшей» из известных универсальных машин Тьюрпнга (Т р и т т е р [1]).
9.	Каково минимальное значение п, для которого существует универсальная машпна Тьюринга £ с спмволамп 0, 1 и состояниями <70, д1, . .., gn? Каковы минимальные п, для которых существует такая машпна £, что £{in нерекурсивно, креативно, просто, максимально?
10.	Согласно Б ю х и [1] регулярной системой над алфавитом {ci, . . ., ст} называется система, определяемая указанным алфавитом и системой базисных преобразований впда
(1=1, ..., s),	(А)
где щ, bj — фиксированные слова в упомянутом алфавите.
Бюхи показал, что совокупность слов Jf тогда п только тогда порождается конечной системой слов при помощп преобразований впда (А), когда АГ порождается конечной спстемой слов ирн
324	гл. VI. ВАРИАНТЫ МАШИН И АЛГОРИТМОВ
помощи преобразований вида
в J-7 —»(¥	(р4 =г л) •
Отсюда, в частности, следует, что все совокупности, порождаемые в регулярных системах конечными системами слов, являются рекурсивными.
§ 16. Диофантовы уравнения	%
В 1900 г. на Международном математическом конгрес-	д
се Д. Г и л ь б е р- т [1] выделил 23 проблемы, решение	V
которых представило бы особый интерес для развития математики.	у
Среди этих проблем помещена и проблема № 10, сфор-мулированная Гильбертом следующим образом:	.1
10. Выяснение разреши мости произвольного диофантова уравнения. Пусть задано диофантово уравнение с произвольным числом неизвестных и целыми рациональными коэффициен-тами\ требуется указать способ, по которому с помощью конечного числа операций можно было бы узнать, разрешимо уравнение в целых рациональных числах или нет.
Способ (Verfahren), об отыскании которого идет речь в этой проблеме, мы понимаем теперь как алгоритм. В 1900 г. теория алгоритмов еще не была создана и речь i ' могла идти лишь о положительном решении проблемы. < Однако большие трудности, возникающие обычно при исследовании диофантовых уравнений, привели к предпо- ' ложению, что упомянутый алгоритм не существует. Ни- | же будут изложены результаты Девиса, П а т н е м а .' иЮ. Робинсон [1], показавших, что ряд арифмети-ческих проблем, близких по своему характеру 10-й про- ; блеме Гильберта, решается отрицательно. Что касается : самой проблемы Гильберта, то она пока еще остается открытой * *).
16.1. Диофантовы предикаты и функции. В 10-п про- 4 блеме Гильберта речь пдет о существованпп целых рациональных решений, т. е. решений в чпслах 0, ±1, ±2, . . . Покажем, что эта проблема равносильна проблеме сущест- ' вованпя решения в натуральных чпслах 0, 1, 2, ... В самом деле, пусть для каждого уравнения
 F (Х1, . . ., хг) = 0,	(1)
*) См. Приложение, с. 363. Пз работы 10. В. Матпясевпча [1*] следует отрицательное решение десятой проблемы Гильберта,— Лримеч. ред.
§ 16. ДИОФАНТОВЫ УРАВНЕНИЯ
325
где F — многочлен с целыми рациональными коэффициентами, мы умеем решить вопрос, имеет оно или нет решение в натуральных числах. Спрашивается, имеет ли уравнение (1) решение в целых рациональных числах? Составляем уравнение
F (хъ . . ., хп) Р(—х±, хп) ... F (—xlt . . ., —хп) = 0.
(2)
Ясно, что уравнение (1) разрешимо в целых рациональных числах когда уравнение (2) разрешимо в натуральных числах.
Обратно, пусть мы умеем решать вопрос, имеет ли произвольно заданное уравнение вида (1) решение в целых рациональных числах или нет. Спрашивается, имеет ли уравнение (1) решение в натуральных числах? Согласно общеизвестной теореме Лагранжа каждое натуральное число представимо в виде суммы квадратов четырех натуральных чисел. Поэтому уравнение (1) имеет решение в натуральных числах тогда и только тогда, когда уравнение
F (г? + г/i + г? + и[, • •  , 4 -I- yl + 4 + и„) = 0
имеет решение <жг, у^, zr, иг, . . ., х„, уп, zn, ипу в целых рациональных числах. Ввиду изложенного ниже будет рассматриваться лишь задача о существовании решений в натуральных числах и символы (Эж), (Ух), (Ух^а) будут означать соответственно «существует натуральное число х», «для каждого натурального числа х», «для каждого натурального х из отрезка 0, 1, 2, . . ., а».
Предикат Р (хъ . . ., хп), определенный на множестве натуральных чисел, называется диофантовым, если существует такой многочлен F (хх, . . ., хп, уг, . . ., ут) с целыми коэффициентами, что
Р (^11 • • • , 2-n)
(3?1  • • Ут) (Р (-^1> •  У^ • • •> Ут) 0)-	(3)
Множество ИГ <?г-ок хТ, . . ., zn> натуральных чисел называется диофантовым, еслп диофантовым является n-местный предикат Р, пстпнный на га-ках пз 1Г и ложный на остальных /г-ках натуральных чисел.
Из соотношения (3) видно, что каждое диофантово множество рекурсивно перечислимо. Еслп бы проблема Гильберта решалась положительно, то каждое диофантово множество было бы рекурсивным. Поэтому для отрицательного решения проблемы Гильберта достаточно пока
326
ГЛ. VI. ВАРИАНТЫ МАШИН И АЛГОРИТМОВ
зать, что существуют нерекурсивные диофантовы множества. Однако пока неизвестно, существуют ли нерекурсивные диофантовы множества *).
Для краткости условимся символами	обозначать соответственно тг-ки ^хг, . . хпу, Суъ . .	z/n)>.
Из только что введенных определений непосредственно вытекает
Следствие 1. Если предикаты Р (?(те)), Q (?(п)), В (f(n), 9(т)) диофантовы, то предикаты Р №n'>)&.Q Р (j(n)) V Q (3?/i  . . Ут) R (j(n), P(m)) также диофантовы. Если F (r(n)), G (£<")) — многочлены с целыми коэффициентами, то предикаты S (f<n>), Т {^), U определенные соотношениями
S (j(">) F (fW) = G(fW), Т (f(n>) <Н> F (jW) #= G (jW), fJ(j(n))^ 7^ (j(n))<G (?(«)), диофантовы.
В самом деле, пусть
р (?(п)) (ЗрМ) (Д	= 0),
Л = 0)>
где Н, L — многочлены с целыми коэффициентами. Тогда Р (jW) & Q (?(">) <4 (3p(m)J(f)) (Я2 -FL2 — 0),
Р (fW) V Q (?(ra)) (3)(m)i(!t)) (H-L = 0).
Далее, имеем
7,a-'"))O(3!/)(^-G)2 = z/ + l),
U (?W) 44 (Эу) (1 + у + F = G), что и требовалось.
Числовая функция / (ж15 . . ., хп) называется диофантовой, если (тг + 1)-местное отношение у = f (хг, . . . . . ., хп) диофантово. В частности, отсюда вытекает, что каждый многочлен с целыми коэффициентами является диофантовой функцией своих аргументов.
Теорема 1. Суперпозиция диофантовых функций есть функция диофантова. Если предикат Р (г(п)) и всюду определенные функции Fr (г<т>), . . ., Fn диофантовы, то предикатР (г(т)), . . ., Fn (f(?n))) также диофантов.
*) См. Приложение, с. 355. Все рекурсивно перечислимые (в том числе нерекурсивные) множества п предикаты являются диофантовыми.— Примеч. ред.
§ 16. ДИОФАНТОВЫ УРАВНЕНИЯ	327
Действительно, пусть функция1; F и функции Fi (j(m)) диофантовы. Так как отношение
У = F (Л (?»), . . ., Еп ($№))
для натуральных хг, . . ., хт равносильно отношению
(3z1...Zn)(y = F(z1,..., zn) & Z1 =	(-))&...
а это последнее отношение в силу следствия 1 диофантово, то функция F (Fj, . . ., Fn) диофантова. Аналогично доказывается и второе утверждение теоремы.
Теорема 2. Функции х — у, [xly], rest (ж, у), с (х, у), I (ж), г (х), Г (ж, у) диофантовы.
В самом деле,
z = х — у (х <1у & г = 0) \/ х = г у,
2 = 1х!у\ 44Q/ = 0& Z=z)V (3w) (х = у2 + и & U<iy), rest (х, у) = х~-у- [xjy\, с (х, у) = [	+ у)а + За: 4- у J ,
2 = I (х) 44 (Зу) (с (z, к) = х),
2 = г (х) 44 (Зу) (с (к, г) = х),
Г (х, у) = rest (I (х), 1 + < +1)7* (ж)).
Применяя следствие 1 и теор му 1, непосредственно убеждаемся, что стоящие справ от знака 44 формулы представляют диофантовы преди ыы.
Обозначим через А совокуп сть всех степеней числа 2: А = {1, 2, 4, 8, . . .} и пусть А' = 2V — А. Интересно отметить, что множество А' диофантово, так как
х А' 44 (Эуу) (х = (2п + 3) у).
В то же время пока неизвестно, является лп диофантовым множество А. В частности, неизвестно, является ли диофантовой функция 2х (ср. Ю. Робинсон [2]). В настоящее время, по-видимому, неизвестен нп один конкретный диофантов предикат, имеющий недпофантово отрицание *), хотя очень просто доказывается (неконструктивно).
Теорема 3. Существуют диофантовы предикаты, отрицание которых недиофантово.
*) См. Приложение, с. 363. Множество А и функция 2х диофантовы. Всякий рекурспвно перечислимый, нерекурсивный предикат имеет недпофантово отрпцание. —Примеч. ред.
328	ГЛ. VI. ВАРИАНТЫ МАШИН И АЛГОРИТМОВ
Допустим противное, т. е. допустим, что для каждого многочлена F (г, t)) с целыми коэффициентами существует такой многочлен F* (f, щ) с целыми коэффициентами, что
И (Эр) О, p) = 0)o(3Pi)(^(f, Pi) = 0)	(4)
и, следовательно,
(ЭР)О-, p) = O)^(VDi)(^(f, D1)#=O).	(5)
Покажем, что в таком случае каждое арифметическое множество (п. 13.3) будет диофантовым. Рассмотрим, например, предикат
(Vp)(3i)(G(f, Р, 0 = 0),
где G — многочлен. На основании (4), (5) имеем
(Ур) (90 (G (f, Р, 0 = 0)^(У^)((?*(?, р, $0^0)о
^П(ЭШ)(С*(Е, р, h) = 0)^OJO(G**(f, 50 = 0).
Изложенные преобразования показывают, что и в формулах с более сложными приставками вида УЗ, ВУЗ и т. д. кванторы всеобщности можно постепенно заменить кванторами существования и тем самым каждый арифметический предикат представить в диофантовом виде. Мы пришли к противоречию, так как все диофантовы предикаты рекурсивно перечислимы, а среди арифметических предикатов согласно п. 13.3 есть и не рекурсивно перечислимые.
Существует предположение, что все рекурсивно перечислимые предикаты диофантовы *). Указанные в теореме 2 функции имеют медленный рост. Ю. Робинсон [2] показала, что если существует хотя бы одна диофантова функция, растущая не медленнее 2х, то важный рекурсивно перечислимый предикат z — зУ является диофантовым.
В связи с теоремой 3 введем следующее понятие, которое будет нам полезно ниже.
Предикат Р (лгц . . ., ж,п) условимся называть дважды диофантовым, еслп он сам п его отрицание диофантовы. Соответственно этому, функцию / (хх, .... хп) будем называть дважды диофантовой, еслп отношение /	. . .
. . ., хп) = 2гп+1 дважды диофантово.
Из этого определения видно, что предикат Р (а^, . . . . . ., жт) тогда и только тогда дважды диофантов, когда существуют такпе многочлены F, G с целыми коэффпцпен-
*) См. сноску на с. 326. —Примеч. ред.
§ 16. ДИОФАНТОВЫ УРАВНЕНИЯ
329
тами, что
Р (Ж1, . . ., хт) <=>
О (Нг/1 •   Уз) (F (2ч,  • ч У1, . • ; У..) = 0), (6) Р(Х!, . .	Ж,п)ф=>
O(Vzi. . . zt)(G(xu . . ., хт, Z1, . . ., zt)^0).	(7)
Так как дважды диофантово множество и его дополнение диофантовы, а диофантовы множества рекурсивно перечислимы, то каждое дважды диофантово множество рекурсивно. Верно ли обратное — неизвестно *). Теорема 3 утверждает существование диофантова множества, не являющегося дважды диофантовым. Если бы все рекурсивные множества были дважды диофантовы, то упомянутое диофантово множество с недиофантовым дополнением было бы нерекурсивным и проблема Гильберта решалась бы отрицательно. Изложим несколько простых свойств дважды диофантовых множеств и функций.
Теорема 4. Конъюнкция, дизъюнкция и отрицание дважды диофантовых предикатов являются дважды диофантовыми предикатами. Суперпозиция дважды диофантовых всюду определенных функций есть дважды диофантова функция. Если предикат Р (а^, . . ., жт) и всюду определенная функция f (xlf . . ., хт) дважды диофантовы, то предикат Р (/ (а^, . . ., а:,п), х2, . . ., хт) также дважды диофантов.
Докажем, например, последнее утверждение. Имеем
Р (J (^-1, • • ч • • •>	4=^
^(Ju)(f(xu . .., хт) = и&Р (и, Х-2, . .., хт)),	(8)
(/ (ха, . . ., хт), . . . хт) <==/
О (Угг) (/(х!, .. ., хт)=£и\/ Р (и, х2, . . ., хт)).	(9)
По условию существуют такие многочлены F, G с целыми коэффициентами, что
f (Xi, . . ., Хт) =U&P (и, Х2, . . ., хт)
(Зг/i • • . Уз) (F (и, хг, ..., хт; г/i, . . ., ys) = 0), / (*£1» • • •> ^т) У7 \/ Р (и, Х'2, . . ., Хт)
(Vzi. . . zt) (G(и, хь .. ., хт, Z1, . .zz) =£ 0).
Сравнивая этп эквивалентности с соответственными эквивалентностями (8), (9), видим, что предикат
*) Верно: всякое рекурсивное множество является дважды диофантовым. См. Приложение, с. 363.— При.чеч. ред.
330
ГЛ. VI. ВАРИАНТЫ МАШИН И АЛГОРИТМОВ
Р (j (хг, . . хт), х2, . . хт) представим в формах (6), (7) и, следовательно, этот предикат дважды диофантов.
Теорема 5. Каждый многочлен с целыми коэффициентами является дважды диофантовой функцией. Отношения х<2у, х = у и функции [х/у], rest {х, у), I (х), г (ж), Г (ж, у) дважды диофантовы.
Действительно,
У=Ш & У~Ш= 0 44 (Vz) (z + 1 - (у - / (?))2 ф 0), х < у 44 (3z) (х + z + 1 — у = 0)&
44 (Vz) (х — у — z ф 0), z = [х/у] 44 (zy < х & х < (z + 1) у) V (у = 0 & z = х), rest (х, у) — х — [х/у] у,
у = 1 [х)<^ (3z) (с (у, z) — х = 0) 44
44 (Vzu) (с (z, и) х V z = у), Г (ж, у) = rest (7 (ж), 1 +. (у + 1) г (ж)).
Ясно, что если предикат Р (х1г . . ., хт) дважды диофантов, то предикат (Зжх) Р (хг, . . ., хт) диофантов. Однако ввиду теоремы 3 последний предикат, вообще говоря, не будет дважды диофантовым.
16.2. Арифметическое представление. Уже говорилось, что существует гипотеза, согласно которой каждое рекурсивно перечислимое множество диофантово. Вопрос об истинности этой гипотезы пока открыт *). Однако можно доказать, что каждое рекурсивно перечислимое множество допускает арифметическое представление, отличающееся от диофантова лишь двумя кванторами. Это представление лежит в основе вывода ряда других представлений для рекурсивно перечислимых множеств.
j Теорема 1 (Девис [1]). Для каждого рекурсивно перечислимого множества М существует такой многочлен F (х, у, z, xlt . . ., хп) с целыми коэффициентами, что
44
44 (3z/) (Vz < у) (Bxi.. . хп) (F (х, у, z, хг, . .., хп) = 0), (1) где кванторы 3, V, как и всюду, относятся к множеству натуральных чисел.
Посмотрим сначала, что дает эта теорема для проблемы решения алгебраических уравнений в натуральных числах. Берем в качестве If какое-нибудь нерекурсивное ре
*) См. сноску на с. 326.— Примеч. ред.
§ 16. ДИОФАНТОВЫ УРАВНЕНИЯ
331
курсивно перечислимое множество и строим соответствующий многочлен F. Рассмотрим следующую задачу: для произвольно заданного натурального х узнать, будет ли разрешима в натуральных у, хц система уравнений *)
F (х, у, 0, ж01, . . хОп) = О,
F (х, у, 1, жц, . .	х1п) = 0,	(2)
F (х, у, у, ху1 , . . х„п) = 0.
Согласно теореме 1 разрешимость этой системы равносильна принадлежности числа х множеству М. Значит, задача о разрешимости указанной системы для произвольно заданного числа х не имеет алгоритма для своего решения.
Перейдем к доказательству теоремы 1. Рассмотрим функцию / (ж), равную 0 для х G М.и не определенную для х М. Эта функция частично рекурсивна и потому согласно теореме 2 из п. 14.3 существует операторный алгоритм, перерабатывающий 2х в 2 и имеющий программу вида
0: стоп
1: Ci ai bi ,
(3)
где t,t означает одну из операций Х2, ХЗ, Х5, :30. Эти операции перерабатывают число вида 21‘-Зг-5ш в число того же вида. Поэтому, начиная согласно указанной программе перерабатывать пару (2х, 1), мы после n-го шага вычислений будем иметь пару вида (2“s-3Ks-5“s, cs), где 2“s3“s5“s — полученное число, a cs — номер приказа в программе (3), который следует выполнить на следующем шаге.
Обозначим через Рг (и; у, w, с, и', v', w', с') предикат, истинный тогда и только тогда, когда пара (2“-Зс-5ш, с) переходит в пару (2u'-3c'-5«',i c'j в результате выполнения приказа с номером с пз программы (3). Прп этом будем считать Рх (и, у, w, с, и', v', w', с') ложным для любых и', у', w', с', если с п, а для с = 0 положим Рг истинным лишь тогда, когда с' = 0 п и = и', v = v', w = иУ.
Покажем, что предикат Рг диофантов. Для каждого г, 1 i <1 п, введем предикат Р\ (и, v, щ, с; и', v', иУ, d),
*) Число уравнений в этой системе, равное у + 1, тоже является искомым.
332	ГЛ. VI. ВАРИАНТЫ МАШИН И АЛГОРИТМОВ
равносильный утверждению
с = i & Ру (и, v, и>, с; и', v', w', с'), и покажем, что предикаты Р®, Ру, Ру диофантовы. Для Р°у это очевидно, так как согласно сказанному Ру (u, v, w, с; и , и', w', с') О
4=?с = с’ = 0 & и, = и' & и = и' & w = ш'.
Рассмотрим Р[ для i 1. В соответствующем приказе I:	a, bj символ может иметь одно из четырех значе-
ний: Х2, ХЗ, Х5, :30. Допустим, что упомянутый приказ имеет вид
i: :30 a, by
Следовательно, если с = i и число 2u-3“-5w делится на 30, то пара (2U-3C-5W, с) перейдет в пару (2U_1-3V-1-5W_1, а;). Если же указанное число не делится на 30, то упомянутая пара перейдет в пару (2“-Зс-5ю, 6г). Иначе говоря, в рассматриваемом случае отношение Ру (и, и, w, с; и', к', и>', с') равносильно выражению
c = i&(iz^>0&r^>0&w^>0->uz ~ и — 1 & и' =
= v — i &.w' = w — 1&с' = аг)& (u-v-w =
= 0 -> и' = и & v' = v & и>' = w & с' = bi),
эквивалентному формуле
с = i & (u-v-w = 0 \/ (и = и' +1&р = р' + 1&ш =
= w' + 1 & с' = at)) &((u^>0&v^>0&ip^>
0) V (и = и' & v = и' & w = w' & с' = &г)).
Согласно предшествующему пункту предикаты с = i, и 0, и = и' + 1 п т. п. диофантовы, конъюнкции п и дизъюнкции пх также диофантовы. Следовательно, предикат Р\. диофантов.
Допустим теперь, что рассматриваемый приказ имеет вид
§ 16. ДИОФАНТОВЫ УРАВНЕНИЯ	333
В этом случае пара (2U-3C-5W, с) переходит в пару (21I+1-3D-5W, аг), предикат Р\ (и, v, w, с; и', v', и/, с) записывается в виде
c = i&u' = u-\-i&v'=v&w' = w&:c' = ai
и потому является диофантовым.
Случаи = -ХЗ, Х5 рассматриваются аналогично. Поэтому можно считать, что диофантовость всех предикатов Р\ доказана. Но
Pi Pi \/ р\ V • • • V Pt
поэтому предикат Р± также диофантов.
Обозначим через Ps (и, v, w, с; и', v', и/, с') предикат, который при с п истинен тогда и только тогда, когда пара (2и-3“-5ш, с) переходит в пару (2M'-3P'-5W', с') после з шагов переработки по программе (3). Вводя обозначения = <жг1, ;гг2, ггз, и принимая во внимание смысл отношения Ри видим, что отношение Р4+1 (f, р) равносильно формуле
• • • fg) (Pi (f, fi) & Pi (fi, f2) & . •  & Pi (fs, p)).	(4)
Согласно основному свойству функции Гёделя Г (z, х) (п. 2.3) для любых натуральных xtj (i = 0, 1, . . ., s + 1; j — 1, 2, 3, 4) существует такое а, что
Г (а, 1} = с4 fei, жг2, жгз, гг1) (I = 0, 1, . . ., з 4- 1), п, следовательно, xi} = сц (Г (а, 0) (i = 0, 1, . . ., з + 1; / = 1, 2, 3, 4), (5) где с4, с4х, с42, с43, с44— нумерационные функции, определенные в п. 3.3, причем f0 — f, fs+i = р. Все эти функ-цпп являются суперпозициями функций с, I, г, диофантовость которых была установлена в предшествующем пункте. Отсюда вытекает, что функции c4j- (Г (ж, г/)) также диофантовы.
Из разрешпмостп системы (5) относительно а следует, что формула (4) равносильна утверждению
(Эя) (Vi < s) (Pi (di (a, z), . . ., d4 (a, i), dr (a, i -j- 1), . . .
. . ., d4 (a, i -j- '!)) & zi = c?i (a, 0) & . . . & ж4 = = d4 (a, 0) & y4 = c?i (a, s + 1) & . . . & z/4 = = d4 (a, s 4- 1)),	(6)
где dj (a, z) = c4j- (Г (a, i)).
334
ГЛ. VI. ВАРИАНТЫ МАШИН И АЛГОРИТМОВ
Условие argJf означает, что процесс переработки четверки (х, 0, 0, 1) обрывается на подходящем (з + 1)-м шаге, т. е. найдется такое з, что в получающейся на (з + 1)-м шаге четверке (г/1, z/2, у3, у4) имеем z/4 = 0. Иначе говоря, формула (6) дает
х б М о (Эза) (Vi < s) {Pi (cZi {a, i), ...
. . ., d4 (a, i), di (a, i -j- 1), . . ., d4 (a, i -j- !))-& x = = di {a, 0) & 0 = d2 (a, 0) & 0 = d3 (a, 0) & 1 =
= d4 (a, 0) & 0 = d4 (a, s + 1)}.	(7)
Мы уже видели, что предикат Pi, функции d2 {a, i) и отношения х = di {а, 0), . . ., 0 = d4 {а, s + 1) диофантовы. Поэтому выражение, стоящее в формуле (7) внутри фигурных скобок, представляет диофантов предикат от переменных х, I, а, з. Обозначая этот предикат через Q, имеем
х g М О (Hsffl) (Vi з) (? {х, a, i, s).	(8)
Но утверждение о существовании пары чисел з, а равносильно утверждению о существовании числа у = с (з, а), являющегося номером этой пары. Поэтому из соотношения (8) получаем
х^М {By) (Vi < 7 (у)) Q {х, г (у), i, I {у)) О
О (Зу) (Vi < у) {Q {х, г {у), i, I {у)) \/i>l (у)). (9)
Предикат <2 (х, »’ Q/), i, 7 {у)) V 7 (z/) диофантов и, следовательно, его можно представить в виде
(3*1 • • • хп) {F {х, у, i, xi, . . ., хп) = 0),	(10)
где F — подходящий многочлен с целыми коэффициентами. Соединяя формулы (9) и (10), приходим к требуемой формуле (1).
С помощью небольших формальных преобразований (Девис [1]) из теоремы 1 легко получается
Теорема 2. Для каждого рекурсивно перечислимого множества М существует такой многочлен G с целыми коэффициентами, что
ХЕЯ {By) (Vz < у) (3^! < у).. .
• • • (Эа:т<г/)(С(ж,?/,г, хг, . . .,жт) = 0).
Согласно теореме 1‘ существует многочлен F, удовлетворяющий соотношению (1), и потому утверждение х GE М равносильно разрешимости прп некотором у системы
§ 16. ДИОФАНТОВЫ УРАВНЕНИЯ
335
уравнений (2) относительно х^ (г = 0, . . ., у, j = 1, . . . . .	п). Обозначая через и число, большее каждого чис-
ла xtj, видим, что соотношение (1) влечет
х <= М 44 (Зг/u) (Vz < у) (3^! < и) . . . (Зж„ < u) (F = 0).
Вводя вместо пары чисел у, и ее номер v = с (г/, и), приходим к заключению, что отношение х<= М равносильно формуле
(3p)(Vz<?(p))(3®i<»’(p))...
. • • (Зхп < г (р)) (F (х, I (у), г, .., хп) = 0), которая, в свою очередь, равносильна выражению
(Зр) (Vz < р) (3®i < р). .. (Зя„ < р) (Зшх < р)
(3ip2<p) (c(zpi, zp2) = р& [(F(х, wj, z, Ж1,. .., хп) = 0) \/
У(гР1<г<р)]&Ж1<(гр2&. . .&zn<ip2).	(11)
Так как внутри формулы (11)
w-l < z р 44
44 (Зг^з < v) (3ip4 < р) (iPi + ws + 1 = z & z + гр4 = p), Xi < ips 44 (3*/г < v) (х{ + yt = ip2),
TO
w-i < z < p 44 (Зш3 < p) (Зш4 < p ) (U = 0),
ari<ip2& . .. &жп<гр244( 3 yi <p) (И = 0), (12) i=l
n
где через (3 Уг p) обозначено слово (Hj/i p). . . • i=l
• • • (3*/n p) 11 положено
U = (zpi + w3 + 1 — z)2 -j- (z + гр4 — p)2,
V = (^i -f- г/i — zp2)2 -j- ... -j- (xn + yn — zp2)2-
При помощи соотношений (12) формулу (11) приводим к виду
(3i>)(Vz<p)(3 *i<p)(3 Zi<p)(3 Ш!<р) i=l	i=l	i=l
(4 (c (iPi, ip2) — v)2 + U (F2 (x, wj, z, xt, . . ., xn) +
+ V2 = 0)),
удовлетворяющему теореме 2.
Приведенные выше доказательства теорем 1 и 2 являются конструктивными. Это значит, что, имея программу
336
ГЛ. VI. ВАРИАНТЫ МАШИН И АЛГОРИТМОВ
операторного алгоритма, вычисляющего частичную характеристическую функцию / (ж) множества ЛГ, мы в принципе можем написать многочлены FnG, удовлетворяющие требованиям теорем 1, 2. Однако эта возможность лишь принципиальная, так как если взять какую-нибудь из ныне известных программ, отвечающих нерекурсивным множествам ДГ, и построить многочлены F, G по правилам, изложенным в доказательствах теорем 1, 2, то такие многочлены окажутся слишком сложными. Задача о нахождении более или менее простых многочленов (например, невысокой степени и с небольшим числом переменных), дающих нерекурсивное множество М, до сих пор, по-видимому, не решена.
16.3.	Представимость натуральных чисел многочленами. Говорят, что число а представимо многочленом F (Ж1, . . .,жт), если существуют такие натуральные числа Hi, . . ., ат, что F (Hi, . . ., am) = а, т. е. если истинна формула
(3^1 . . . хт) (F (ж15 . . ., хт) = а).
Говорят, что совокупность натуральных чисел 21 представляется многочленом F, если 21 есть совокупность всех тех натуральных чисел, которые представимы многочленом F. В теории чисел для ряда многочленов F исследовался вопрос о том, представимы ли этим многочленом все натуральные числа. Например, теорема Лагранжа, которой мы уже пользовались, утверждает, что многочлен
+ Л + хз + xi представляет каждое натуральное число. Естественно возникает вопрос: нельзя ли указать алгоритм, посредством которого для любого заданного многочлена с целыми коэффпциентамп можно было бы сказать, представляет пли нет этот многочлен все натуральные чпсла. Следуя Патнему [1], покажем, что этот вопрос решается отрпцательно. Сначала докажем следующую теорему:
Теорема 1 (П а т н е м [1]). Для каждого рекурсивно перечислимого множества 21 существует такой многочлен F (ж, у, zi, . . ., zn) с целыми коэффициентами, что
х= 21 (Зр) (Vzl .. z„) {F (х, y,Z1,..., zn) Ф 0).	(1)
Согласно теореме Девпса (п. 16.2) можно наптп такой многочлен G (х, у, z, х1} . . ., хт) с целыми коэффицпен-
§16. ДИОФАНТОВЫ УРАВНЕНИЯ
337.
тами, что
(3z/)(Vz< г/) (3X1. . . a,-m)(G(a:,z/,z, zi, . . .,жт)=0).
(2)
При заданных у и z у обозначим через xzi натуральные числа, удовлетворяющие согласно (2) уравнению
G (х, у, z, xzl, . . xzm) = 0.
По основному свойству функции Геделя Г (a, t) системы Г (ait z) = xzi (z = 0, 1, . . у)
имеют натуральные решения а±, . . ат и потому
х Е М & (3z/ai. . .ат) (Vz < у)
{G (х, у, z, Г (ах, z),.. ., Г (яга, z)) = 0} или
X Е ЛГ 44 (3z/ai. . .ат) (Vz)
{%> У\/G(x,y,z,T(ai, Z),. . ., Г(дга, z)) = 0}. (3)
Согласно теоремам 4, 5 п. 16.1 выражение, стоящее в фигурных скобках, представляет дважды диофантов предикат и потому равносильно формуле вида
(VZ1 . . . z,^) (Н (х, у, аи . . ., ат, z, гъ . . ., zs^)^ 0), (4) где Н — многочлен с целыми коэффициентами. Подставляя (4) в (3), получил!
х Е М & (Зуа-1. . .ат) (Vzi. . .zg)
(ZT (ЗЦ у, tli, • • •,	• • ч ^з)	0).
Вводя вместо строки (г/, tii, . . ., tzm)> ее номер и = = с (г/, tii, . . ., ат), будем иметь
ж ЕЛГФФ @u)(Vzi. . .fes)
{ZZ (<£, Ст+11 (w)> • • ч ^пг+1 tji+1 (tl), Zi, • • ч Zs)
Предикат, стоящий в фигурных скобках, дважды диофантов и потому может быть заменен выражением вида
(Vzs+i . . . zn) (F (ж, и, zlt . . ., zs, zs+1, . . ., zn) 0), где F — подходящий многочлен с целыми коэффициентами. После указанной замены формула приобретает требуемый вид (1).
Т е о р е м а 2. Для каждого рекурсивно перечислимого множества М существует такой многочлен с целыми
12 А. И. Мальцев
338	гл. VI. ВАРИАНТЫ МАШИН И АЛГОРИТМОВ
коэффициентами G (х, Zi, . . zm), что
x^M^(yy}(3zr...zm)(G(x,zr,..., zm) = y).	(5)
Сначала согласно теореме i найдем такой многочлен F, чтобы
X е М ф=> (Эу) (Vzi.. .z„) (F (х, у, zi,..zn) 0), и, следовательно,
х М ФФ (Vу) (3zi.. .z„) (F (х, у, Zi,.. zn) = 0).
Теорема 2, очевидно, будет доказана^ если будет доказана следующая формула Патнема:
(Hj) (F (х, у, I) = 0) фф
ФФ (3jui . . . и4) (G (х, ui, и2, и3, ut, j) = у), (6) где j = <zn . . ., zn> и
G(x,Bi, ...;u4,j)=	.
— (1 —-F2 (%, Hi-]- u2 -j- us-i~u2, j)) (u2 u2 u.g4~u4 4-1) — !•
(7)
Пусть для некоторых натуральных х, у левая часть эквивалентности (6) истинна и, следовательно, F (х, у,$ = — 0 для подходящих По теореме Лагранжа найдутся такие натуральные zzi, zz2, и3, и4, что у =	4~ *4 + *4 4~
4- и2. Из (7) получаем
G (х, иг, . . ., и4, j) = (1 — F2 (х, у, j)) (1 4- у) — 1 = у
и потому правая часть эквивалентности (6) истинна.
Обратно, пусть для некоторых натуральных х, у правая часть эквивалентности (6) истинна и, следовательно,
(1 — F2 (х, и^ 4- и2 4~ и3 4- м4, $)) (щ 4-^2 4~ из 4- u4 4-1)—У4-1
(8)
для подходящих натуральных иг, . . ., и4. Правая часть этого равенства — число положительное. Поэтому первый множитель в левой части также должен быть [положительным числом. Но это возможно только в случае, когда
F (х, и2 -j- гЛ 4- и23 4- и2, j) = 0,
и тогда из (8) дополнительно получаем 4~	4* ^4 +
4-	= У1 откуда F (х, у, j) = 0, что и требовалось.
§ 16. ДИОФАЙТОЁЫ уравнения	339
Следствие. Не существует алгоритма, позволяющего для любого заданного многочлена с целыми коэффициентами узнать, представляет этот многочлен все натуральные числа или нет.
В самом деле, берем какое-нибудь нерекурсивное рекурсивно перечислимое множество М и строим для него многочлен G, удовлетворяющий условию (5). Берем некоторое число а и рассматриваем многочлен G (а, zx, . .	z„)
от переменных zx, . . ., zn. Формула (5) означает, что а М тогда и только тогда, когда многочлен G (a, zx, . . . . . ., zn) представляет все натуральные числа. Если бы упомянутый алгоритм существовал, то при его помощи мы бы могли решать и вопросы о вхождении числа в М, -что противоречит нерекурсивности множества М.
16.4.	Показательные уравнения. Показательными уравнениями называются уравнения вида
F (жх, . . ., хп, х\', х^ , . . ., ж?) — 0,	(1)
где F (xi, . . ., хп, хц, х12, . . ., жпп) — некоторый многочлен от переменных жг, ж!7- (z, j = 1, . . ., п) с целыми рациональными коэффициентами. При этом полагают, что х° = 1 для всех целых х, в частности, 0° = 1. Обычно ищут натуральные решения уравнения (1). Типичными примерами показательных уравнений могут служить уравнения
х^уУ = z2, (2 - ж)2 -J- (жу - у)2 = 0, 2х + Иу = 52, уже рассматривавшиеся в литературе.
Из определения видно, что каждое диофантово уравнение является показательным. Выше отмечалось, что проблема существования алгоритма для ответа на вопрос о разрешимости произвольно заданного диофантова уравнения пока остается открытой *). Для показательных уравнений положение иное. Сравнительно недавно Девис, Патне м и Ю. Робинсон [1] показали, что проблема разрешимости в натуральных числах произвольно заданного показательного уравнения алгоритмически неразрешима. Ниже приводится доказательство этой замечательной теоремы, принадлежащее упомянутым авторам.
Предикат Р (жх, . . ., хт), определенный на множестве натуральных чисел, называется показательно диофантовым, если существует такой многочлен F от переменных
*) См. Приложение, с. 363 и сноску на с. 324.
340	ГЛ. VI. ВАРИАНТЫ МАШИН И АЛГОРИТМОВ
жг, хи 0’1 7 — 1, • • •> п) с целыми коэффициентами, что
Р {xlt • • •> хт)
<=»(3«m+1. • -Хп) (F (Ж1,.. ., хп, х*1, Ж12,..Хп”) = 0).
Числовая фунйция f (xi, . . хт) называется показательно диофантовой, если отношение / (хх, . . хт) = = хт+1 показательно диофантово.
Отсюда следует, что все диофантовы отношения и функции являются показательно диофантовыми.
Теорема 1. Если предикаты Р (хг, . . ., жп), Q (®1, . . ., Хп) и функции] (x-L, . . ., Хп), gl (Xi, . . ., Хт), . . . . . gn (xlt . . ., хт) показательно диофантовы, то функция
f 0>1 (®1, • • ч З'т), • • ч gn О'!, • • ч хтУ)
и предикаты
Р (х1> • • ч хп) \/ Q (Х1> • • ч хп)>
Р (Х1, • • • Т хп) Q (Х1 ? • • ч хп)» (З^п) Р (х1, . . ., Жп),
Р (gi (xi, . . хт), . . ., gn (жь . . ., хт)), gl (*ГЬ • • ч хт) = g% (х1’ • • ч хт), gl (х1> • • ч хт) gs (х1г • • ч хт)
также показательно диофантовы.
Доказательство такое же, как и доказательство соответствующей теоремы о диофантовых функциях и предикатах в п. 16.1.
Из теоремы 1, например, вытекает, что показательно диофантовыми являются следующие функции и отношения:
2х*, (2я -)- 1)х, (3х + 1)у - 2Z, 3я < 2у.
Мы хотим, следуя Девису, Патнему и Робинсон, доказать, что показательно дпофантовыми являются все частично рекурсивные функции и рекурсивно перечислимые предикаты.
Лемма 1 (Ю. Робинсон [2]). Функция
/ п\__ »(п—1)...(п — A-j-1)
\ к )~	к!
от переменных п, к показательно диофантова.
§ 16. ДИОФАНТОВЫ УРАВНЕНИЯ
341
Пусть 0 <2 к < п, тогда
2’л‘	2~п)п= 2п* 2 ( П } 2~ni < 2 ( П ) 2n(/1'-i) + (2n—1)/2п.
г=0	i=0
Следовательно,
/г
[2пК (1 + 2~п)п] = 2 ( ” ) 2n(k'i), г=о 7
где [ж] — наибольшее целое число, не превосходящее х.
При тех же предположениях 0 < к п аналогичным путем получаем формулу
/г-1
2" [2n(,f-1) (1 + 2~п)п] = 2 ( П ) 2n(,c_i)
1=0 и, следовательно,
М = [2nft (1 + 2~п)п] — 2п [2”(Z'-1) (1 + 2~n)n].	(1)
Из справедливости формулы (1) для 0 < к п вытекает, что для произвольных к, п имеет место эквивалентность
V(" > к& ь > о & У_.
Все отношения, стоящие здесь справа от знака 4=>, являются показательно диофантовыми. Поэтому и функ-
/иЛ	Y
ция I I показательно диофантова.
Лемма 2 (Ю. Робинсон [2]). Функция у = х! показательно диофантова.
Докажем формулу г>(2ЖГ+1=фх!=[гУ(^].	(2)
При х = 0 эта формула очевидна. Пусть х 0. Тогда
1/(1 - 0) < 1 4- 20 для О<0<1,
(1+0)ж< 14-2*0 для О<0<1,
<ж!(1 4-у)Х<а:! (11 2*	< х! 4-1.
342	ГЛ. VI. ВАРИАНТЫ МАШИН И АЛГОРИТМОВ
Полагая в формуле (2) г = (2 (х 4- 1))ж+1, получим
z! = [(2 (z 4- 1))х(х+1)Д(2 +1))Х+1 )].
На основании теоремы 1 и леммы 1 заключаем, что функция х! показательно диофантова.
Лемма 3. Отношение между числами х, у, р, q, к, выражаемое формулой
является показательно диофантовым.
Пусть а = p/q, а > к. По формуле Тейлора с остаточным членом в форме Лагранжа имеем
а-
Я2‘+1 (1 + а-2)“= 2 ( “ \a^-2j+l + / “ J а-1(1 +
j=o ' 1	' 1 '
к
= 2 ( а ) a2/‘-2j+1 + 3=0 ' 1'	(3)
где 0	0	1, 0	0'	1. Положим j=0 ' ' ' и будем искать такое целое а, чтобы	(4)
Sk (а) = [я2^1 (1 4- я"2)®],	
5^1 (я) = [я2*-1 (1 4- я-2)“].	(6)
Допустим, что а делится на <рк\. Тогда Sk (а) и Sk_i (а) будут целыми числами (см. формулу (4)). С другой стороны, если а Д> 2P-Ipft+1, то остаточные члены в формуле (3) и в аналогичной формуле для к — 1 будут меньше чем 1. Таким образом, формулы (5) и (6) истинны для а = = 2ppli+1q’l'kl. Но из (4) следует
(^) = а^(я)-я^_1(«).
Все функции, встречающиеся в этой формуле справа от знака равенства, являются показательно диофантовыми и лемма 3 доказана.
§ 16. ДИОФАНТОВЫ УРАВНЕНИЯ
343
Лемма 4. Функция ф (а, Ь, у), определенная равен-v
ством ф(а, Ъ, у) = П(а + bi), является показательно дио-1=0
фантовой.
Это непосредственное следствие предыдущих лемм и у
формулы П (а + Ы) = (а1Ь^У) аЪуу\. i=o	4	'
Перейдем к доказательству основного результата.
Теорема 2 (Девис, Патне м, Ю. Робинсон Ill). Каждый рекурсивно перечислимый предикат показательно диофантов.
Достаточно рассмотреть случай, когда предикат одноместен и потому эквивалентен отношению х ее М, где М — рекурсивно перечислимое множество чисел. Согласно теореме Девиса (п. 16.2) существует такой многочлен G (х, у, z, Xi, . . ., хт) с целыми коэффициентами, что
X е М 44 (Зу) (Vz < у) (Нац < у)... (3zm < у) (G = 0).
Поэтому остается лишь доказать, что отношение
(Vz < у) (3X1 < у).. .(Эа:т < у) (G (х, у, z,xu..., хт) = 0) показательно диофантово.
Пусть и — степень G, s — сумма абсолютных величин коэффициентов G. Полагая
Н (х, y) = (s+ 1) (х 4- 1)“ (у + 1)“, будем иметь
Н (х, у) > у,
(Vz<y) (Ужх<у). . - (Vrcm< ?/) (I G (ж, у, z, Xi, . . ., arm)|<
<Я(м))-
Докажем, что имеет место эквивалентность
(Vz < у) (3zi< У).  .(Jxm<y) (G(x, у, z, xi, .. .,хт) = 0)<& 
44 (Зс/ai.. .ат) = Н {х, у)\ & 1 4- (1 4- с) t = s+i
= П (1 4-«)&(! 4-(1 4-c)t)|G(a:,y,c,ai,.. .,ат)& i=O
& (1 4- (1 4- C)t |П(ах - i)&.. .& (1 4- (1 4- с) d П (От-о).
i^y	iCtf	}
П)
I
344	ГЛ. VI. ВАРИАНТЫ МАШИН И АЛГОРИТМОВ	|
Пусть для некоторых х, у правая часть этой эквива- i лентности истинна. Покажем, что левая часть также истинна. Рассмотрим какое-нибудь натуральное z, не превосходящее у, и пусть рг — простое число, делящее 1 + + (z + 1)Z. Тогда, полагая	I
rest (а,, рг) = xzj (J = 1, . . ., т), достаточно показать, что
xzi 'С У	(8)
и
G (х, у, z, Жд, . . ., х2т) = 0.	(9)
Согласно (7) pz делит Ц (tz7- — г) и потому pz | а7- — г 1 г<У	|
для	подходящего	г,	0	i	у.	Следовательно,	I
rest	(а>,	рг) = rest (i,	pz) <	У	I
и (8)	доказано.	|
Далее, из (рг, t) — 1 и t = Н (х, у)] следует рг >
Н (х, у). Так как xzj у, z у, то
| G (х, у, г, х21, . . ., xzm) | < Н (х, у) < pz. (10)
Но 1 + (с + 1) t ~ 0 (mod 1 + (z + 1) if), поэтому с ~ z (mod 1 + (z 4- 1) t) и с = z (mod p^. Так как
xzi =s at (mod pz) и (1 + (1 + c) t) | G (x, y,
c, av, . ,.;1, am), TO
G У, 2,	• • *, xzm) ==: G {xy Уч C, fli, . . .,	=
= 0 (mod pz).
Из (10) и (11) получаем (9).
Обратно, предположим, что для фиксированных х, у левая часть эквивалентности (7) истинна и, следовательно, для каждого z — 0, 1,. . ., у существуют числа xzi, . . . . . ., xzm у такие, что
У1 • • •, fym) ~ 9.
Полагаем Н (ж, р)! == f и определяем с из условия у+1
1 + (с + 1)/= П (!+«)•
Тогда для каждых i, j^y, i числа 1 + (г + 1) t и 1 + (/ + 1) t взаимно просты.
§ 16. ДИОФАНТОВЫ УРАВНЕНИЯ '	345
Действительно, если простое число р делит одновременно указанные числа, то р %елтн: и (/ — i) t. Но
I i — ] I < У < H (ж, у), t = Н (х, у)!, поэтому р делит и число t, что невозможно, так как р не может делить одновременной и 1 + (i -f- 1) t.
Итак, числа 1 + (i 4- 1) t для i — 0, 1, . . ., у попарно взаимно просты. Согласно известной теореме об остатках (см. п. 3.3) отсюда следует существование натуральных чисел ai, . . ., ат, удовлетворяющих сравнениям at ~ xti (mod (1 + (z + 1) if))
(z = 0, 1, . . ., у; i =1, 2, . .	m).	(12)
Как и прежде, csz (mod (1 + (z + 1) £)), поэтому
G (x, y, Ct Я1, . . ., я,,,) == G (x, y, Z, Хгх, . . ., xzm) = s 0 (mod (1 + (z + 1) 0)
для z = 0, . . ., у. Так как модули взаимно просты, то
1 + (с Ч- 1) t | G (х, у, с, ai, . . ., ат).
Аналогично, из (12) имеем
1 + (z + 1) t | at — xzi, xzi < y, и потому
У
1 + (z+ ф| П («: — /)
1 j=o
для каждого z у. Так как эти делители попарно взаимно просты, то
у+1	у
П (1-Н0| П (а»-7)
1=0	1=0
и потому правая часть эквивалентности (7) истинна.
Для окончания доказательства теоремы остается лишь проверить, что все отношения, находящиеся в правой части эквивалентности (7), показательно диофантовы. Показательная диофантность первых трех отношений, участвующих в этой части, была установлена выше. Что касается остальных отношений, то они также показательно
34б	ГД. VJ. ВАРИАНТЫ МАШИН Й АЛГОРИТМОВ
диофацтовы, так как
V
1 + (1 4-c)d П («» — V
>0
У
V (3^)(at= у + и +	+ (1 + с)| П (и + + /))•
Теорема доказана.
Дополнения и примеры
1.	Для любого целого ш > 2 совокупность натуральных чисел, не являющихся степенями w, диофантова. Будет ли для какого-нибудь га > 2 совокупность всех степеней w диофантовой — пока не решенная проблема (Ю. Робинсон [2])*).
2.	Для каждого тг > 1 отношение
Р (а0, <ц,.. ., ап) <=> (Зя) (аохп + ... + ап_гх Д- ап = 0)
дважды диофантово. В частности, дважды диофантово отношение (Зу)(Л (ж у) = 0), где Р — многочлен от переменных ж, у, имеющий целые коэффициенты (Тарский, см. Ю. Робинсон [2]).
3.	zi-я суперстепень х, символически х * п, определяется рекурсией
г*0=1, х * (п + 1) = хх*п.
Ю. Робинсон [2] показала, что если существует диофантово отношение Р (х, у), удовлетворяющее требованиям
(Зтг)(Ужу)(Р (я, у) -> у < х * п), (Утг)(Эяу)(Р (х, у) &у > хп),
то отношение z = xV диофантово.
4.	В теореме 2 и. 16.2 число m не фиксировано. Р. Р о б и н-сон [2] дал другое доказательство,из которого следует, что в упомянутой теореме можно взять m = 4, то есть что для каждого рекурсивно перечислимого множества М существует многочлен F от семи переменных с целыми коэффициентами, для которого
х е= М & (Зу) (Vz < у) (Эя! < у). . .
• • • (Эа:4 < У) У У, z, zi, х2, хз, х^ = 0).
5.	Не существует алгорптма, позволяющего для любого многочлена с целыми коэффициентами сказать, представляет ли он все натуральные числа, начиная с некоторого, пли нет (П а т н е м [1]).
6.	Для каждого рекурсивно перечислимого множества ЛГ существует такой многочлен F с целыми коэффициентами, что
х е Л£ <4 (Зу > х) (V Я1 < у).. .(Vxn < у) (F (х, y,xlt,.., хп) = 0).
*) См. Приложение, с. 363.
§ 16. ДИОФАНТОВЫ УРАВНЕНИЯ	347
7.	10-я проблема Гильберта неразрешима, если для каждого целого положительного к существуют а, Ъ, х, у такие, что ах3 — — Ъу3= 1 и хотя бы одно из чисел х, у больше, чем (а + Ь)к (Д е-вис и Патне м [1], Девис [2]).
8.	В кольце [£] всех многочленов от одной переменной £ с целыми коэффициентами каждое рекурсивное перечислимое множество Jtf положительных чисел диофантово. Это означает, что существует многочлен F (X, Ylt . Yn) с коэффициентами из N (О такой, что
а е= Мфф (ЗКь . . Yn) (F (а,	. ., Q = 0),
где кванторы относятся к совокупности всех Гэлементов кольца N (Q (Девис иПатнем [1]).
СПИСОК ЛИТЕРАТУРЫ
А д я н С. И.
1.	О проблеме делимости в полугруппах.— ДАН СССР, 1955, 103, № 5, с. 747—750.
2.	Неразрешимость некоторых алгебраических проблем теории групп.— Тр. Московск. мат. о-ва, 1957, 6, с. 231—298.
3.	К проблеме тождества в ассоциативных системах специального вида.—ДАН СССР, I960, 135, № 6, с. 1297—1300.
Аккерман (Ackermann W.)
1. Zum Hilbertschen Aufbau der reelen Zahlen.— Math. Ann., 1928, 99, S. 118—133.
Барздинь Я. M.
1. Об одном классе машин Тыорйнга (машины Минского).— Алгебра и логика, 1962, 1, № 6, с. 42—51.
Баумслаг, Бун и Нейман (Baumslag G., Boone W., Neumann В.)
1. Some unsolvable problems about elements and subgroups of groups.— Math. Scand., 1959, 7, p. 191—201.
Б e p e ц к и (Berecki I.)
1. Nem-elemi rekurziv fuggveny letezesc.— Comptes Rend us du Premier Congres des Mathematiciens Hongrois, 1950, p. 409—417.
Бриттон (Britton J. L.)
1. The word problem.— Ann. Math., 1963, 77, № 1, p. 16—32. Б у н [(Boone W.)
1. The word problem.— Ann. Math., 1959, 70, № 2, p. 207—265. Б ю хи (Bucni J. R.)
1. Regular canonical systems.— Arch. math. Logik GrundLagenf., 1964, 6, № 3-4, p. 91-111.
Ван Хао (Wang Hao)
1. A variant to Turing’s theory of computing machines.— J. Assoc. Comp. Mach., 1957, 4, № 1, p. 63-92.
2. Tag systems and Lag systems.— Math. Ann., 1963, 152, № 1, p. 65—74.
Ватанабе (Watanabe S.)
1. 5-symbol 8-state and'5-symbol 6-state universal Turing machines.— J. Assoc. Comp. Mach., 1964, 8, № 4, p. 476—483.	[Русский
перевод: Ват а’н а б е С. Универсальные машпны Тьюринга с 5 символами 8 состояниями и 5 символами 6 состояниями.— Кибернетический сборник, 6. М.: ИЛ, 1963, с. 80—90.]
Г ё д е л'ь (Godel К.)
1. Uber formal unentscheidbare Satze der Principia Mathematica und verwander Systeme, 1.— Monatsh. Math. Phys., 1931, 38, S. 173-198.
список литературы
349
Гжегорчик (Grzegorczyk А.)
1. Some classes of recursive functions.—Rozpr. mat., Warsaw, 1953. Гильберт (Hilbert D.)
1. Mathematische Probleme.— Nachr. K. Ges. Wiss. Gottingen, math.-phys. KI., 1900, p. 253—297. [Русский перевод: Проблемы Гильберта.— М.: Наука, 1969.]
2. Uber das Unendliche.— Math. Ann., 1926, 95, S. 161—190.
Гильберт и Бернайс (Hilbert D., Bemays P.)
1. Grundlagen der Mathematik, Bd. 3.— Berlin, 1934. Bd. 2 — Berlin, 1939. [Русский перевод: Гильберт Д., Бер на й сП. Основания математики: Логические исчисления и формализация арифметики,— М.: Наука, 1982. Основания математики: Теория доказательств.— М.: Наука, 1982.]
Г и н з б у р г и Роуз (Ginsburg S., Rose G. F.)
1. A comparison of the work done by generalized sequential machine and Turing machines.— Trans. Amer. Math. Soc., 1962, 103,, p. 394—402.
ГлушковВ.М.
1. Теория алгоритмов.— Киев, 1961.
2. Синтез цифровых автоматов.— М.: Физматгиз, 1962. Гуревич Ю.Ш.
1.	Элементарные свойства упорядоченных абелевых - групп.— Алгебра hj;логика, 1964, 3, № 1, с. 5—39.
Девис (Davis М.)
1.	Computability and Unsolvability.— N. Y., 1958.
2.	Unsolvable problems: A review.— Proc. Symp. Math. Theory of Automata. N. Y., 1962.
3.	Extensions and corollaries of recent work on Hilbert’s tenth problem.— Ill. J. Math., 1963, 7, № 2, p. 246-250.
Девис и Патнем (Davis M., Putnam H.)	. —
1. Diophantine sets over polynomial rings.— Ill. J. Math., 1963, 7, № 1, p. 251-256.
Девис, Патнем и IO. Робинсон (Davis M.., Putnam H., Robinson J.)
1. The decision problem for exponential Diophantine equations.— Ann. Math., 1961, 74, p. 425—436. [Русский перевод: Д’е -вис М., Патнем X., Робинсон IO. Проблема разрешимости для показательных диофантовых уравнений.— Математика (сб. переводов), 1964, № 5.]
Деккер' (Decker J. С.)
1. Two notes on recursively enumerable sets.— Proc. Amer. Math. Soc., 1953, 4, c. 495-501.
2. Productive sets.— Trans. Amer. Math. Soc., 1955. 73, p. 129—149. Деккер п M а й x и л (Decker J. C., Myhill J.)
1.	Some theorems on classes of recursively enumerable sets.— Trans.. Amer. Math. Soc., 1958, 89, p. 25—59.
2.	Retraceable sets.— Canad. J. Math., 1958, 10, p. 357—373,-
3.	Recursive equivalence types.— Univ. California Publ. Math. New Ser., 1960, 3, N 3, p. 67—214.
Д e т л о в с В. K.
1. Нормальные алгоритмы п рекурсивные функции.— ДАН СССР, 1953, 90, с. 723—725.
Ейтс (Yates С. Е.)
1. Recursively enumerable sets and retracing functions.— Z. matb, Logik Grundl. Math., 1962, 8, p. 331—345.
350
СПИСОК ЛИТЕРАТУРЫ
Ершов 10. Л.
1. Неразрешимость теорий симметрических и простых конечных групп,— ДАН СССР, 1964, 158, № 4, с. 777—779.
Е р ш о в 10. Л., Лавров И. А., Тайманов А. Д. и Та fill л и н М. А.
1. Элементарные теории.— УМН, 1965, 20, № 4.
Зыкин Г. П.
1. Замечание об одной теореме Хао Вана.— Алгебра и логика, 1963, 2, № 1, с. 33-35.
Кальмар (Kalmar L.)
1. Egyszcra pelda eldonthetetlen arithemtikal problemara.— Matematikai es Fizikai Lapok, 1943, 50, p. 1—23.
Клив (Cleave J. P.)
1. Creative functions.— Z. math. Logik Grundl. Math., 1961, 7, p. 205-212.
2. A hierarchy of primitive recursive functions.— Z. math. Logik Grundl. Math., 1963, 9, № 4, p. 331-345.
Клини (Kleene S. C.)
1.	General recursive functions of natural numbers.— Math. Ann., 1936, 112, p. 727—742.
2.	%-definability and recursiveness.— Duke Math. J., 1936, 2, p. 340-353.
3.	Introduction to Metamathematics.—Princeton (N. J.), 1952. [Русский перевод: Клин и С. К. Введение в метаматематику.— М.: ИЛ, 1957.]
Кок и Минский (Cocke A., Minsky М.)
1. Universality of р = 2 Tag systems.— Cambridge (Mass.), 1963, A. I. Memo № 52.
Колмогоров A. H. и Успенский В. A.
1. К определению алгоритма.— УМН, 1958, 13, № 4, с. 3—28.
Кузнецов А. В.
1. О примитивно рекурсивных функциях большого размаха.— ДАН СССР, 1950, 71, № 2, р. 233—236.
Л е м б е к (Lambeck I.)
1. How to program infinite abacus.— Canad. Math. Bull., 1961, 4, № 3.
Л ю (L i u S. C.)
1. A theorem on general recursive functions.— Proc. Amer. Math. Soc., 1960, 11, № 2, p. 184—187.
2. Proof of the conjecture of Routledge.— Proc. Amer. Math. Soc., 1960, 11, № 6, p. 967—969.
M а й x и л (Myhill J.)
1. A stumbling block in constructive mathematics.— J..Symbolic Logic, 1953, 18, p. 190—191.
2. Creative sets.— Z. math. Logik Grundl. Math., 1955, 1, p. 97— 108.
M а л ь ц e в A. II.
1.	Эффективная неотделимость множеств тождественно истинных и конечно опровержимых формул некоторых элементарных теорий,— ДАН СССР, 1961, 139, № 4, с. 802—804.
2.	Конструктивные алгебры, 1,— УМН, 1961, 16, № 3, с. 3—60.
3.	Полно нумерованные множества.— Алгебра и логика, 1963,
2,	№ 2, с. 4—30.
4.	К теорпп вычислимых семейств объектов,— Алгебра и логика, 1964, 3, № 4, с. 5-31,
СПИСОК ЛИТЕРАТУРЫ
351
М арков А. А.
1.	О представлении рекурсивных функций.— Изв. АН СССР, сер. мат., 1949, 13, № 5, с. 417-424.
2.	Теория алгоритмов.— Тр. мат. ин-та АН СССР им. В. А. Стеклова, 42. М.: Изд-во АН СССР, 1954.
3.	К проблеме представимости матриц.— Z. math. Logik Grundl. Math., 1958, 4, N 2, p. 157-168.
Медведев IO. T.
1. О неизоморфных рекурсивно перечислимых множествах.— ДАН СССР, 1955, 102, № 2, с. 211—214.
М и н с к п п (Minsky М. L.)
1. Recursive unsolvability of Post’s problem of «Tag» and topics in theory of Turing machines.—Ann. Math., 1961, 74, p. 437— 455.
M и x а й л о в a K. A.
1. Проблема вхождения для прямых произведений групп.— ДАН СССР, 1958, 119, № 6, с. 1103-1105.
М ошс т о в с к и й (Mostowski А.)
1. A formula with no recursive enumerable model.— Fundam. math., 1955, 41, № 1, p. 125-140.
Мучник A. A.
1. Об отделимости рекурсивно перечислимых множеств.— ДАН СССР, 1956, 109, № 1, с. 29-32.
2. Изоморфизм систем рекурсивно перечислимых множеств с эффективными свойствами.— Тр. Моск, матем. о-ва, 1958, 7, с. 407—412.
Нагорный Н. М.
1. К усилению теоремы приведения теории нормальных алгоритмов,— ДАН СССР, 1953, 90, № 3, с. 341-342.
Новиков П. С.
1. Об алгоритмической неразрешимости проблемы тождества слов в теории групп. — Тр. мат. ин-та АН СССР им. В. А. Стеклова, 44. М.: Изд-во АН СССР, 1955, с. 1-144.
П а т н е м (Putnam Н.)
1. An unsolvable problem in number theory.— J. Symbolic Logic, 1960, 25, № 3, c. 220—232.
2. On hierarchies and systems of notations.— Proc. Amer. Math. Soc., 1964, 15, № 1, p. 44—50.
Петер (Peter R.)
I. Rekursive Funktionen.— Budapest, 1951. [Русский перевод: Петер P. Рекурсивные функции.— М.: ИЛ, 1954.]
2. Programmierung und partiellrekursive Funktionen.— Acta math, hung., 1963, 14, S. 373—401.
Полякове. A.
1.	Алгебры рекурсивных функций.— Алгебра и логика, 1964, 3, № 1, с. 41—55.
Пост (Post Е. L.)
1.	Finite combinatory processes—formulation 1,— J. Symbolic Logic, 1936, 1, p. 103—105. [Русский перевод: Пост Э. Конечные комбинаторные процессы — формулировка 1.— В кн.: Успенский В. А. Машина Поста. М.: Наука, 1979, с. 89—95.]
2.	Formal reduction of the combinatorial decision problem.— Amer. J. Math., 1943, 65, p. 197-215.
352
СПИСОК ЛИТЕРАТУРЫ
3.	Recursive enumerable sets of positive integers and their decision problems.— Bull. Amer. Math. Soc., 1944, 50, p. 284—316.
4.	A variant of a recursively unsolvable problem.— Bull. Amer. Math. Soc., 1946, 52, № 4, p. 264—268.
5.	Recursive unsolvability of a problem of Thue.— J. Symbolic Logic, 1947, 12, № 1, p. 1—11.
П_у р-Э л ь (Pour-El M. B.)
1.* Godel numbering versus Friedberg numberings.— Proc. Amer. Math. Soc., 1964, 15, № 2, p. 252—255.
П у р-Э льи Ховард (Pour-El М. В., Howard W. А.)
1. A structural criterion for recursive enumeration without repetition.— Z. math. Logik Grundl. Math., 1964, 10, № 2, p. 105—114.
Рабин ,(Rabin M. 0.)
1.' Recursive unsolvability of group theoretic problems.— Ann. Math., 1958, 67, p. 172—194.
2. Computable algebra, general theory and theory of computable fields.— Trans. Amer. Math. Soc., 1960, 95, № 2, p. 341—360.
Райс (Rice H. G.)
1.	Classes of recursively enumerable sets and their decision problems.— Trans. Amer. Math. Soc., 1953, 74, p. 358—366.
2.	On completely recursive enumerable classes and their key arrays.— J. Symbolic Logic, 1956, 21, p. 304—308.
3.	Recursive and recursively enumerable orders.— Trans. Amer. Math. Soc., 1956, 83, p. 277—300.
P а у т л e д ® (Routlege N. A.)
1. Ordinal recursion.— Proc. Cambr. Phil. Soc., 1953, 49, p. 175— 182.
Ричи (Ritchie R. W.)
1. Classes of predictable computable functions.— Trans. Amer. Math. Soc., 1963, 106, p. 109—163.
Робинсон A. (Robinson A.)
1. Introduction to Model Theory and to the Metamathematics of Algebra.— Amsterdam, 1963. [Русский перевод: Робинсон A. Введение в теорию моделей и метаматематику алгебры.— М.: Наука, 1967.]
Робинсон Р. (Robinson R. М.)
1. Primitive recursive functions.— Bull. Amer. Math. Soc., 1947, ’ 53, p. 925—942.
2. Arithmetical representation of recursively enumerable sets.— J. Symbolic Logic, 1956, 21, p. 162—186.
Робинсон IO. (Robinson J.)
1. General recursive functions.— Proc. Amer. Math. Soc., 1950, 1, ' p. 703—718.
2. Existential definability in arithmetic.— Trans. Amer. Math. Soc., 1952, 72, p. 437—439.
Роджерс (Rogers H., Jr.)
1. Godel numberings of partial recursive functions.— J. Symbolic Logic, 1958, 23, p. 331—341.
Сакс (Sacks G. E.)
1.	A simple set which is not effectively simple.— Proc. Amer. Math. Soc., 1964, 15, N 1, p. 51—55.
С к у л e м (Skolem Th.)
1.	Remarks on recursive functions and relations.— Det Kongelige Norske Videnskabers Selskab, Forhandlinger, 1944, 17, p. 89— 92.
список литературы	353
2.	Some remarks on recursive arithmetic.— Det Kongelige Norske Videnskabers Selskab, Forhandlinger, 1944, 17, p. 103—106.
3.	A theorem on recursively enumerable sets.— In: Abstr. short comm. Int. Congress Math., 1962. Stockholm, p. 11.
Сиальян (Smullian R. M.)
1. Theory of Formal Systems.— Ann. Math. Studies, 1961. [Русский перевод: СмальянР. M. Теория формальных систем.—М.: Наука, 1981.]
3. On Post’s canonical systems.— J. Symbolic Logic, 1962, 27, p. 55-57.
Тарский (Tarski A.)
1. Der Wahrheitsegriff in den formalisierten Sprachen.— Studia Philosophica, 1936, 1, S. 261—405.
Тарский и Маккинси (Tarski A., McKinsey J. С. C.)
1. A Decision Method for Elementary Algebra and Geometry.— 2nd ed.— Berkeley, 1951.
Тарский, M о стовский и P. Робинсон (Tarski A., Mostowski A., Robinson R.M.)
1. Undecidable Theories.— Amsterdam, 1953.
Трахтенброт Б.А.
1. Алгоритмы и машинное решение задач.— М.: Физматгиз, 1960.
Т р и т т е р (Tritter А.)
1. Universal Turing machine with 4 symbol and 6 states (cm. Ван Хао [2]).
Тьюринг (Turing A. M.)
1. On computable numbers with an application to the Entscheidungs-problem.— Proc. London Math. Soc. (2), 1937, 42, p. 230—265. Correction.— Proc. London Math. Soc. (2), 1947, 43, p. 544—546.
2. Computability and %-definability.— J. Symbolic Logic, 1937, 2, p. 153—163.
Успенский В. A.
1.	Системы перечисленных множеств п их нумераций.— ДАН СССР, 1955, 105, № 6, с. 11ю5—1158.
2.	Несколько замечаний о перечисленных множествах,— Z. math. Logik Grundl. Math., 1957, 3, с. 157—170.
3.	Лекции о вычислимых функциях,— М.: Физматгиз, 1960.
Фефер м ан (Feferman S.)
1. Classification of recursive functions by means of hierarchies.— Trans. Amer. Math. Soc., 1962, 104, p. 101—122.
Ф н ш e p (Fischer P. O.)
1. A note on bounded-truth-table reducibility.— Proc. Amer. Math. Soc., 1963, 14, p. 875—877.
Фридберг (Friedberg R.M.)
1. Three theorems on recursive functions: I. Decomposition. II. Maximal sets. III. Enumeration without duplication.— J. Symbolic Logic, 1958, 23, p. 309—318.
Фридберг п Роджерс (Friedberg R. M., Rogers H., Jr.)
1. Reducibility and completeness for sets of integers.— J. Symbolic Logic, 1959, 24, p. 117—125.
X и г м e н (Higman G.)
1. Subgroups of finitely presented groups.— Proc. Roy. Soc., 1961, 262, № 1311, p. 455—475.
Холл (Hall M., Jr.)
1. The word problem for semi-groups with two generators.— J. Symbolic Logic, 1949, 14, p. 115—118.
354
СПИСОК ЛИТЕРАТУРЫ
Ц е й т и и Г. С.
1. Ассоциативное исчисление с неразрешимой проблемой эквивалентности.— Тр. мат. ин-та АН СССР им. В. А. Стеклова, 52. М.: Изд-во АН СССР, 1958, с. 172—189.
2. Изложение теории алгоритмов на языке бинарных отношений.— В кн.: 5-й Всес. коллоквиум по общей алгебре: Резюме сообщений и докладов. Новосибирск: Ин-т математики, 1963, с. 55.
Чёрч (Church А.)
1.	An unsolvable problem of elementary number theory.— Amer. J. Math., 1936, 58, p. 345-363.
2.	A note on the Entscheidungsproblem.— J. Symbolic Logic, 1936, 1, p. 40—41. Correction.— J. Symbolic Logic, 1936, 1, p. 101 — 102.
3.	The Calculi of Lambda-conversion.— Princeton (N. J.), 1941.
Ill e н н о н (Shannon C.)
1. A universal Turing machine with two internal states.— In: Automata Studies. Princeton, 1956. [Русский перевод: Ш еин он К. Универсальная машина Тьюринга с двумя внутренними состояниями.— В кн.: Автоматы. М.: ИЛ, 1956.]
Ш е и е.р д с о н иСтургис (Shepherdson J. С., Sturgis Н. Е.)
1. Computability of recursive function.— J. Assoc. Comp. Mach., 1963, 4, p. 217-255.
Шмелёва (Szmielew W.)
1. Elementary properties of Abelian groups.— Fundam. math., 1955, 41, № 2, p. 203-271.
ПРИЛОЖЕНИЕ
ДИОФАНТОВОСТЬ РЕКУРСИВНО ПЕРЕЧИСЛИМЫХ МНОЖЕСТВ И ПРЕДИКАТОВ
Д. А. ЗАХАРОВ
1. Основная теорема. Известно, что каждое диофантово множество и предикат являются рекурсивно перечислимыми (с. 325). В начале пятидесятых годов, по-видимому впервые М. Девисом, была высказана гипотеза, что верно и обратное, т. е. каждое рекурсивно перечислимое множество и предикат диофантовы. В 1961 г. Девис, Патне м и 10. Робинсон [1]*) доказали, что каждое рекурсивно перечислимое множество и предикат показательно диофантовы (последняя теорема § 16).
Пусть а Е М Зг/z (Р (а, у, z, yz) — 0), где Р (а, у, z, и) — многочлен с целыми коэффициентами. Тогда
а Е М ФФ (3yzu) (Р (а, у, z, и) = 0 & и = yz').
Если бы удалось доказать, что отношение и — yz диофантово, скажем,
и = yz ФФ (3pjP2 . . . pfc) (Q (u, у, z, p,, v?i, . . vy} =0), где Q — многочлен с целыми коэффициентами, то мы легко бы установили, что М диофантово.
Ясно, как обобщить этот пример.
В 1952 г. 10. Робинсон [2] *) получила следующий результат; если существует диофантово отношение D (и, р) такое, что
(Уир) (D (и, р) =Ф> v и11),	(1)
(VA)(3up) (D (и, p) & и* < p),	(2)
то отношение z = xv диофантово.
Говорят, что отношение D (и, р) имеет экспоненциальный рост, если оно .удовлетворяет условиям (1) и (2).
Первый пример диофантова отношения экспоненциального роста был указан 10. В. Матиясевичем в 1970 г. в работе [1*]. Такпм будет отношение и = <p2U, где <р0 = 0, фх = 1, <рп+, = <рп+1 + (<рп-—известная последовательность Фибоначчи). Заметим, что 2“-1<<p2U<3“, и>0.
Так была установлена
Основная теорема ([1*], [2*]). Всякий рекурсивно перечислимый предикат диофантов. Всякое рекурсивно перечислимое множество диофантово.
Такпм образом, класс диофантовых предикатов совпадает с классом рекурсивно перечпслимых предикатов и класс дпофантовых
*) См. список литературы к основному тексту книга.— При-меч. ред.
356
ПРИЛОЖЕНИЕ
множеств совпадает с классом рекурсивно перечпслимых множеств.
Наше приложение имеет весьма скромную цель — к материалу книги добавить минимальное число фактов, необходимых для доказательства основной теоремы, точнее, для доказательства диофанто-вости отношения z = ху. В п. 2 мы изучаем уравнения Нелля специального типа и свойства решений этих уравнений, в и. 3 с помощью одного диофантова отношения находим диофантово представление для отношения у = хп, в п. 4 приводим некоторые следствия и дополнения.
2. Специальные уравнения Пелля. Переходим к изучению уравнений Пелля вида
х2 — dy2 = 1, d = а2 — 1, а е N, а > 1.	(*)
Наша ближайшая цель — описать все решения уравнения (*) в N и установить ряд свойств этих решений.
Так как d — число иррациональное, то для всякого п > О однозначно определяются натуральные числа %о (ге) и фа (тг) такие, что
Хо(п) + Фа(п)/^ = (в+У’й)П.
Отсюда, используя биномиальное разложение, получаем
Х» = S	(2)
'	г<^тг
i четно	i нечетно
Очевидно наряду с (1) имеем также
Ха(п) — i|)a(rejVd = (a—/d)".	' (3)
Дополнительно определяем
%), (н) = 1, ф1 (п) = п.	(4)
При фиксированном а иногда будем писать хп вместо уо (тг) и уп вместо фо (тг).
Предложение 1 (описание решений). Совокупность всех решений уравнения (♦) в N описывается последовательностью ('%а (п), Фа («)), п = 0, 1, 2, . . .	'	_	...
Доказательство. Перемножаясоответственно' Левые., и правые частп равенств (1) и (3), получаем	...... ..... ..
Ха (гг) — ^Фа('г) = (“2 d,n == L.'- ' " "	;
Таким образом, (уа (тг), фа (п)) есть решение уравнений '(*). Чтобы доказать, что других решений в ЗУ уравнение (*) не имеет, потребуются две леммы.
Лемма 1. Не существует никаких целых чисел х, у, удовлетворяющих уравнению (*) и таких, что 1 < х 4- y\[~d < a ф- \/~d.
Допустим, что такпе х, у существуют. Тогда
(х -|- y]/~d) {х ~ y]/~d) = (a + d) (a — ]/~d] = 1,
ПРИЛОЖЕНИЕ
357
В исходном неравенстве сначала перейдем к обратным числам, затем умножим все части на —1. Тогда получим — 1 < —х -j- у Yd < < —а + ]/'d. Складывая это неравенство почленно с исходным, найдем, что 0 < 2yYd <С 2]/"d и 0 < у <1. Получаем противоречие, так как у — целое число.
Лемма 2. Пусть х, у и х , у' — целые числа, удовлетворяющие уравнению (*), а х", у" определяются из равенства х" -J--f- y"Yd = {х yY d) (х' -j- y'Yd). Тогда (x", у") — тоже решение уравнения (*).
Из определения х", у" имеем также х" — y"Yd= (х — yY~d) • • (х' — у Yd)- Перемножая соответственно левые и правые части равенств, получим
х"1 — dy"1 = (а:2 — dy2) (х'1 — dy'1) = 1.
Пусть теперь (х, у) — решение уравнения (*) в N. Если (х, у) = (1, 0), то в (1) берем п = 0. Полагаем далее х, у > 0. Тогда х + yYd > 1. Так как а 4- ]/’d > 1, то найдется к такое, что
(а + Yd/ < х + У Y~d< (a+Yd)k+1.
Если имеем равенство, то (х, у) = (х^, у\) в силу (1). Если же (а + Yd)k < х 4- у Y~d< (а + 1Л^)т,
то, умножая все части неравенства на (а — Yd)k = xf- — yitYd, получим
1 < (х 4- yYd) (xjt — yjtYd) <_ а + Yd,
что противоречит леммам 1 и 2. Итак, (х, у) = (ха (к), т|)о (к)).
Далее (Ха (п), -фа (п)) будем называть л-м решением уравнения (*) в Y.
Предложение 2 (формулы сложения). Для 0 т п Ха(л ±т}=ха(п)уа(т)+%(п)фо(т) d, т|>а (п ± т) = ± Хо (п) фо (nt) 4- ха (т) % (ге).
Пишем хп вместо '/а (п), уп вместо фа (п), а фиксировано. В сп-лу (1) имеем
x1i-srynY^={a+Yd)n^ x:rK + ymYd = (a + Y~d)m-
Тогда
(хп + УпY~d) (хт+ymY~d) = (а + Yd)™™ =	+ Уп+тYd.
Отсюда следуют формулы (5) для п 4- т.
Пусть т + q = п и хп 4- ynY d= (xq + yqYd) (xm 4-4- ymY~d)- Умножая обе части на хт — ymYd и учитывая, что хт~ dy^= 1, получим
xq + Uq Y~d = (хп 4- уп Y~d) (хт - ymYd).
Это дает формулы (5) для п — т.
358
ПРИЛОЖЕНИЕ
В частности,
Х2п = хп + ^п> У2П = 2хпУп- 	(6)
 Предложение 3 (рекуррентные соотношения). Имеем, 7м (0) = 1, Ха (1) = а> Ха (я + 1) = 2аха (я) — Ха (я — 1), (7) фа (0) = 0, фа (1) = 1, фо (я + 1) = 2a^a (я) — % (п — 1), а также
Ха (я + 1) = аХа (я) + Йфа (я), фа (я + 1) = Ха (я) + афа (п). (8)
Для проверки (7) достаточно установить равенство (а + 1/1)п+1= 2а (а + ]Лй)" - (а + /й)”"1.
Формулы (8) немедленно следуют пз формул (5) для п + 1. Предложение 4 (о сравнениях). Если а > 0, Ъ > 0 и а = Ъ mod т, то
Ха (п) = Хь (я) mod т, фо (п) = % (п) mod т.
В частности, если Ъ = 1 mod т, то ф}, (я) = п mod т.
Утверждения прямо следуют из формул (2) для Ха (п) и Фа (я), из обычных свойств сравнений и пз (4).
Дальше нас более будут интересовать числа фо (я). Рассмотрим ряд дополнительных свойств этих чисел.
Предложение 5 (неравенства и оценки). Имеют место следующие утверждения:
1)	Для a 1 фа (я) монотонно возрастают и п фа (п).
2)	Если 1 а < Ъ, то фа (п) <^фь (п).
3)	Для а 1 и »	0 имеем
(2а-1)"<фа(я+ 1)<(2а)".	(9)
Первые два утверждения следуют из (8) и (2). Доказательство третьего утверждения ведем индукцией по п. Для п = 0, 1 имеемфа (1) = 1, фа (2) = 2а и неравенства очевидны. Еслпфо (п + 1)	(2а)п,
то фа (п + 2) < 2афа (я + 1)	(2а)”+1 в сплу (7). Аналогично,
умножая левую часть (9) на 2а — 1, получим
(2а - 1)"+1< (2а - 1) фа (я + 1) = 2афа (я + 1) -фо (я + 1) <
С Фа (я + 2), так как фо (я + 1) > фо (я).
Предложение 6 (первая передаточная лемма). Для а )> 0 имеем
Фа (т) | фа (я) & т | я,	(10)
Фа (”’) I Фа (я) «=? тфа (™) | п.	(И)
Берем яг > 0, я > 0 и временно для краткости записи обозначим фа (s) через у^, а Ха («) через xs. Тогда в сплу (5)
у ,. = х у, + х.у = хи, mod у .
mat 1 1ят тя1 ят
Так как (хт, ут} = 1 (этп чпсла удовлетворяют уравнению Пелля
ПРИЛОЖЕНИЕ
359
(*)), то
Ут । Утг-t Ут । хтУ(	Ут'У Г
Если п = mq + г, 0 < г < т, то отсюда у | уп & ут | уг. Однако, при 0 < г < т имеем 0 < уТ < ут и ут { уг. Поэтому ут | уп т | п. Тем самым (10) доказано.
Далее, пусть у2т | уп. Тогда т | п и п = тк. В сплу (1)
+ Утк (а + ^)т1С = (хт +	1^-
Отсюда
Уп = Утк = кхт1УтшоАУт-	(12)
Теперь из (12) и из взаимной простоты хт и ут получаем
Ут\Уп^Ут^кхт1Ут^ Ут\к'
т. е. к = ymq, п - тк = mymq и тут | п. Из (12) при п = тУт^ выводим у2т | уп. Тем самым (И) установлено.
В частности, отсюда получаем
Ут\Уп^Ут\п’ Ут\Утут-	(13)
Предложение 7 (вторая передаточная лемма). Пусть а > 1 и q j> 0. Тогда, если ipo (i) =	(/) mod уа (g), то i ~ j или
i = —j mod 2g.
Пусть опять xs = »/o (s), ys = i))o (s). Из (6) получаем
x^=x^ + dyq=zxq + (xq-i'>=2xq-1< ^3 = 2V<T
Отсюда в силу (5) получаем
У2,±т = ± *2qym +	= =F Ут mod xg,
У^±т = ~У2Ч±т=±Ут modV
Это означает, что последовательность уа, уи . . ., у1, . . . по mod xq периодична с длиной периода 4g. Для т g имеем по mod xq
Ут Ущ'1 У^+т Ут’ У^д-т^Ут’ У<1д-т У-т*
Покажем, что чпсла — yq, . . ., — ylt у0, yt, . . ., yq попарно несравнимы по mod жд (кроме случая а— 2, q=l)*).
Для а > 2 имеем 4у^ < (а3 — 1) yg + 1 = х* п yq < xq/2. Поэтому указанные числа принадлежат полной системе абсолютно наименьших вычетов по mod xq п, следовательно, попарно несравнимы по mod xq.
Для а — 2, g > 1 пз рекуррентных соотношений (8) получаем ^ = 4-1+4-!’ ^g = ^-1 + 4-1-
*) При а = 2, д = 1 в сплу (7) имеем xq = 2, y2t = 0, и y2s+l = = 1 mod 2, а тогда уг =yj mod 2 влечет i = ] mod 2.
360
ПРИЛОЖЕНИЕ
Отсюда xq 2я t > 2yq_r и yq_r < xql2. Поэтому числа — yq-v  • •> ~У1< У О’ У1* • • •’ Уд-i попарно несравнимы по mod xq. Остается проверить, что yq ф + уг mod xq для I <( q и yq s= ф — yq mod xq. Первое следует из того, что уа4:Уг =	+ 2yq-i ±
i < хд- Если yq = — yq mod xq, т. e. 2yq = 0 mod xq, to 2^^ + + 4yg_1 = xq + у t = 0 mod xq и Уд-i = 0 mod xq, что невозможно ввиду yq_r < яд_1 < xq.
Итак, для чисел у0, ylt . . . абсолютно наименьшие вычеты по mod xq сначала возрастают от у0 = 0 до yq (на д), затем убывают До —yq (на 3g) и снова возрастают до у0 = 0 (на 4g).
Отсюда несложно выводится заключение предложения 7.
3. Диофантовость отношения у = хп. Все дальнейшее рассуждение разбивается на два этапа. На первом этапе строится диофантов предикат для у = фо (тг), а )> 1, пу > 0, на втором с его помощью устанавливается диофантовость отношения у = хп. Все изложение построено на идеях 10. В. Матиясевича [2*] и 10. Робинсон [2] и [5*]*).
Теорема. Пусть я > 1, у >• 0, ге > 0. Тогда у = ф0 (тг) в том и только в том случае, когда система Матиясевича — Робинсон
1) У = п + к,
2) г2 = (о2 — 1) у2 + 1, 3) g2 = (а2 — 1) 7г2 + 1, 4) h = 2 (г + 1) х2у2,
5) b = а + g2 (g2 — а), 6) и2 = (Ъ2 — 1) v2 + 1, 7) v = у + eg2, 8) о = тг + 2еу
разрешима в натуральных числах относительно х, g, h, i, b, и, v, с, e, к.
Доказательство. Пусть при данных а > 1, у > О, п > 0 система 1) — 8) разрешима в натуральных чпслах относительно остальных переменных. Тогда немедленно видим, что числа х, h, g, v, и, Ъ будут положительными (так как g2 = (я + 1) (я — — 1) /г2 4- 1 > а ввпду я > 1, то g2 — я> 0). Из 2), 3) и 6) выводим согласно предложению 1 п. 2, что существуют натуральные р, g п г такие, что
х = Хя (р)> У = Фя (р); g = Ха (?)> h = Фа (з); и =	(г), V = фь (г).
Искусный выбор числа Ъ обеспечивает особую роль числа v (оно встречается трижды в системе). Именно, и будет играть роль связывающего мостика, с одной стороны, между г и п, с другой — между г и р. Это позволит нам сделать заключение, что р = п и, значпт, У = Фа (п).
Так как h =0 mod 2у в сплу 4), то g2 = 1 mod 2у в сплу 3) п & = 1 mod 2у в сплу 5). Отсюда согласно предложению 4 п. 2 я = фь (г) = г mod 2у.
Из 8) имеем v = п mod 2у и, следовательно, г = п mod 2у. Далее в сплу 5) b = a mod g2. Согласно тому же предложению 4 п. 2 v = фь (г) = Фя (г) mod g2. Так как в силу 7) и = у mod g2, ТО у = фа (р) = фа (г) mod g2, а значпт, фа (р) = фа (г) mod '/а (д). Отсюда согласно предложению 7 п. 2 (вторая передаточная лемма) г = +р mod 2g. Из 4) впдпм, что у2 | h, т. е. ф2 (р) | фа (д). Тогда согласно предложению 6 п. 2 (первая передаточная лемма) фа (р) | д,
*) См. сноску на с. 355.
ПРИЛОЖЕНИЕ
361
т. е. у | у. Поэтому г = +р mod 2у. Таким образом, п = г = mod 2у и п = mod 2у. Из 1) видим, что п О у. Наконец, в предложении 5 п. 2 отмечено, что р ф0 (р) = у. Отсюда п = р и У = Фа (га).
Обратно, пусть а>1, у>0, п>0и1/ = 'фо (п). Мы должны показать, что возможен выбор значений для остальных переменных так, что равенства 1) — 8) выполняются.
Так как п «С фа (тг) = у, то у = п + к для к е N и 1) верно. Полагаем х = ~/а (п) и получаем 2). Берем q = 2тгфо (2п) и полагаем g = /л (g), h = фа (g). Согласно предложению 6 п. 2 (см. эквивалентность (11)) фаа (2тг) | фа (д). Но
фа2 (2тг) = (2Ха (тг),фа(тг))2 = 4я2д2.
Поэтому 4х2у2 | h. Так осуществляются равенства 3), 4). Число b строим согласно 5). Так как g2 > а, то Ъ > а. Полагаем и = хь (га) и v = фь (тг). Получаем 6). Так как Ъ = a mod g2, то фь (тг) = = фо (и) mod g2, т. е. v = у mod g2 и ввиду Ъ > а согласно предложению 5 п. 2 у. Отсюда v = у + eg2. Наконец, как выше, имеем Ъ = 1 mod 2у. Отсюда (предложение 4 п. 2) фь (тг) = тг mod 2у. Так как фь (тг) > тг, то v = тг + 2еу для подходящего е. Итак, 7) и 8) выполнены.
Таким образом, при указанном выборе значений для других неизвестных вся система 1) — 8) удовлетворяется.
Следствие. Существует многочлен D с целыми коэффициентами такой, что если а )> 1, у )> 0, тг > 0, то у — фо (тг) тогда и только тогда, когда
3xghibuvcek (D (а, у, п, х, g, h, i, Ъ, и, и, с, е, к) = 0).
Действительно, все уравнения 1) — 8) имеют вид равенств / = g. Однако, / = g О (/ — g)2 = 0. Конъюнкция равенств — = 0, . . ., /^ = 0 равносильна равенству Л2	+ /&а =
= 0. На основании этих замечаний по системе 1) — 8) можно построить требуемый многочлен D (а, у, п, х, g, h, i, b, и, v, с, e, к) с целыми коэффициентами.
В работе [5*] дается очень изящное и экономное диофантово представление у = фо (га). Но там преследуются и другие цели, которых мы здесь не ставим.
Далее нам нужна
Лемм а. Для а > п > 0 и х > 0 имеет место
ХП< + <gra/j+ «Л.
,Фа (га +1)	\ О /
Доказательство. Согласно формуле (2) п. 1
Фа(га+1)= 2	fn+1Untl"j(a2 —1)°’"1)/2-
js&i+l '	1
j нечетно
Отсюда
Ла(л + 1)= 2	(ПТ1\{ах)п+1^ (аЧ2~ x^S'1)/2.
JsSn+i 1	'
j нечетно
362	ПРИЛОЖЕНИЕ
С другой стороны,
Фаж(га+1) = 2 (Л± 1)(ао:)п^(а2^—1)°"Р/а. j^n+l Х 1	1
j нечетно
Так как х 1, то а2х2 — х2 а2х2 — 1. Поэтому
япфа (га + 1) < фах (га + 1)
и левая часть доказываемого неравенства установлена.
Согласно предложению 5 п. 2 имеем оценки
(2a-1Г<фа (« + !)< (2а)п.
Отсюда
< _см2_ = п / i _ £\-п.
Фа(гаД1) (2а —1)”	\	2а/
Используем следующие легко устанавливаемые неравенства: (1 — a)n > 1 — па для 0 < a < l/zi, (1 — a)-1 < 1 + 2a для 0 < a < 1/2.
Тогда fl —	— Д , так как J-<_L,n /1 — Д') 1 < 1
\	4a J	4a	4a n \ 4a >
-j- — = 1 -|- Д , так как Д <-75-. Отсюда получаем правую часть 2a a	2a 2
доказываемого неравенства.
Теорема. Имеем эквивалентность
у = хп <=> (и = 0 & у = l)\/(ra>0&z = 0& y = 0)\/
V (хуп > 0 & ЗаЪии (а> пу & Ъ = ах & и = фь (п '+ 1) &
& v = Фа (га + 1) & У — [и/и])-
Доказательство. Пусть хуп >0 и существуют а, Ь, и, и с указанными свойствами. Тогда а > 1 и b >> 1. Имеем для у
y<-<y + i. и
Так как а > пу п, a > п, то согласно лемме
Отсюда хп < у -j- 1 н хп < у. С другой стороны, .	п
П л . П\ П . пх П . пу п I л	п
у^х 1+- =» + — <2 +— <х +1,	.
\ а /	а	а
Поэтому у = хп.
Пусть при хуп > 0 имеем у = хп. Надо указать а, Ь, и, и с требуемыми свойствами.
Берем a > пу, Ъ — ах, и = трь (п -|- 1), v = фа (га + 1). Остается показать, что у = [и/а].
ПРИЛОЖЕНИЕ
363
Согласно лемме, учитывая, что у = хп, имеем
+-1 \ = хп + ^2 = хп+ ™ <хп+ 1.
v \ a j	а	а
Отсюда у ulv < у + 1 и у = [и!и]. Поскольку отношения и = = 'Фь (п + 1) и v = Фа (ге + 1) имеют диофантовы представления (a, b > 1, п + 1 > 0, и, v > 0) (см. следствие), а отношения а > > пу, b = ах, у = [u/v] диофантовы, то видим, что правая часть эквивалентности построена из диофантовых отношений с помощью логических связок &, \/ и навешивания кванторов существования. Поэтому отношение у = хп диофантово.
4.	Некоторые следствия и дополнения.
а)	Покажем, что десятая проблема Гильберта алгоритмически неразрешима. Пусть М — рекурсивно перечислимое, но не рекурсивное множество, М С N. Тогда согласно основной теореме М диофантово н для некоторого полинома F с целыми коэффициентами имеем
а еМ	. ук) (F (а, у±, . . ., ук) = 0).
Если бы существовал алгоритм для распознавания разрешимости в Я (даже одного только) уравнения F (а, уг, . . ., у^) — 0 при различных значениях параметра а, то проблема вхождения а е М для множества М. была бы алгоритмически разрешимой и М. было бы рекурсивным множеством. Однако, М. не рекурсивно и потому нет алгоритма для распознавания разрешимости диофантовых уравнений.
См. ссылки в книге на с. 15, 324, 339.
б)	То же множество Л1, что и выше, дает пример нерекурсивного диофантова множества (с. 326).
в)	Всякая общерекурсивная функция / диофантова, так как отношение у = f (хх, . . ., хп) рекурсивно перечислимо. Область значений р/ любой общерекурсивной (н частично рекурсивной) функции диофантова, так как р/ рекурсивно перечислимо. В частности, диофантовыми являются множество всех степеней числа 2, множество всех простых чисел и др. (с. 327, 346, задача 1).
г)	Согласно основной теореме множество А дважды диофантово тогда и только тогда, когда А рекурсивно (с. 329).
д)	Всякое диофантово (а значит, и рекурспвно перечислимое) множество М cz N является областью неотрицательных значений некоторого полинома с целыми коэффициентами. Действительно, если
а е М О(Эуг. . . ук) (G (а, уи . . ., ук) =0),
то берем Я (в, ylf . . ук) = а — (а + 1) G2 (а, у1г . . ., уъ). Тогда И = N f] pH, pH — область значений полинома Н. В частности, существуют НоЛИНОМы с целыми коэффициентами, у которых область неотрицательных значений состоит в точности из всех простых чисел, в точности из Всех степеней числа 2 и т. д.
е)	Пусть кахК (а, х) — клпниевская частично рекурсивная функция, универсальная для класса всех одноместных частично рекурсивных функций, ха (±) = К (а, ж) п Wa — область определения функции Ха. Тогда Wa — рекурсивно перечислимое множество, Wa cz N. В последовательности 7F0, W\, . . ., Wn, . . . содер
364
ПРИЛОЖЕНИЕ
жатся все рекурсивно перечислимые множества из N (так как каждое такое множество является областью определения некоторой частично рекурсивной функции).
Пусть М — область определения функции К. М рекурсивно перечислимо и потому диофантово. Очевидно, TFa = {z | (a, z) е е Л£}, т. е. является а-сечением множества М. Итак, существует диофантово множество JML такое, что каждое рекурсивно перечислимое множество из N является его а-сечением для подходящего а..
ж)	В работе [5*] доказано, что для каждого полинома Р существует полипомР такой, что Р (ах, . . ., а^, z0, zlt . . .,.zv) — 0 для некоторых z0, zlt . . ., zv тогда и только тогда, когда Р (ап . . ., ац, Ь, с, d, е, f, g, k, i, j, к, I, m, ra) ’= 0 для некоторых Ъ, c, d, е, f, g, h, 'i, j, к, I, m, n. Здесь alt . . ., ац — параметры, остальные переменные — неизвестные (сведение к 13 неизвестным).
СПИСОК ДОПОЛНИТЕЛЬНОЙ ЛИТЕРАТУРЫ
[1*] М а т и я с е в и ч 10. В. Диофантовость перечислимых множеств,— ДАН СССР, 1970, 191, № 2, с. 279-282.
12*] Матиябевич 10. В. Диофантовы множества.— УМН, 1972, 27, № 5, с. 185—222.
[3*] Davis М., Matijasevic Y., Robinson J. Hilbert’s tenth problem. Diophantine equations: positive aspects of a negative solution-— Proc. Symp. in Pure Math., 1976, 28, p. 323-377.
[4*] Davis M. Hilbert’s tenth problem is unsolvable.— Amer. Math. Monthly, 1973, 80, № 3, p. 233—269.
[5*] Matijasevic Y., Robinson J. Reduction of an arbitrary diophantine equation to one in 13 unknowns.— Acta Arithmetica, 1975, 27, p. 521—553.
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ
Алгебра 24, 26 — конечно порожденная 27 —, основное множество 24 —, основные операции 24 — Робинсон 112 — Робинсона 75 —, сигнатура 24 — частичная 24 Алгебры, изоморфизм 24 — однотипные 24 Алгоритм (алгорифм) 9—11 —, детерминированность 10 —, дискретность 10 —, интуитивное понятие 11 —, массовость 10 —, направленность 10 — нормальный 289 — операторный 291 Алфавит 17 —	бесконечный 29 —	машины внешний 219 —	— внутренний 220 —	редуцированный 225	Кодирование 27 Команда машинная 222 — подстановочная 223 Композит машин 233 Композиция бинарных отношений 218 — слов 18 Конфигурация машины 221 Лента 18, 219 Машина 14, 218 — А (перенос нуля) 234 — Б- (левый сдвиг) 234 — Б+ (правый сдвиг) 234 — Б+Б+ (двойной перенос) 237 — В (транспозиция) 234 — Г (удвоение) 236 — Гг (копирование) 237 — Минского 305 — многоленточная 302 — Тьюринга 14, 219
Буква 17		универсальная 250 — Тьюринга — Поста 219 — Ц (циклический сдвиг) 237
Гипотеза Клини 13 — Чёрча 12 График рекурсивно перечислимый 88 — примитивно рекурсивный 88 — рекурсивный 88 — функции 88	Множества, креативная система 196 — нумерованные, гомоморфизм 172 — —, изоморфизм 173 — рекурсивно неотделимые 199 — — отделимые 199 —, сводимость 156 — сильно неотделимые 203 —, слабо креативная система 197
Декартова степень 19 Декартово произведение 19	— эффективно неотделимые 201 —, т-эквивалентные 158 Множество арифметическое 271 — гипергипериммунное 168
Значение терма 21 — функции 19	— гипергиперпростое 168 — гипериммунное 168 — гиперпростое 168 — диофантово 325 — замкнутое относительно частич-
Иерархия арифметическая 280 — Клини 280 Изоморфизм алгебр 24 — нумерованных множеств 173	ной операции 25 — иммунное 163 — креативное (творческое) 161 — максимальное 164 — мезоичное 167
Канторовский номер пары 60 — — п-ки 62 Квадратичный остаток числа 57 Класс алгебр 24 — моделей сигнатуры о 267 — нумерационный 172 Клинпевский номер функции 136	— нерекурсивное рекурспвно перечислимое 124 — номерное 172 — порожденное 25, 33 — примитивно рекурсивное (относительно...) 43, 77 — продуктивное 159 — простое 163
366
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ
Множество рекурсивно перечислимое 79
— рекурсивное 77
— ретрассируёмое 169
— сжатое 164
— слабо продуктивное 168
— словарное 205
— частично рекурсивное (относительно...) 43
— эффективно иммунное 171
— — простое 171
— ?п-универсальное 157
— n-ок натуральных .чисел 86
— — примитивно рекурсивное 86
— — рекурсивно перечислимое 86
--- рекурсивное 86
Модель 267
Номер функции 99, 136
Нормальная форма Клини 120
Нумерации, односводимость 176
—, одноэквивалентность 176
— рекурсивно изоморфные 174
— эквивалентные 173
Нумерация 133
— алфавитная 205
— вычислимая 146
— геделевская 133
— Клини 136
— однозначная 146, 172
— полная 183
— Поста 139
— простая 172
— стандартная 147
Оператор минимизации 39, 41
— обращения 41
— примитивной рекурсии 33
— словарный 209
Операция 20, 82
—, изображенная термом 21
— итерирования одноместной частичной функции 69
— композиции одноместных частичных функций 68, 69
— мажорированного обращения 49, 52
— минимизации 41
---специального вида 66
—	общерекурсивная 89
—	подстановки 31
—	примитивной рекурсии 33
— — — специального вида 64
— сложения одноместных частичных Функций 68
— суммирования 49, 50
—	суперпозиции 31
—	термальная 23
— частично рекурсивная 89
Определяющие соотношения 257
Особый объект 183
Отношение бинарное 218
Память внешняя 219
— внутренняя 220
Подалгебра замкнутая 26
— частичная 26
Полугруппа 254, 255
— свободная 255
Порождающие 27, 257
Последовательность Фибоначчи 59
Предикат 263
— арифметический 271
— диофантовый 325
— показательно диофантовый 339
— рекурсивно перечислимый 140
— рекурсивный 140, 280
Представление Ейтса 169
Примитивная рекурсия 33
Проблема алгоритмическая И
— вхождения 77
— выводимости 319
— Гильберта (№ 10) 15, 3G3
— делимости слева 277
— комбинаторная Поста общая 279
— — — ограниченная 279
— конфигураций 312
— нахождения правого обратного элемента 278
— остановки 252, 311, 319
— равенства слов в полугруппах 254
— тождества в теории групп 14
— тождественной истинности формул в исчислении первой ступени, неразрешимость 13, 269, 270
Программа 222
— операторного алгоритма 292
— подстановок 228
Продукции однородные 315-
— Поста 284
Прямой пересчет 169
Рекурсия 57
— возвратная 57
— ступени 95
— ограниченная 130
— примитивная 33
— словарная примитивная 210
— совместная 76
Сводимость множеств 156
— табличная 170
Семейство внутренне продуктивное 191
— вполне креативное 188
— — перечислимое 188
— — рекурсивное 188
— у-перечислимое 147
Символ индивидуальный 23
— переменный- 23
— предикатный 264
— предметный 20, 264
— — свободный 265
— — связанный 265
— функциональный 20, 264
— — п-местный 20, 264
Система аксиом выполнимая 268
— множеств креативная 196
— — слабо креативная 197
— подстановок 286
— полу-Туэ 286
— продукций Поста 287
— формальная 284
Слова, графическое равенство 18
Словарная минимизация 211
.— примитивно рекурсивная функция 210
Слово 18
—, вхождение 19
—, длина 18
— машинное 221
—, подстановка 19
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ
367
Слово пустое 18
— расширенное машинное 224
—, результат переработки 226, 289, 292
Состояние внутренней памяти 220
— заключительное 220
— машины 221
— начальное 226
Стандартный номер множества чисел 147
— — функции 154
ТАГ-проблеыа 319
Тезис Тьюринга 45
— Чёрча 12, 44
Теорема Аккермана 106
— Тёделя 66, 272
— Гильберта — Гёделя 268
— Девиса 330, 343
— Клини о неподвижной точке 137 — Майхила о неподвижной точке 142
— Маркова 129
— Минского 294, 307, 312, 316
— о возвратной рекурсии 58
— о графике частично рекурсивной функции 58
— о мажорируемых неявных функциях 52
— о представлении предикатов 140 — о рекурсии второй ступени 96 — о совместном продолжении 143 — о существовании универсальной функции для одноместных примитивно рекурсивных функций 100
— об изоморфизме нумераций 177 — Патнема 336, 343
—	Поста 82
—	Поста — Маркова 261
— Поста — Минского 319
— Поста о кванторном представлении 281
— Райса 138
— Робинсон IO. 109, 343
— Робинсона 69, 75
—	Скулема127
Теорема Фридберга 154, 155, 165
—	Чёрча 269
Терм 20
—	операторный 32
Формула сигнатуры о 267 — тождественно истинная 267 ' Функции, равенство 19
Функция Аккермана 106
— алгоритмически вычислимая (относительно...) 45
—	всюду определенная 19
—	вычислимая 12
—	— по Тьюрингу 226
--- правильно 231
—	Гёделя 62
—	диофантова 326
—	, доопределение 123
—	канторовская 60
—	Клини универсальная 135
—	конечно определённая 154
—	, кусочное задание 51
—	нигде не определенная 20
—	, область определённости 19
—	обратная 41
—	общерекурсивная 46
---универсальная 100
—	показательно диофантова 340
—	представляющая 89, 206
—	примитивно рекурсивная 35
—------относительно ® 35
Функция продуктивная 159
—	простейшая 23
—	рекурсивная 12
— словарная 206
--- нормально вычислимая 290
— — примитивно рекурсивная 210
— — простейшая 206, 209
—	— частично рекурсивная 206
—	, совокупность значений 19
—	, термальная запись 32
—	универсальная 98
—	характеристическая 43
---пустого множества. 43
—	частичная 19
—	— продуктивная 167
—	—, расширение 123
—	— характеристическая 43
—	— п-местная 20
—	частично рекурсивная 13, 42
—	— — относительно S 42
— элементарная (относительно...) 31
---по Кальмару 130
--- по Скулему 131
Уравнение показательное 339
Финитное соответствие 178
Формула 266
— второй ступени 276
•— Патнема 338
— подстановочная простая 289
— — заключительная 289
Эквивалентность 256
— нумерационная 172
Экспонента числа 56
Элементарная теория 267
Ячейка 17, 219
— пустая 17, 219