Text
                    ББК 22.12
FM21
УДК-510.51
Мальцев А. И. .Алгоритмы и рекурсивные функции.—
2-е изд.— М.: Наука. Гл. ред. физ.-мат. лит., 1986,— 368 с.
Посвящается' одному из актуальных и бурно развивающихся
разделов математической логики — теории алгоритмов, а также
важнейшим ее связям с другими разделами математики. Является
одним из лучших пособий для знакомства с основными направлени-
ями, идеями и методами теории алгоритмов.
1-е изд.— в 1965 г.
Для математиков различных специальностей: научных работ-
ников, аспирантов и студентов.
Ил. 4. Библиогр. 126 назв.
1702020000— 167
М 053(02)-86	16-86
© Издательство «Наукая
Главная редакция
физико-математической
литературы, 1986 j

ОГЛАВЛЕНИЕ Предисловие................................. . . . . 6 Предисловие редактора ко второму изданию......... . 8 Введение.............................................. 9 Глава 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. Сводимость и zzi-эквивалентность множеств (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. пг-универсальные системы множеств (192). 10.2. Креативные системы множеств (196). 10.3. Ре- курсивно неотделимые множества (199). Дополне- ния, примеры п задачи (202). Глава V. Алгоритмы и машины Тьюринга................ 204 § 11. Словарные множества и функции.............. 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 и У до взаимно однозначного канторовского соответ- ствия между множествами чисел и множествами ге-ок чисел. Отсюда возникает естественное Определение. Множество А п-ок натуральных чисел называется примитивно рекурсивным, рекурсивным или рекурсивно перечислимым, если таковым является мно- жество с(А) номеров всех п-ок из А. Так как объединению и пересечению множеств ге-ок^ отвечают объединение и пересечение совокупностей номе- ров этих re-ок, то из теорем п. 4.1 и п. 4.2 непосредственно получаем Следствие 1. Объединение и пересечение конеч- ного числа рекурсивно перечислимых (рекурсивных, прими- тивно рекурсивных) множеств п-ок натуральных чисел являются рекурсивно перечислимыми (рекурсивными, при- митивно рекурсивными) множествами. Дополнение рекурсивного (примитивного рекурсивного) множества п-ок есть рекурсивное (примитивно рекурсив- ное) множество. Если дополнение А' рекурсивно перечислимого множе- ства п-ок А рекурсивно перечислимо, то А и А' —рекур- сивные множества. Характеристической функцией множества А re-ок на- туральных чисел называется /г-местная функция / (хъ . . . . . ., ^п.), равная Ощля re-ок фгг, . . ., хп), входящих в А,' и равная 1 для re-ок, не входящих в А. Если с (А) — мно- жество номеров всех п-ок из А и g (х) — характеристиче-
§ 4. РЕКУРСИВНО ПЕРЕЧИСЛИМЫЕ МНОЖЕСТВА 87 ская функция множества с (А), то из соотношений g (ж) = / (сп1 (х), . . ., спп (ж)), g (с (хъ . . хп)) = f (xt, . . хп) (см. п. 3.3) и примитивной рекурсивности канторовских функций с, cni следует, что множество п-ок тогда и только тогда рекурсивно {примитивно рекурсивно), когда частич- но рекурсивна (примитивно рекурсивна) его характеристи- ческая функция. Аналогичным образом доказывается и Теорема 1. Если всюду определенная функция F (ж1( . . хп) частично рекурсивна (примитивно рекурсив- на), то совокупность п-ок <(хг, . . ., хп~>, удовлетворяющих уравнению F (хг, . . хп) = О, является рекурсивным (примитивно рекурсивным) множе- ством. Если функция F (xlt . . ., хп, ух, . . ., ут) примитивно рекурсивна, то совокупность А тех п-ок <ах, . . ап>, для которых уравнение F (ах, . . ап, уг, . . .,ут) = 0 (1) имеет хотя бы одно решение . . ., Ут\ является ре- курсивно перечислимым множеством. Первое утверждение очевидно (см. п. 4.1). Для доказа- тельства второго утверждения вводим функцию / (Я1 д) ~ Р (cni (а), . . ., @пп (а), ^7П1 (у) (у))- Эта функция примитивно рекурсивна. Уравнение (1) раз- решимо при заданных аг, . . ., ап тогда и только тогда, когда разрешимо относительно у уравнение / («, У) = 0, (2) где а — номер ге-ки <ах, . . ., ап>. Но совокупность зна- чений параметра а, для которых разрешимо уравнение (2), является рекурсивно перечислпмым множеством. Поэто- му рекурсивно перечислима и совокупность А. Теорема 2. Для того чтобы непустая совокупность п-ок была рекурсивно перечислимой, необходимо и доста- точно, чтобы она была совокупностью всех п-ок вида <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 п-ок из Уп. Тогда совокупность Vs п-ок, порожден- ная элементами V с помощью операций F\, также рекур- сивно перечислима. Пусть с (F), с (Fg)— совокупности каиторовских но- меров 77-ок из V и соответственно из Vs. Обозначим через /, (.г-J, . . жт.) функцию, представляющую операцию F (fj, . . i'm.) (г = 1, . . s). Остается лишь убедиться, что множество чисел с (Fg) порождается множеством с (F) с помощью операций fr, . . ., fs, так как тогда ввиду тео- ремы 1 из п. 4.3 с (Fg) и Vе будут рекурсивно перечисли- мыми. Множество Fg есть совокупность значений термов, за- писываемых при помощи символов операций и обозна- чений ?г-ок из F. Пусть a (jx, . . ., jn) — один из таких тер- мов. Заменяя в нем символы операций Ft символами пред- ставляющих функций fi, а символы ге-ок символами их номеров, получим терм, значение которого будет равно номеру значения терма а. Таким образом, совокупность с (Fg) является множеством значений термов, записы- ваемых при ПОМОЩИ СИМВОЛОВ функций fi и символов чисел из с (F), т. е. с (Vе) порождается совокупностью с (F) при помощи функций fi, что и требовалось. Согласно п. 1.3 множество М, снабженное конечной системой определенных на нем операций Ft (zx, . . ., жт{), называется алгеброй, символически обозначаемой через = <М; F,, . . ., Fs>. Если основное множество М алгебры ЭД является сово- купностью всех 77-ок натуральных чисел, а основные опе- рации 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 (Zl) D (0, х) = 0, если ex0 (тг 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- zi) 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) вытекает, что q(y) = у (®-И(у)) (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) о представимос- ти рекурсивно перечислимых совокупностей п-ок чисел в экспонен- циально диофантовой форме, Девис [3] показал, что существуют функции Р (х), g (х, у, z), h (х, у, z), получающееся конечным числом подстановок из функций о, 7^, ху, 2х, I (х), г (х), такие, что каждая одноместная частично рекурсивная функция f (х) предста- вима в форме '/ (х) = Р (|.i; (g (и, х, f) = h (n, х, 4))). 12. Бинарное отношение <, определенное на натуральном ря- де, назовем простым конструктивным расположением натураль- ных чисел, если существует общерекурсивная функция а (ж), значе- ние которой а (п) есть «ближайшее за п большее число» в смысле порядка < и если отношение < упорядочивает натуральные числа в простую последовательность, т. е. если все натуральные числа со- держатся в последовательности а < а (а) < о (о (а)) < . . . < (а) < . . . Показать, что каждая общерекурсивная функция / (х) предста- вима в форме / (х) = g (2х), где g определяется схемой g (а) = а0, g (х) = h (х, g (а (х))) (ж =£ а). (а) Здесь а — наименьшее число в подходящем конструктивном простом порядке <, а (х) и h (х, у) — примитивно рекурсивные функции, причем а (ж) < ж для х =£ а (см. Л ю [2], М а й х и л [1]). 13. Показать, что существуют общерекурспвпые одноместные функции, не представимые в виде ср (g (х)), где ср примитивно рекур- сивна, a g определяется схемой (а) из предыдущей задачи. (Пробле- ма Раутледжа. Решение см. Л ю [1].)
ГЛАВА IV НУМЕРОВАННЫЕ СОВОКУПНОСТИ Для того чтобы понятия рекурсивности и рекурсив- ной перечислимости перенести из области натуральных чисел в область более сложных объектов — п-ок чисел — мы предварительно занумеровали все 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 на тех n-ках, на которых предикат Р истинен, и не определенную там, где предикат Р ложен. Из следст- вия 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) — zt | + | / (p) — [at, d | + + 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= Ъ. Пусть а <; Ь. Из Аа = Аь следует, что, начиная с некоторого момента (j, {О, 1, . . ., у} П 4 = {0, 1, . . ., Ь} П Аь (* > Н)- Берем такое t, что lt = b, t > t0, t > t-у. Тогда в момент 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. Если семейство рекурсивно перечислимых множеств состоит лишь из бесконечных множеств и содержит все бесконечные рекур- сивные множества, то оно не вычислимо (см. Деккер и М а fi- хи л [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 (fi (п)) £ а — лЛ(п). С другой стороны, из (7) и (5) имеем g (h (zi)) £ лад •==> fgh (тг) £ 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}, то маркер j 0 j ни при каком t сдвигаться не будет. После того как положения маркеров |о|, |1| , . . ., т — 1 стабилизировались, маркер | т | может перемещаться лишь к числам со все большими т-штатами. Но m-штатов только конечное число. Поэтому положение | т j при достаточно больших 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 (х) следующего предписа-] ния: если хотите знать, расположено число х внутри или вне мно-я жества а, то найдите / (.г-) и узнайте расположение / (г) относптель-3 но р. Если / (.г) внутри р, то х внутри а; если же / (г) впе Р, то яя вне а. 1 Вид этого предписания легко обобщается, например, следую-] щим образом: если хотите знать, как расположено х относительно ая вычислите значения двух рекурсивных функций /х (г), /2 (г) п пос-| мотрите, как эти значения расположены относительно р. Если] /1 (г) 6 Р & /г (г) ё Р, то х £ а, а в остальных случаях х $ a. j! Последний критерий можно изменить, потребовав, Чтобы! х £ а было в случаях (х) $ р & /2 (г) £ р илн /х (г) £ Р <&| & /2 (г) ф р, а в остальных случаях чтобы было х ф а. я Класс рассматриваемых предписаний можно еще расширить! путем задания п функций /х (г), . . ., /п(г) и усложнения соответ-J ь r I х критериев вхождения г в а (таблицистинности). Все эти] предписания были названы П о с т о м [3J табличными сводимости^ ми. Ясно, что вместо задания п функций можно ограничиться и] заданием лишь одной функции х (г) = [п — 1, [/х (г), . . ., /п (i)lil т — 1]. Тогда знание х (4) дает не только число п, значения! /г (г), • fn (г)> п0 и номер т соответствующей таблицы истинно,-| сти. Изложенное можно резюмировать в следующем формальном» определении. .1 Условимся говорить, что число х таблично сводимо к множеству; р (символически р |=(( г), если в результате следующих вычислен ний: i 1) ищем числа п = [г]31 + 1, у = [г]32, т = [г]33 + 1, где’ [г],; — нумерационные функции из п. 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}- Множество а называется таблично сводимым к множеству Р (символически а у?» Р), если существует такая общерекурсивная- функция / (i), что ж £ а уу р |=ц / (г) для каждого значения х. Показать, что отношение табличной сводимости рефлексивно, транзитивно н что из пг-сводимости вытекает табличная сводимость. 29. Говорят, что множество а сводится к р таблицами ширины со, если существует такая общерекурсивная функция / (г), что г £ а <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), которые вводят в игру произвольно задан- j ное число т. Возможность таких расширений и доказыва- ется посредством построений функций 5 (иг, тг) и Г (тп, тг). j Укажем сначала алгоритм для вычисления S (т, п). ] Пусть заданы число ттг и некоторое соответствие (3), номер ,1 которого есть тг. Нам надо указать, какое число мы выби- раем в качестве ps+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, Т. Строгое доказательство рекурсивности 5, Т требует, что- бы функции 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 (хъ . . ., хг), обладающая следующим свойством: для каждой частично рекурсивной г-меапной функции Н (гс15 . . ., хг) существует такое число а, что для любых значений х2, . . ., хТ Ц)РТЧ (а, х-2, . . хг) = (pH (а, х-2, . . ., хг), если Н (а, х2,. .., хт) = определено, (3) о в противном случае.
§ 9. НУМЕРАЦИИ ПРОИЗВОЛЬНЫХ СОВОКУПНОСТЕЙ 185 Рассмотрим вспомогательную функцию F(x) = К (Ыг1, . . [а;]гг), где — введенные в п. 7.1 нумерационные функции. Вследствие полноты ср существует общерекурсивная функ- ция G (х), связанная с F (х) соотношениями (1). Из (1) подстановкой х = [xt, . . ., жг] получаем соотношение .. ., жг]) = ( q>K (xi, . .., хг), если К (дл, . . ., хг) определено, = j (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 (i = 1, 2,. , ., re). (1) Как и ранее, легко убеждаемся, что отношение tn-сводимости re-ок множеств транзитивно. Система множеств <ах, . . ., называется т-универ~ сальной re-кой множеств, если выполнены следующие ус- ловия: а) множества ах, . . ., ап попарно не имеют общих эле- ментов; б) каждое из множеств ах, . . ., ап рекурсивно пере- , числимо; в) каждая ге-ка <рх, . . ., р„)> попарно не пересекающих- ся рекурспвно перечислимых множеств ш-сводима к ге-ке ’ <ах, а2, . . ., ап>. Для re = 1 это определение обращается в определение ; tn-универ сального множества (п. 8.1). С другой стороны, • в определении tn-универсальных re-ок множеств не тре- буется, чтобы множества |3Х,. . ., |3П были непустыми. По- этому из tn-универсальностп какоп-нпбудъ системы мно- жеств ах, . . ., ап вытекает »г-унпверсальность каждой ее 4 Ж
§10. УНИВЕРСАЛЬНЫЕ СИСТЕМЫ МНОЖЕСТВ 193 подсистемы afl, . ., af и, в частности, т-универсаль- ность каждого отдельного множества аг, входящего в мг-универсальную систему. Обратное, конечно, неверно: далеко не каждая система, состоящая из п попарно не пересекающихся т-универсаль- пых множеств, является m-универсальной n-кой мно- жеств (см. и, 10.3). Заметим еще, что объединение всех множеств т-уни- персальной n-ки не может совпадать с натуральным рядом. Действительно, противное означало бы, что т-универ- сальное множество ах имеет рекурсивно' перечислимое до- полнение a2 U . . . U ani чего быть не может, так как дополнение m-универсального множества не рекурсивно. Из определения т.-универсальных систем множеств не- посредственно вытекают следующие их свойства. Пусть <ах, . . ., ап> —m-универсальная система. Тогда а) для любой частично рекурсивной функции f (я) множества /-1 (ах), . . ., /-1 (an) попарно не пересекаются и рекурсивно перечислимы', б) для каждой системы Рх, . . ., попарно не пересекаю- щихся рекурсивно перечислимых множеств существует рекурсивная функция / (z), для которой рх = /-1 (ах),. . . • • •, Рп = («J. Обратное также верно: если система ах, . . ., ап ка- ких-то множеств обладает свойствами а), б), то она ш-универсальна. Свойство б) и послужило первоначальным поводом к введению названия ат-универсалъные» системы. Пусть п — заданное положительное натуральное чис- ло. Обозначим через А совокупность каких-то вспомога- тельных фиксированных объектов а0, . . ., ап. С каждой n-кой ах, . . ., ал попарно не пересекающихся и в сумме не исчерпывающих натурального ряда множеств свяжем теперь следующую нумерацию ср совокупности А: ( если х б a,- (z. = 1, ..., п), срж = i (2) I а0, если х £ ах (J .. . J ап. Нумерацию ср и систему множеств <хх,. . ., ап мы далее будем называть ассоциированными. Сопоставляя определения сводимости нумераций (п. 9.2) и m-сводимости п-ок множеств, видпм, что нуме- рация ср совокупности А тогда и только тогда сводима к нумерации ф той же совокупности, когда система мно-
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 (х) = с( (i — 1, . . ., п), определенное в тео- реме о совместном продолжении (и. 7.3) и обладающее следующими свойствами: а) функция f {хг, . . ., хп, х) частично рекурсивна по совокупности всех своих аргументов; б) для каждых фиксированных xv . . хп область опре- деления одноместной функции f (xv . . ., хп, х) есть U • • U •П'ЖП> в) / (хг, . . ., Хп, х) может принимать лишь значения Ср . . с„ и f (zx, . . хп, х) = ct =4 х 6 лх. (г = 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 Pi h (у) g аг (i = 1, . . ., п) и, значит, функция h (у) действительно m-сводит систему Ри . . ., рп к системе ах, . . ., сХп» 10.3. Рекурсивно неотделимые множества. Говорят, что числовое множество у отделяет множество а от множества р, если й'=у и У П Р = 0. Множество а называется рекурсивно отделимым от множества р, если существует рекурсивное множество у, отделяющее а от [3. Если рекурсивное множество у отделяет множество а от множества Р, то дополнение у' множества у рекурсивно отделяет (3 от а. Поэтому отношение рекурсивной отдели- мости симметрично и вместо того, чтобы говорить, что множество а рекурсивно отделимо от множества Р, часто говорят, что множества а п [3 рекурсивно отделимы. Множества а п [3 называются рекурсивно неотделимы- ми, если они непересекающпеся и ни одно из них не отделимо рекурспвно от другого,
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 следует, что / (х, у) определена и / (г, у) (j- лх (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-кам Jp . . ., слов из ©а поставлены в соответствие однозначно опреде- ленные слова F (гг, . . fn) в А (ср. п. 1.2). Числовая п-местная частичная функция / называется функцией, представляющей словарную функцию F в нумерации а, если F («%, . . ., ахп) = а/ (х1, . . ., хп) для всех натуральных хг, . . ж„ и, следовательно, ^(?ь • • •> Pn) = af (Cfi, • •cyn), (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 (?, а!) = А),^ может быть получена из f и примитивно рекурсивных Функций операциями подстановки и минимизации. В част-
212 ГЛ. V. АЛГОРИТМЫ И МАШИНЫ ТЬЮРИНГА ности, если словарная функция F (?, Р) частично рекурсив- на, то и функция G (у) также частично рекурсивна. Действительно, по условию имеем g (х) = ера? (af (х, са") = A) —Ji (pt (j (х, h (t)) = 0))), где h (t) = cai = i + ip + . . . -j- ip1 1 — числовая примитивно рекурсивная функция. Теперь с помощью теоремы 1 докажем примитивную рекурсивность некоторых часто встречающихся словар- ных функций. Начнем с функции F (у, р) — ур. Так как уЛ = у=Г}(у), у- p«t = гр-а{ = S. (fP) (i = l,...,p) и функции S; примитивно рекурсивны, то функция ур в силу теоремы 1 также примитивно рекурсивна. Пусть у~ — обращение слова у, т. е. у” есть слово, полученное из у записью всех его букв в обратном поряд- ке, например, (а1а2«з)~' — ага2а1. Из соотношений A~ = A, (yair = ai?'~' = SiO(y)y~ видим, что у” есть примитивно рекурсивная функция от у. Следствие. Если словарные функции G, Нх, . . . . . ., Нр примитивно рекурсивны и ?п> А) = (7(уъ..., уп), Fi (?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, ч fni-i! Рь • • Vn) = fb если Pi = Л, f2, если рх Л, р 2 = Л, fn, если pi 5^ А, р2 Л,. .., рп = Л, fn н> если pi ^4= Л, р2 =^= Л,..., рп Л . Так как Wi (fi, f2; Л) = fi, (fi, f2; paf) = f2, то функция W\ примитивно рекурсивна. Предполагая теперь известным, что для некоторого п функция Wn примитивно рекурсивна, из соотношений п+1 (fi, • • ч ?п+2! А, Ра., .. Pn+i) = fi, TFn+1(fl, • ч fn+з! Plfli,rp2, • • ч Pn+1) = = Wn (f2, . . ч Гп+3; th, • ч Pn+1) р) = ( видим, что функция Wn+i также примитивно рекурсивна. Рассмотрим функцию Е, определенную схемой Л, если f б р, f, если f $р, где f 6 р означает, что слово определению имеем f есть подслово в р. Согласно E(jc, A) = f, А, JE7(f/pa#)=: Л, Г, если f Е Р, если f$р, f £ра;, если f (£р, f $раь (6) (7) Но условие f 6 Р равНоспльно равенству Е (г, р) — Л, а условия f р, г 6 tyh равносильны соотношениям .Е (?, Р) 5^ Л, Е [ytai, f) = А. Поэтому из (7) вытекает Е($, ра,) = Ж, (Л, Л, f; Е (t, р), Р(раь г)). (8) Равенства (6), (8) показывают, что функция Е (г, р) примитивно рекурсивна. Обозначим через Sb (f; р, j) результат подстановки слова J в слово f вместо первого вхождения р. В частности!
§ 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 (px + i) (x E N). Функция v (c (x)) удовлетворяет схеме рекурсии vc(A)=A, vc (<1я;) = vc (ac (a) aj = Fi (vc (a)) (i—i,...,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, введем особую функцию G^ (у), полагая по опре- делению: Gj (у) = первое максимальное подслово вида 1U1 в у, G\ (у) = А, если у не содержит подслов вида li+1. Примитивная рекурсивность функций G{ (it) будет до- казана ниже. Из формулы (3) ‘И определения функции (Д получаем Gj (Р (а, ?201х)) = 1'М (4) Функции М, Е* примитивно рекурсивны (п. 11.2). Формула (2) показывает, что функция Р (а, у) частично рекурсивна. Так как функция Gl примитивно рекурсив- на, то функция Н (a, у) = G1 (Р (а, у)) также частично рекурсивна. Вместе с нею будет частично рекурсивной и ее представляющая функция 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 = (и = 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), или остановится в конфигурации j, для которой 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« {.r1}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 . . ., хт, zj) & ... ... & 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 в одно из слов щр, yap, ХРШ -Левым элементарным преобразованием, отвечающим указанному соотношению, называется преобразование а -»А, переводящее слова вида aft}, fat), ft)a в слово ХР (X, р могут быть и пустыми словами). Говорят, что в ассоциативном исчислении с пустым словом раз- решима проблема нахождения правого обратного элемента, если совокупность тех слов а, для которых уравнение ар = А имеет решение в данном исчислении, является рекурсивной. Легко строит- ся ассоциативное исчисление с пустым словом и неразрешимой проблемой нахождения правого обратного элемента. Для этого бе- рем ассоциативное исчисление А (£), построенное в процессе дока- зательства теоремы 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’ Q„ C Ps-.-L, Qs CZ Qs+r При помощи нумерационных функций Сп, Сп, легко доказы- вается, что каждый предикат Р (у) класса 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-ка слов заданным признаком Р или нет. Слово у называется непосредственным следствием из некоторой совокупности слов 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. В обоих по- следних случаях говорят, что процесс переработки слова обрывается после (п + 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, Рз — какие-то натуральные числа из пос- ледовательности 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с, Z), где 2а-Зь-5с — по- лученное в этот момент число, a i — номер приказа в программа (2), который следует далее выполнять над чис- лом 2а-Зь-5с. С парой (2а-Зь-5с, i) сопоставляем конфигурацию (а, Ь, с; г) трехленточной машины Минского, имеющей внутренние состояния qo, qr, . . ., qn. Нам остается подо- брать программу (1) машины М так, чтобы выполнялось условие: если алгоритм А переводит пару (2a-3fc-5c, j) в пару (2U-3”»5W, j), то машина М должна переходить из конфигурации (a, b, с; i) в конфигурацию (и, v, и>', j). Эта цель, очевидно, будет достигнута, если мы посту- пим следующим образом: а) Если 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 Ps (6) вычисляет функцию g (х) и пусть для некоторой машины Минского М с внутренними состояниями до, д1? . . ., gs, Qn, , Qsi (i = 1, 2, . . .) имеем (z, 0; qt) I— (z), 0; gai), если (z) определено, (7) (z, 0; q^ [—• (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; ?г1). (12) Тогда, если в серии (11) а — 1 )> 0, то в силу команд, от- вечающих преобразованиям (И), (12), конфигурация (а — 1, с; qt) далее будет меняться следующим образом: (а — 1, с; qt) (а — 1, с + 1; qti) . . . (а — 1, 2с; qic) -> (а — 2, 2с; qt) —> (а — 2, 2с 4- 1; уп) (0, ас; уг). Чтобы переставить числа 0 и ас, дополняем программу преобразованиями (0, ас; qi) -> (1, ас — 1; qi0) -> (2, ас — 2; уго) . . . . (ас, 0; qi0) -> (ас, 0; ?а). (13) В результате условий (И) — (13) для машины М бу- дет гарантировано свойство (а, 0; q^ |— (са, 0; qa) (а > 0). (14) Чтобы гарантировать свойство (14) и для а = 0, внесем в программу М преобразование (0, 0; qi) -> (0, 0; qa). (15) Итак, внося в программу машины М команды (11) — (13), (15) для тех i, для которых i-й приказ программы А имеет вид (9), мы обеспечим для этих значений i выполнение условия (7) из леммы 1. Теперь рассмотрим более сложный случай, когда i-й приказ имеет впд (10). Прежде всего в программу маши- ны М вносим команды, отвечающие для я с, у 0 сле- дующей серпи преобразований: (ж, у; qt) -> (х - 1, у + 1; 4il) -> (х - 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 к na- pe (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) Чтобы при помощи этой системы Р определить понятие 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} с программой, состоящей лишь из зов вида прика- стоп 1 0 ао ах который перерабатывает обратную двоично-шестеричную запись числа 22Х в такую же запись числа 22^ж\ 8. Приказ | \ | а пусть означает: вычеркпуть первую букву, перейти к приказу с цомером а, если вычеркнут 0, перейти к сле- дующему, по порядку приказу, если вычеркнута 1, и остановиться, если заданное слово пусто. Существует операторный алгоритм, перерабатывающий слова в алфавите {0,1}, с программой, состоящей лишь из приказов впда j 0 |, 1 |, | \ | а | (без стоп-прпказа) п для которого совокупность слов, перерабатываемых в пустое слово > является креативной (Шепердсон и Стургпс [1]). Именно этот результат используется для построения универ- сальной машпны Тьюринга с символами а0, аг, а2, ай и внутренними состояниями qa, ?!,..., 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) (/ (xi, . . ., хт), . . . хт) <==/ О (Угг) (/(х!, .. ., хт)=£и\/ Р (и, х2, . . ., хт)). (9) По условию существуют такие многочлены F, G с целыми коэффициентами, что f (Xi, . . ., Хт) =U&P (и, Х2, . . ., хт) (Зг/i • • . Уз) (F (и, хи .. ., хт; у1г . . ., ys) = 0), / (*£1» • • •> ^т) У7 \/ Р (и, Х'2, . . ., Хт) (Vzi. . . zt) (G(и, X!, . . ., хт, 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ю, by). Иначе говоря, в рассматриваемом случае отношение Ру (и, и, w, с; и', к', и>', с') равносильно выражению c = i&(iz^>0&r^>0&w^>0->uz ~ и — 1 & и' = = v — i &.w' = w — 1&с' = аг)& (u-v-w = = 0 -> и' = и & v' = v & и>' = w & с' = by), эквивалентному формуле с = i & (u-v-w — 0 \/ (и = и' +1&р = р' + 1&ш = = w' + 1 & с' = ау)) &((п^>0&г^>0&ш^> 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 \/ р\ 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) (г = 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 = 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 М О (3szz) (Vi з) (? (х, a, i, s). (8) Но утверждение о существовании пары чисел з, а рав- носильно утверждению о существовании числа у = с (з, а), являющегося номером этой пары. Поэтому из соотношения (8) получаем х^М (Зу) (Vi < 7 (z/)) Q (х, г (у), i, I (у)) О О (Зу) (Vi < у) «? (х, г (у), i, I (у)) \/i>l (у)). (9) Предикат Q (х, г (у), I, I (z/)) V i^> (у) диофантов и, следовательно, его можно представить в виде (Зж1 . • . хп) (F (х, у, i, xi, . . ., хп) = 0), (10) где F — подходящий многочлен с целыми коэффициента- ми. Соединяя формулы (9) и (10), приходим к требуемой формуле (1). С помощью небольших формальных преобразований (Девис [1]) из теоремы 1 легко получается Теорема 2. Для каждого рекурсивно перечислимо- го множества М существует такой многочлен G с целыми коэффициентами, что ж £ ЛТ <Н> (3z/) (Vz < у) (3^1 < у).. . • • • (3a:m<z/)(G(a:,z/,z, хг, . . .,жт) = 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), zri<ip2& . .. &жп<гр244( 3 z/i <p) (И = 0), (12) i=l n где через (3 Уг p) обозначено слово (3j/i С y). • • • i=l • • • (3z/n < v) 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) приводим к виду (3iz)(Vz<p)(3 *i<p)(3 Zi<p)(3 ZP1<P) i=l i=l i=l (4 (c (iPi, ip2) — v)2 + U (F2 (x, zpi, z, Ж1, . . ., жп) + + И2 = 0)), удовлетворяющему теореме 2. Приведенные выше доказательства теорем 1 и 2 явля- ются конструктивными. Это значит, что, имея программу
336 ГЛ. VI. ВАРИАНТЫ МАШИН И АЛГОРИТМОВ операторного алгоритма, вычисляющего частичную ха- рактеристическую функцию / (ж) множества ЛГ, мы в прин- ципе можем написать многочлены FnG, удовлетворяющие требованиям теорем 1, 2. Однако эта возможность лишь принципиальная, так как если взять какую-нибудь из ныне известных программ, отвечающих нерекурсивным мно- жествам ДГ, и построить многочлены F, G по правилам, из- ложенным в доказательствах теорем 1, 2, то такие много- члены окажутся слишком сложными. Задача о нахожде- нии более или менее простых многочленов (например, не- высокой степени и с небольшим числом переменных), дающих нерекурсивное множество М, до сих пор, по-ви- димому, не решена. 16.3. Представимость натуральных чисел многочле- нами. Говорят, что число а представимо многочленом F (Ж1, . . .,жт), если существуют такие натуральные чис- ла Hi, . . ., ат, что F (ai, . . ., 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. . . а:т)(С(ж,г/,г, ж15 . . .,жт)=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} или ЖЕЛТ^<3^1.. .am)(Vz) {z> У \/G(x,y,z,T(ai,Z),. . .,Г(ат,г)) = 0}. (3) Согласно теоремам 4, 5 п. 16.1 выражение, стоящее в фигурных скобках, представляет дважды диофантов пре- дикат и потому равносильно формуле вида (VZ1 . . . zs_!) (Н(х, у, аи . . ., ат, z, гъ . . ., zs^)^ 0), (4) где Н — многочлен с целыми коэффициентами. Подстав- ляя (4) в (3), получил! х Е И & (Зуа-1. . .ат) (Vzi. . .zg) (ZT (ж, у, ®i,. .., я^, Zi,. . ., za) 0). Вводя вместо строки (г/, яг, . . ., ят)> ее номер и = = с (г/, Я1, . . ., ят), будем иметь iE>O @u)(Vzi. . .fes) {ZZ (ж, Сщ+11 (w)> • • ч ^пг+1 tji+1 (^)> Zi, • • •» %s) Предикат, стоящий в фигурных скобках, дважды диофан- тов и потому может быть заменен выражением вида (Vzs+i . . . zn) (F (ж, и, zu . . ., 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, . . ., Хп), gi (х1г . . ., Хт), . . . . . gn (xlt . . ., хт) показательно диофантовы, то функ- ция f 0>1 (®1, • • ч З'т), • • ч ёп О'!, • • ч хтУ) и предикаты Р (х1> • • ч хп) \/ Q (Х1> • • ч хп)> Р (Х1, • • • Т хп) Q (Х1 ? • • ч хп)» (З^п) Р (х1, . . ., Жп), Р (gi (xi, . . хт), . . ., gn (жь . . ., хт)), gl (*ГЬ • • ч хт) = g% (х1г • • ч хт), gl (х1> • • ч хт) §2 (х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 < у) (3®1 < у)... (З^п < у) (G = 0). Поэтому остается лишь доказать, что отношение (Vz < у) (3X1 < у).. .(3zm < у) (G (х, у, z,xu..., хт) = 0) показательно диофантово. Пусть и — степень G, s — сумма абсолютных величин коэффициентов G. Полагая Н (х, y) = (s+ 1) (х 4- 1)“ (у + 1)“, будем иметь Н (х, у) > у, (Vz<y) (Vsi<y). . - (Vrcm< ?/) (I G (ж, у, z, Xi, . . ., arm)|< <#M). Докажем, что имеет место эквивалентность (Vz < у) (3zi< У). .(Jxm<y) (G(x, у, z, xi, .. .,хт) = 0)<& 44 (Зс/ai.. .ат) = Н {х, у)\ & 1 4- (1 4- с) t = s+i = П (1 4-«)&(1 4-(1 4-c)i)|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. n-я суперстепень х, символически х * п, определяется рекур- сией г*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. Л., Лавров И. А., Тайманов А. Д. и Та fi- ll л и н М. А. 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. Майхил (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 Lo- gic, 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. Maxi- mal 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. Sym- bolic 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: Auto- mata 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. Hil- bert’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 ar- bitrary 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 — п-ок натуральных .чисел 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