логика
и основания
математики
А. А. Марков
Н. М. Нагорный
ТЕОРИЯ
АЛГОРИФМОВ
МОСКВА «НАУКА»
ГЛАВНАЯ РЕДАКЦИЯ
ФИЗИКО-МАТЕМАТИЧЕСКОЙ ЛИТЕРАТУРЫ
1984
22.12
cS ЕаЩ
М 26
УДК 517
н. LM, Горышга
Андрей Андреевич Марков
МГУ
Николай Макарович Нагорный
ТЕОРИЯ АЛГОРИФМОВ
ИБ № 12125
Издательство «Наука»
Главная редакция физико-математической литературы
1 17071 Москва В-71, Ленинский проспект. 15
© Издательство «Наука».
1702020000—144 Главная редакция
М 053 (02)—84“ 40 ”84 физико-математической
литературы, 1 9«4
ОГЛАВЛЕНИЕ
Предисловие....................................................................................................
Важнейшие обозначения.............................................................................
Глава I
Введение. Основные принципы конструктивной семантики . . . .
§ 1. Конструктивные процессы и конструктивные объекты . .
§ 2. Слова...............................................................................................
§ 3. Языки. Высказывания...............................................................
§ 4. Абстракция потенциальной осуществимости....................
§ 5. Абстракция отождествления......................................................
§ 6. Существование конструктивного объекта.............................
§ 7. Дизъюнкции...................................................................................
§ 8. Проблема построения конструк!ивной математической ло
гики .................................................................................................
§ 9. Высказывания общности...........................................................
§ 10. Переменные. Предикаты...........................................................
§11. Прямое отрицание. Разрешимые высказывания................
§12. Полуразрешимые высказывания. Усиленное отрицание . .
§ 13. Материальная импликация.......................................................
§ 14. Усиленная импликация..............................................................
§ 15. Дедуктивная импликация........................................................
§ 16. Идея ступенчатой семантической системы . . . . .
Глава II
Семиотика линейно расположенных конструктивных объектов . .
§ 17. Слова (продолжение §2).......................................................
§ 18. Начала и концы слов.........................................................
§ 19. Длина слова. Проекция слова на алфавит....................
§ 20. Умножение слова на натуральное число........................
§21. Теорема о наименьшем числе.............................................
§22. Пары слов................................................................................
§23. Вхождения................................................................................
§ 24. Системы слов..............................................................................
§25. Схемы...........................................................................................
1•
ОГЛАВЛЕНИЕ
4
Глава III
Нормальные алгорифмы: определение и примеры............................ 135
§26. Алгорифмы..................................................................................... 135
§27. Нормальные алгорифмы. Принцип нормализации . . . . 138
§ 28.Присоединяющие алгорифмы................................................... 146
§ 29.Сокращающие алгорифмы........................................................ 149
§ 30.Разветвляющий алгорифм.......................................................... 153
§31. Удваивающий алгорифм........................................................... 157
§ 32.Обращающий алгорифм.............................................................. 166
§ 33.Алгорифмы побуквенного кодирования и двойного проекти
рования ........................................................................................... 171
§34. Некоторые арифметические алгорифмы............................... 180
Глава IV
Сочетания нормальных алгорифмов........................................................... 187
§35. Распространения алгорифма.................................................... 187
§36. Замыкание алгорифма................................................................. 196
§37. Композиция алгорифмов........................................................... 19
§ 38. Объединение алгорифмов........................................................... 219
§39. Разветвление алгорифмов........................................................... 224
§ 40. Повторение алгорифма............................................................... 230
§41. Перевод алгорифма.................................................................... 254
Глава V
Универсальный алгорифм............................................................................ 280
§42. Формулировка теоремы об универсальном алгорифме . . 280
§ 43. Случай двухбуквенного алфавита........................................... 282
§ 44. Доказательство теоремы об универсальном алгорифме . . 291
§45. Видоизменение теоремы об универсальном алгорифме . . 296
Глава VI
Основные теоремы невозможности алгорифмов..................................... 299
§ 46. Понятие о массовой алгорифмической проблеме................ 299
§47. Самоприменимые и несамоприменимые алгорифмы . . . 302
§48. Проблема распознавания применимости алгорифма к ис
ходному данному.......................................................................... 308
§49. Теоретико-множественный комментарий к §§ 47 и 48 . . . 312
§50. Конструктивный комментарий к §§ 47 и 48....................... 313
§51. Проблема распознавания аннулирования............................ 315
§52. Сложностной подход к проблеме распознавания примени
мости ............................................................................................. 317
§ 53. Непополнимый алгорифм.......................................................... 323
Глава VII
Вычислимые вербальные функции......................................................... 330
§ 54. Вычислимые вербальныефункции.......................................... 330
§55. Теорема о неподвижной точке................................................. 335
§ 56. Распознавание инвариантных свойств вычислимых вер
бальных функций ..................................................................... 338
ОГЛАВЛЕНИИ
Глава VIII
Проблема тождества для полугрупп (проблема Туэ)............................
§ 57. Ассоциативные исчисления.......................................................
§ 58. Построение ассоциативного исчисления с неразрешимой
проблемой эквивалентности.......................................................
§ 59. Проблема эквивалентности пустому слову ........................
§ 60. Метод вычислимых инвариантов..............................................
§61. Проблемы распознавания свойств ассоциативных исчисле
ний ....................................................................................................
Глава IX
Алгорифмы и математический анализ.....................................................
§ 62. Конструктивные действительные числа и конструктивные
действительные функции...........................................................
§ 63. Пример Шлеккера......................................................................
§ 64. Проблема распознавания равенства действительных чисел
§ 65. Распознавание мажорирования. Арифметические дейст
вия. Кусочное задание функций...............................................
§ 66. Теорема Коши о нуле знакопеременной непрерывной функ
ции ....................................................................................................
§ 67. Принцип конструктивного подбора.......................................
§ 68. Теорема Коши о нуле знакопеременной непрерывной функ
ции (продолжение § 66)...............................................................
Литература........................................................................................................
Именной указатель......................................................................................
Предметный указатель .............................................................................
ПРЕДИСЛОВИЕ
Настоящая книга выходит в свет, когда ее главного автора,
одного из крупнейших математиков нашего времени Андрея
Андреевича Маркова (1903—1979) уже нет в живых. По долгу
памяти мне, его ученику и соавтору, следовало бы предпослать
ей строки, в которых читателю хотя бы вкратце было рассказано
о выдающемся вкладе, который А. А. Марков внес в развитие
теории алгорифмов и в создание конструктивной математики.
Кроме того, я, вероятно, должен был бы рассказать о его обще
математических взглядах, его творческой манере, о неповто
римом своеобразии самой его личности.
Однако сделать это нелегко. Тем более — в рамках пре
дисловия к книге. Нелегко уже хотя бы потому, что невозмож
но просто и однозначно отнести деятельность А. А. Маркова
к какой-нибудь одной конкретной области науки. Так, будучи
математиком, он в последний, математико-логический период
своей деятельности, длившийся более тридцати лет, создал соб
ственную концепцию конструктивизма — концепцию, заняв
шую ныне прочное место в основаниях математики и породив
шую обширную научную проблематику. Его взгляды, продол
жившие и развившие на современной основе идеи таких блестя
щих мыслителей, как Л. Э. Я. Брауэр и Г. Вейль, подняли
на новую ступень дискуссию об эффективности применяемых
в математике средств и позволяют с полным правом охаракте
ризовать его как глубокого, оригинально мыслящего филосо
фа и логика.
В математике тоже невозможно связать деятельность
А. А. Маркова с какой-нибудь одной научной дисциплиной.
У него можно встретить почти одновременно опубликованные
работы по аксиоматической теории множеств и по теории пла
стичности. Занимаясь тончайшими проблемами конструктивной
семантики, он в то же самое время создавал язык для описания
работы вычислительных машин. Он с пристальным вниманием
следил за развитием теоретической кибернетики и внес в этот
раздел науки существенный вклад. Он проявлял также живой
ПРЕДИСЛОВИЕ 7
интерес к работам по математической экономике и по матема
тической лингвистике, к математической проблематике биоло
гии. Круг занимавших его вопросов был настолько широк, что
упоминания о его результатах можно встретить даже в учебни
ках по геофизике *).
Сегодня большой известностью пользуются ставшие уже
классическими работы А. А. Маркова его последнего перио
да — периода занятий основаниями математики, теорией ал
горифмов и математической логикой. Но математики старше
го поколения особенно высоко ценят его работы 1940—1946 гг.
по свободным топологическим группам. Так, П. С. Александ
ров неоднократно отзывался о них как о лучшем достижении
А. А. Маркова в математике. Еще раньше, в начале 30-х годов,
А. А. Марков опубликовал серию глубоких работ по общей тео
рии динамических систем. Именно он,— что теперь, к сожале
нию, знают лишь немногие,— впервые дал независящее от
дифференциальных уравнений общее определение динамиче
).
ской системы **
А. А. Марков оставил непреходящий след во многих об
ластях математики. Но первые опубликованные им циклы
работ непосредственно к математике не относились — это были
работы по теоретической физике и по небесной механике ***
).
Кроме того, в ранние студенческие годы, когда А. А. Марков
намеревался стать химиком, им были выполнены и опублико
ваны работы по химии.
Обладая огромным собственным научным опытом, А. А. Мар
ков располагал обширными познаниями в самых разнообраз
ных областях науки. По складу своего ума и по характеру науч
ной деятельности он был, как об этом говорил в своей прощаль
ной речи Н. А. Шанин, естествоиспытателем, и его подход
к математике был подходом естествоиспытателя, стремящегося
придать развитию теории такое направление, при котором ее
результаты имели бы возможно более реальный и ощутимый
смысл. В значительной мере этим и объясняется резкое неприя
тие А. А. Марковым теории множеств в качестве основы для
*) БурсианВ. Р. Теория электромагнитных полей, применяе
мых в электроразведке. T.I.— 2-е изд.— Л.: Недра, 1972. (См. с. 176, где
излагается рассмотренный А. А. Марковым важнейший частный случай
задачи о точечном электроде в слоистой среде.)
**) См. Ю. В. Линник и Н. А. Шанин [1].
***) По образованиюА. А. Марков—физик. В 1924 г. он окончил физи
ческое отделение физико-математического факультета Лениградского уни
верситета, после чего непродолжительное время работал в Государствен
ном физико-техническом институте. С 1925 по 1928 г. он был аспирантом,
а затем до 1935 г.— научным сотрудником Астрономического института.
ПРЕДИСЛОВИЕ
8
построения математики, его стремление строить математику
конструктивно.
Нелегко в немногих словах объяснить и то, каким образом
при тщательно подчеркиваемой неспешности, обстоятельности,
выглядевшей иногда почти медлительностью, при его манере
все делать самому, не прибегая к посторонней помощи даже в
мелочах, А. А. Маркову удалось оставить такое огромное науч
ное наследие. Непросто рассказать и об истоках тех эстети
ческих и стилистических норм, которых А. А. Марков при
держивался в своих работах и соблюдения которых он требо
вал и от своих учеников.
Было бы интересно — хотя и непросто — рассказать о не
обычной манере поведения А. А. Маркова, о его наблюдатель
ности, тонком остроумии, о его неожиданных, порой парадок
сальных, но неизменно метких и точных суждениях, которые
часто бывали облечены в острую, незабываемую по своей арти
стичности форму.
Сын великого русского математика академика Андрея Ан
дреевича Маркова (1856—1922) А. А. Марков-младший по
своему рождению принадлежал к высшему слою российской
интеллигенции, давшей нашей стране многих замечательных
людей. Лучшие традиции этой среды — вера в высокую мис
сию культуры, самоотверженная любовь к науке, четкость мо
ральных принципов, ясная иерархия жизненных ценностей —
нашли отчетливое выражение в характере и даже во внешнем
облике А. А. Маркова, удивительно благородного, стойкого
и в высшем смысле слова демократичного, каким его знали и
любили его ученики и все, кто был к нему в той или иной мере
близок.
Более полный рассказ об А. А. Маркове требует того, что
бы к нему обратиться отдельно, и потому он должен быть отло
жен на будущее. Наилучший же доступный мне в настоящее
время способ почтить память моего учителя состоит в том, что
бы постараться с наибольшей тщательностью довести до конца
начатый им труд.
* * *
Одним из самых существенных факторов, определяющих
значение математики и место ее в современной науке, является
точность и высокая степень универсальности изобразительных
средств, которыми она располагает. Эти средства позволяют
строить уточненные модели самых разнообразных по своей
природе фундаментальных научных понятий, в том числе и
математических. Такие модели, будучи однажды построены,
ПРЕДИСЛОВИЕ 9
затем становятся доступными рассмотрению с помощью точ
ных средств, и в изучении описываемых ими понятий, как пра
вило, наступает заметный прогресс.
Разработка такого рода уточненной модели была произве
дена во второй половине 30-х годов нашего столетия и для од
ного из важнейших и употребительнейших понятий математи
ки — а теперь и не только ее одной — понятия «алгорифма» *).
В математическом обиходе под алгорифмом принято пони
мать «точное предписание, определяющее вычислительный
процесс, ведущий от варьируемых исходных данных к искомо
му результату» (А. А. М а р ко в [2], с. 3). При этом выраже
ние «вычислительный процесс» должно, конечно, трактовать
ся в широком смысле слова, а именно, как дискретный процесс
преобразования знаковых комплексов определенных типов.
В качестве типичного примера алгорифма в литературе
обычно приводят пользующийся всеобщей известностью алго
рифм Евклида для разыскания наибольшего общего делителя
двух натуральных чисел. Алгорифмами являются также из
вестные еще из начальной школы правила арифметических
действий над целыми числами, записанными в десятичной сис
теме. Читатель сам вспомнит другие встречавшиеся в его прак
тике примеры **).
Используя понятие алгорифма, математика до определен
ного времени может довольствоваться несколько расплывчатой,
неуточненной формулировкой этого понятия, подобной той,
которая была приведена выше. Во всяком случае, так дело
может обстоять до тех пор, пока речь будет идти о построении
конкретных алгорифмов для решения таких-то и таких-то кон
кретных задач. Но как только мы, придя к предположению о
возможной неразрешимости какой-либо интересующей нас
алгорифмической проблемы ***), начнем пытаться доказывать,
*) В сходном смысле в математике употребляются также термины
«предписание», «метод», «способ» и т. п. Многие авторы пользуются озна
чающим то же самое понятие словом «алгоритм».
**) Иногда, впрочем, в литературе к алгорифмам относят (чаще всего
просто по недоразумению) и такие вычислительные рекомендации, которые
прй ближайшем рассмотрении алгорифмами не оказываются. Типичным
примером может служить знаменитый «метод деления отрезка пополам»,
обычно применяемый в доказательстве теоремы Коши о нуле знакоперемен
ной непрерывной функции. Причины, по которым этот метод алгорифмом
считаться не может, излагаются нами в § 64. Тем не менее он все-таки имеет
некоторое алгорифмическое содержание, которое и выясняется нами в §68.2.
***) Неразрешимыми, как мы теперь знаем, оказались такие знамени
тые алгорифмические проблемы, как проблема разрешимости для исчисле
ния предикатов, проблема тождества для полугрупп и для групп, проб
лема гомеоморфии полиэдров, 10-я проблема Гильберта. Гипотеза о неразре-
10 ПРЕДИСЛОВИЕ
Н. М. Нагорный
ВАЖНЕЙШИЕ ОБОЗНАЧЕНИЯ
§ 2. Слова
1. Линейность расположения знаков в конструктивных
объектах, с которыми мы имеем дело в математике, может на
рушаться. Такие нарушения возникают уже тогда, когда мы
начинаем пользоваться индексами и показателями степени.
S 2] СЛОВА 27
Еще большие отклонения от линейности возникают при записи
матриц в виде таблиц. Тем не менее все такие нарушения обыч
но удается устранить без всякого изменения существа дела.
Так, например, составленную из слов Р, Q, R, S, Т, U
систему слов
(Р, Q, Р, S, Т, U)
можно условиться записывать в виде слова
aPaQaRaSaTaUa,
а таблицу
О
в виде слова pPaQPPaSfJTat/fi, где аир обозначают какие-
нибудь две различные, ранее не использовавшиеся буквы.
Такое присоединение „новых" букв к алфавиту дает возмож
ность записывать в строку более сложные фигуры, составлен
ные из объектов, уже записываемых словами в этом алфавите.
Приемы подобного рода дают возможность переходить к
изображению рассматриваемых объектов словами. Поэтому
мы не сделаем существенного ограничения общности, если ус
ловимся для дальнейшего считать, что слова в алфавитах яв
ляются конструктивными объектами общего вида.
2. Учитывая эту особую роль слов, мы остановимся на их
определении несколько более подробно.
Прежде всего, процесс порождения слов представляется
целесообразным организовать так, чтобы случай пустого
слова оказался включенным в общую схему. Для этого мы будем
считать, что первый шаг построения слова всегда состоит в
написанйи пустого слова (не пишется ничего; берется чистый
лист бумаги), затем к нему справа приписывается первая
буква слова (собственно говоря, пишется сама эта буква),
затем к полученному приписывается (справа) очередная
буква и т. д. до конца процесса.
Кроме того, определению слова следует, конечно, придать
„рабочий" характер, который в дальнейшем обеспечивал бы
удобное его использование в разного рода формулировках и
конструкциях.
С учетом сказанного мы сформулируем это определение в
следующем виде, в котором и будем использовать его впредь.
Пусть А — какой-либо алфавит. Словами в алфавите А
мы будем называть конструктивные объекты, получающиеся в
28 ВВЕДЕНИЕ [ГЛ. I
P^aQ, P£aQ
является истинным.
5. Важную роль в дальнейшем изложении будет играть
операция соединения слов. Ее применение к словам Р и Q в
алфавите А будет состоять в приписывании справа к слову,
графически равному Р, слова, графически равного Q, в резуль
тате чего получается слово, называемое соединением слов Р
и Q. Соединение слов Р и Q мы временно будем обозначать
символом IP, Q]a. Впоследствии, когда для этой операции
будет установлен сочетательный закон, мы заменим обозначе
ние [Р, Q]a более простым. Мы дадим сейчас удобное для
использования (и несколько более точное) определение этой
операции, учитывающее индуктивный характер определения
5 21 СЛОВА ,3J
слов. Именно, зафиксировав алфавит А, мы для любых двух
слов Р и Q в А и для любой буквы £ этого алфавита по
ложим
[Р, Л]А^Р,
[Л [Л
(знак === здесь означает равенство по определению). Из этого
определения операции соединения мы и будем исходить в
дальнейшем.
Первое равенство позволяет найти соединение слова Р и
пустого слова при любом Р. Второе однозначным образом
сводит нахождение соединения слова Р со словом Qg к нахож
дению соединения слова Р с „предшествующим" Q? словом Q.
Таким образом, соединение Р и Q может быть построено при
любых Р и Q.
Как и выше, условимся в случаях, не вызывающих сомне
ний, опускать индекс у знака операции.
6. Внимательный читатель уже заметил, что в пп. 4 и 5
мы существенным образом пользуемся некоторой исходной
элементарной операцией — операцией правого присоединения
буквы к слову. В дальнейшем [§ 17.31 роль этой операции будет
проанализирована более подробно.
7. Алфавиты мы определили выше [§ 1.3] как наборы зна
ков, которые мы соглашаемся считать буквами. Такой набор
удобно изображать словом, составленным из букв алфавита,
взятых в определенном порядке, например в порядке их следо
вания. В дальнейшем мы часто будем поступать именно таким
образом.
Тем не менее порядок букв в алфавите нас, как правило,
интересовать не будет. Имея это в виду, мы два алфавита,
состоящие из одних и тех же букв, будем называть равносо-
ставленными и все наши рассмотрения, связанные с алфави
тами, будем проводить с точностью до равносоставленности
фигурирующих в них алфавитов.
8. Мы ввели ряд основных понятий семиотики объектов,
имеющих линейную структуру,— теории слов. Эта теория
рассматривает слова как знаковые комплексы, взятые сами по
себе, безотносительно к тому, что эти комплексы означают
(как правило, в математике знаки что-нибудь да означают).
Сейчас мы прервем изложение теории слов до § 17 и займемся
обсуждением ряда принципиальных вопросов, которым в
дальнейшем предстоит играть чрезвычайно важную
роль.
ВВЕДЕНИЕ [ГЛ. 1 §3] ЯЗЫКИ. ВЫСКАЗЫВАНИЯ 33
32
§ 3. Языки. Высказывания оно неверно (ложно), если то, о чем оно повествует, не имеет
места.
1. Мы передаем друг другу информацию, пользуясь опре Семантические соглашения образуют семантику данного
деленным „языком
.
** Язык — это способ передачи информации. языка. Сам этот язык можно рассматривать как состоящий из
Филологи, говоря о языке, большей частью имеют в виду двух частей — синтаксиса и семантики.
язык устный — речь. Мы же в этой книге под языком будем Рассмотренная схема построения искусственного языка не
понимать графический способ передачи информации — пись исчерпывает всех случаев. Имеются «повествовательные» ис
менность. При таком способе информация передается в виде кусственные языки, построенные по более сложным схемам.
набора слов в некотором определенном алфавите — в виде Например, построение грамматической категории конструк
текста. тивных объектов, называемых высказываниями, может осу
Таким образом, язык является способом передачи инфор ществляться одновременно с построениями некоторых других
мации с помощью конструктивных объектов. категорий объектов. Характерным для всех этих языков
2. Информация на данном языке, передаваемая отправите является наличие четкого определения высказывания, незави
лем адресату, должна быть понята последним, желательно симого от понимания высказываний. Во всех языках этого рода
однозначно. Этому обычно служит членение текста на куски, высказывания оказываются конструктивными объектами.
называемые «высказываниями». 4. Значительно хуже обстоит дело с высказываниями в так
Понятие «высказывания» определяется в каждом языке по- **
называемых „естественных языках. Такой язык может иметь
своему. ,
**
„грамматику пытающуюся навести порядок в речи и письме.
3. Проще всего обстоит дело с этим понятием в некоторых Эта грамматика тоже имеет свой синтаксис и свою семанти
искусственных языках. В таких языках точно формулируются ку, однако и тот и другая обычно бывают очень запутанными и
правила построения высказываний. Некоторые из этих пра неточными. Семантика часто вмешивается в синтаксис, что
вил непосредственно квалифицируют определенные слова как далеко не способствует ясности понятий.
высказывания. Другие правила дают возможность строить Мы вынуждены, тем не менее, пользоваться естественными
новые высказывания из уже построенных. Высказываниями языками, которым нас учат с детства. В частности, в этой книге
считаются те и только те объекты, которые могут быть построе мы пользуемся русским языком, лишь несколько расширен
ны по данным правилам. Правила построения высказываний ным специальными обозначениями и терминами. Мы применя
образуют синтаксис рассматриваемого искусственного языка. ем и изучаем некоторые высказывания этого языка. Здесь
На основе синтаксиса определяется далее наше понимание термин «высказывание» применяется в не очень точном смысле.
высказываний. Мы ведь хотим, чтобы высказывания что-то Слово «высказывание» — это синоним слова «утверждение».
выражали, чтобы они о чем-то повествовали. (Мы сейчас Высказывание о чём-то повествует. Оно бывает истинным, а
исключаем из рассмотрения высказывания повелительные и бывает и ложным. Впрочем, понятие высказывания рус
вопросительные. Они не рассматриваются нами как высказы ского языка, вероятно, может быть определено посредством
вания.) Это достигается путем определенных соглашений о по более или менее точного синтаксиса, после чего посредством
нимании высказываний — путем так называемых семантиче более или менее точных семантических соглашений может быть
ских соглашений. определено наше понимание высказываний. Таким образом,
Выяснив с помощью семантических соглашений, о чем по- „естественные
** языки можно, по-видимому, рассматривать
ветствует данное высказывание, мы можем поставить вопрос о как плохие „искусственные
** языки *).
его истинности, вопрос о том, действительно ли имеет место 5. К счастью, для построения теории алгорифмов естест
то, о чем высказывание повествует. Этот вопрос может решить венный язык нам понадобится не в полном его объеме. Доста
ся по-разному, а может и не решиться вовсе при современном точно будет воспользоваться сравнительно узким, ограничен-
состоянии наших знаний. Высказывание верно (истинно),
если то, о чем оно повествует, действительно имеет место *); *) Кавычки здесь оправданы тем, что „естественные" языки искусствен
ны: ведь их грамматику тоже кто-то придумал, т. е. создал искусственно.
•) Сказанное, разумеется, требует уточнений. Эти уточнения в разных С другой стороны, многие искусственные специализированные языки воз
ситуациях могут выглядеть по-разному. никли довольно естественно ради нужд практики.
2 А. А. Марков, Н. М. НагорныП
34 ВВЕДЕНИЕ [ГЛ. 1
§ 5. Абстракция отождествления
1. При рассмотрении двух букв какого-нибудь алфавита мы
констатируем, что они одинаковы или что они различны.
Например, мы видим, что пятая и седьмая буквы слова «кон
статируем» одинаковы, а первая и последняя буквы этого
слова различны. Одинаковость и различие букв мы определяем
при этом „на глаз".
Для приемлемого алфавита распознавание одинаковости
или различия букв проходит легко. Для этого требуется лишь,
чтобы различия неодинаковых букв значительно превосходили
мелкие различия букв одинаковых.
2. Рассуждая о буквах какого-нибудь алфавита, мы обычно
привлекаем абстракцию отождествления, т. е. позволяем
себе говорить о двух одинаковых буквах как об одной и той
же букве. Например, мы можем сказать, что буква «т» дважды
входит в слово «констатируем», вместо того чтобы сказать, что
в это слово входят две буквы, одинаковые с буквой «т».
§ 7. Дизъюнкции
1. Конструктивная математика отличается от классической
также пониманием дизъюнкций, т. е. высказываний, образуе
мых из двух высказываний, соединяемых союзом «или», как,
например:
«существует простое число, меньшее двух, или
существует простое число, большее двух».
Высказывания, соединяемые союзом «или» при построении
дизъюнкции, называются первым и соответственно вторым
членами этой дизъюнкции.
В конструктивной математике дизъюнкция понимается как
осуществимость указания ее верного члена, т. е. как потен
циальная осуществимость конструктивного процесса, дающего
один из членов дизъюнкции, который будет верным. Так, в
приведенном примере второй член дизъюнкции может быть
указан как верный, и потому данная дизъюнкция верна.
2. Описанное только что конструктивное понимание дизъ
юнкций отлично от их понимания в классической математике.
Правда, „классики" не объясняют свое понимание дизъюнк
ций. Однако они считают дизъюнкцию верной уже тогда,
когда им удается опровергнуть предположение о том, что ни
один из ее членов не верен. Умения находить верный член
дизъюнкции при этом не требуется.
3. Аналогично двучленным дизъюнкциям могут строиться
и пониматься дизъюнкции трехчленные, четырехчленные и
38 ВВЕДЕНИЕ [ГЛ. 1
§ 9. Высказывания общности
1. В математике большую роль играют высказывания общ
ности, т. е. высказывания, начинающиеся словами «всякий»,
«всякая», «для всякого», «каков бы ни был» и т. п. Каким мо
жет быть их конструктивное понимание?
2. Проблема решается просто, когда имеется список всех
объектов того вида, к которому относится высказывание общ
ности. В этом случае высказывание о том, что всякий объект
этого вида удовлетворяет данному требованию, можно пони
мать как многочленную конъюнкцию, каждый член которой
утверждает это об одном объекте списка, причем все объекты
списка фигурируют в этом смысле в конъюнкции.
При этом молчаливо предполагается, что список объектов
рассматриваемого вида содержит более одного названия.
Если же этот список содержит лишь одно название, то, разу
меется, мы будем понимать наше высказывание общности как
высказывание:
«единственный объект, названный в списке, удовлетворя
ет данному требованию».
Наконец, желательно условиться определенным образом
понимать высказывания общности об объектах данного вида и
в том случае, когда их список пуст, т. е. когда нет объектов
40 ВВЕДЕНИЕ [ГЛ. I
т. е.
(8) |],
[|, И1, |]]Х[[|, * |].
Снова, принимая во внимание (6) и учитывая, что из (7) выте
кает (8), мы, пользуясь правой индукцией, заключаем, что
высказывание (5) истинно.
6. Только что изложенный метод правой индукции требу
ет некоторых пояснений.
Прежде всего, мы должны объяснить, какой смысл мы вкла
дываем в термин «требование, предъявляемое к слову». Остав
ляя детальное обсуждение этого вопроса на будущее, мы в сле
дующем параграфе дадим разъяснения, достаточные для
первоначального понимания.
Кроме того, как мы убедимся в дальнейшем в § 13, специаль
ного анализа требует пункт 2) нашего метода, трактующий об
индукционном шаге. В каком смысле должен пониматься фи
гурирующий в этом пункте словооборот «если ..., то» (импли
кация)? Не должен ли он в разных ситуациях пониматься по-
разному? Откладывая обсуждение данной проблемы до §§ 13 —
15, мы отметим, что в обосновании нашего метода было исполь
зовано следующее свойство импликации:
6.1. Возможность, исходя из истинности двух высказываний
А
и
«если А, то В»,
заключить об истинности высказывания
В
(так называемое «правило modus ponens»).
7. Метод полной индукции мы будем применять и в других,
часто употребляемых в математике формах. Например, чтобы
показать, что всякое натуральное число N удовлетворяет
условию F, мы иногда будем доказывать, что при произволь
ном натуральном N верна следующая импликация:
«если все числа, меньшие N, удовлетворяют F, то N
также удовлетворяет F».
Доказав эту импликацию, мы будем вправе считать доказан
ным и интересующее нас утверждение,'что всякое натуральное
М удовлетворяет F.
Обоснование этой формы метода полной индукции обычное.
Здесь нам потребуется свойство импликации, заключающееся
в том, что
44 ВВЕДЕНИЕ [ГЛ. I
является высказывание
(2) «в настоящее время мы не умеем строить объект, удов
летворяющий требованию...»;
что отрицанием высказывания
(3) «в настоящее время мы владеем общим методом для...»
является высказывание
(4) «в настоящее время мы не владеем общим методом для...».
Этот ответ приходится, однако, отвергнуть по той причине, что
высказывания вида (2) и (4) вполне могут оказаться верными
сегодня и ложными завтра. Сегодня мы действительно можем
не уметь решать данную конструктивную задачу, а завтра
научимся. Между тем к математическим истинам уместно
предъявлять требование сохранности: установленная в дан
ный момент истина должна оставаться таковой завтра, после
завтра и т. д. Этому требованию удовлетворяют верные вы
сказывания видов (1) и (3) *), тогда как о верных высказыва
ниях видов (2) и (4) этого, вообще говоря, нельзя сказать.
Поэтому верные высказывания видов (2) и (4) не всегда можно
считать математическими **).
Мы видим, таким образом, что наивная трактовка отрицания
может вывести нас за пределы математики. Желая оставаться
в этих пределах, мы должны позаботиться о надлежащем
положительном понимании отрицания, т. е. о таком его по
нимании, при котором отрицание высказывания тоже свиде
тельствовало бы о какой-то нашей способности. При этом мы,
естественно, будем требовать, чтобы отрицание высказывания
всегда оказывалось несовместимым с ним, т. е. чтобы конъюнк
ция высказывания со своим отрицанием была ложной.
2. Проблема положительного понимания отрицания в не
которых случаях решается просто. Например, так обстоит
дело с высказываниями об одинаковости и различии букв
данного алфавита. Отрицать, что £ и ц одинаковы, это зна
чит утверждать, что ? и т] различны; отрицать, что £ и т]
различны, это значит утверждать, что £ и т] одинаковы. Оба
эти высказывания повествуют о нашей способности осуществить
некоторые конструктивные акты. Требование несовместимости
*) Придирчивый читатель усмотрит здесь излишний оптимизм. Ведь
бывало, что люди разучивались что-то делать. Пусть читатель вообразит
себе, что против такого забвения достигнутого приняты эффективные меры.
**) В § 12.1 читатель найдет некоторую конкретизацию этих рассмот
рений.
§11] ПРЯМОЕ ОТРИЦАНИЕ 49
высказывания со своим отрицанием здесь, очевидно, соблю
дено. Кроме того, соблюден закон исключенного третьего, т. е.
верна дизъюнкция, второй член которой есть данное высказы
вание, а первый — его отрицание. Эта дизъюнкция должна,
разумеется, пониматься конструктивно. Она означает, что мы
в состоянии указать, какое из высказываний — данное либо
его отрицание является истинным. Таким образом, мы в со
стоянии выяснить, верно ли данное высказывание.
Вообще, в том случае, когда высказывания А и В таковы,
что их конъюнкция ложна, а дизъюнкция истинна, мы будем
говорить, что В есть прямое отрицание А. Мы будем гово
рить о высказывании А, что оно разрешимо, когда нам уда
лось подобрать к нему прямое отрицание.
В случае разрешимости высказывания А у нас имеется
способ распознавать, верно ли А. Мы распознаем это при
установлении истинности дизъюнкции
«Л или В»,
где В — прямое отрицание А.
3. Легко доказываются следующие теоремы о разрешимых
высказываниях и их прямых отрицаниях:
3.1. Конъюнкция двух разрешимых высказываний есть раз
решимое высказывание. Дизъюнкция прямых отрицаний двух
высказываний есть прямое отрицание их конъюнкции.
3.2. Дизъюнкция двух разрешимых высказываний есть раз
решимое высказывание. Конъюнкция прямых отрицаний двух
разрешимых высказываний есть прямое отрицание их дизъюнк
ции.
3.3. Прямое отрицание всякого разрешимого высказывания
есть разрешимое высказывание. Всякое разрешимое высказывание
есть прямое отрицание своего прямого отрицания.
4. Хорошим примером разрешимого высказывания явля
ется высказывание, получаемое из предиката § 10.2 (2) путем
замены натуральной переменной каким-либо натуральным
числом. Прямым отрицанием этого высказывания является
высказывание, получаемое из предиката
(1) «А4 несовершенно»
и
P^Q.
Для предикатов графического равенства и различия имеют
место законы исключенного третьего:
7.1. Каковы бы ни были буквы | и т] алфавита А, верна
дизъюнкция
«|ЗЕт| или
7.2. Каковы бы ни были слова Р и Q в алфавите А, верна
дизъюнкция
«РЗЕ Q или Р^. Q».
Верны также следующие высказывания.
7.3. Каковы бы ни были буквы | и т) алфавита А, ложна
конъюнкция
«^11] и ^Т]».
52 ВВЕДЕНИЕ [ГЛ. I
3 А. А. Марков, Н. М. Нагорный
ГЛАВА II
[P^S^[P^
(здесь Р означает произвольное слово в А, а ? — произволь
ную букву этого алфавита).
Позже, когда мы в § 26 познакомимся с понятием вербаль
ного алгорифма, мы поймем, что этот способ представляет
собой некоторый вербальный алгорифм в алфавите А. Чита
тель, знакомый с рекурсивными функциями, увидит в нашем
определении простой пример «вербальной» примитивной ре
курсии.
Определение, аналогичное только что приведенному, уже
встречалось выше (см. § 2.5). В дальнейшем мы встретимся
с другими рекурсивно определяемыми операциями. При этом
всякий раз мы будем иметь в виду только что сделанное разъ
яснение.
Имеют место следующие утверждения:
3.2.1.
3.2.2. [PQ^SfQ^P^.
3.2.3. [[р^гр.
Действительно,
[^г[ЛГ
^s[A"
[3.2.2]
[3.2.3, 3.2.1],
что и требовалось доказать.
Пусть теперь F — какое-либо свойство слов, и пусть ме
тодом левой индукции мы доказали, что любое слово обладает
этим свойством. Покажем, что это утверждение может быть
доказано методом правой индукции, примененным к некото
рому другому свойству слов.
В самом деле, рассмотрим свойство G, определенное сле
дующим образом:
G (Pp==F ([Р“).
Если же R 3 Л, то Q31P^[(2)J.
Таким образом, в обоих случаях имеет место дизъюнкция
(4) «<?—начало Р илй QSIPg».
Мы доказали ее, предполагая верным равенство (2). Следо
вательно, имеет место материальная импликация (1) [§ 13.6.2],
что и требовалось доказать.
2. Истинность следующих утверждений легко усматри
вается:
2.1. Всякое слово есть начало и конец самого себя.
2.2. Пустое слово есть начало и конец всякого слова.
2.3. Пустое слово есть единственное начало (единствен
ный конец) пустого слова [2.1, 2.2, § 17.6.3].
2.4. Всякое начало слова Р есть начало слова PQ; всякий
конец слова Р есть конец слова QP.
Последнее следует из сочетательного закона соединения
слов.
2.5. Слово Q тогда и только тогда есть начало слова Р^,,
когда имеет место дизъюнкция 1(4) [1.2, 2.4, 2.1].
В силу 2.5 при наличии списка всех начал слова Р мы,
присоединяя к этому списку слово Р%, получаем список всех
начал слова Пользуясь этим и принимая во внимание,
что список слов, единственным элементом которого является
А, есть список всех начал слова А [2.3], убеждаемся в воз
можности построения списка начал любого слова, т. е. в ис
тинности утверждения
2.6. Для всякого слова может быть построен список всех
его начал.
Аналогично доказывается
2.7. Для всякого слова может быть составлен список всех
его концов.
В силу 2.6 имеем
2.8. Двуместный предикат
«Р — начало Q»
разрешим.
В самом деле, чтобы узнать, является ли слово Р началом
слова Q, достаточно, построив список всех начал слова Q,
сравнить Р с каждым элементом этого списка, выясняя сов
падение слова Р с этим элементом.
Аналогично утверждению 2.8 может быть доказано ут
верждение
2.9. Двуместный предикат
«Р — конец Q»
разрешим.
76 СЕМИОТИКА (ГЛ. II
Т^Л,
мы видим, что условия, налагаемые на R, S и Т, выпол
няются при Q2A [5.2].
Допустим, что слово Q правильно, и докажем, что тогда
правильным будет и всякое слово Q£, где g—какая-нибудь
буква.
80 СЕМИОцХЛ [гл. II
6.1. м^м.
6.2. А^М.
6.3. Если Л4«СЛ, то Л/°-Л.
6.4. Если M^N, то M^NL *).
6.5. М N | тогда и только тогда, когда
M^.N или Л4$М|.
6.6. Если М^Н, а N <Л, то M<L.
6.7. Если М^Н, a N^M, то MSN.
6.8. Ms^N тогда и только тогда, когда М < N или
MSN.
6.9. М < N | тогда и только тогда, когда M^N.
6.10. MN^ML тогда и только тогда, когда N^L.
6.11. Если М < |, то Ms А.
• 6.12. Неверно, что М<М [4.17J.
6.13. Если N^M, то неверно, что Л4<тУ[4.19].
6.14. Если M<N, а N то M<L [4.18].
Следующие два высказывания касаются взаимной про
стоты слева натуральных чисел.
6.15. Если М^А и Njt.A, то М и N не являются
взаимно простыми слева [5.4].
6.16. Если М и N взаимно просты слева, то Ms А или
№Л.
Очевидна лемма
6.17. Всякое начало натурального числа является натураль
ным числом, всякий конец натурального числа является нату
ральным числом.
Теперь легко доказывается
6.18. M^N или N^M [5.6, 6.17, 6.16].
Доказывается далее
6.19. Л4<М или N<M или M3IAU6.18, 6.8].
В дальнейшем мы будем также пользоваться тем фактом,
что
6.20. M^MN 14.161.
7. Мы будем иногда применять следующий метод индук
ции по началам слова.
Чтобы доказать, что всякое начало слова Р удовлетворяет
одноместному вербальному предикату F, мы доказываем, что
1) Л удовлетворяет F,
2) для всякого слова X и всякой буквы | имеет место им
пликация
*) Обращаем внимание читателя на то, что NL означает здесь соедине
ние слов N и L, т. е. по существу сумму натуральных чисел N и L. Относи
тельно умножения натуральных чисел см. § 20.
$ 181 НАЧАЛА И^ОНЦЫ СЛОВ 83
9.6. (A-Z)SZ.
9.7. (Z-^Z)SA.
9.8. Если X—конец Z, то
' (X-rKZ)sy(X-^Z).
Имеем
10.1. Если M^.N, то (N—М) есть натуральное число [8.1].
10.2. Выражение (X—М) осмыслено тогда и только
тогда, когда Mt^N [8.2].
10.3. (AfA—Al) SA [8.3].
10.4. Если М^.Х, то
M(X — M)°LX [8.4].
10.5. Если М | X, то
(X—М) S((A—А4|) [8.5].
откуда последовательно
[Уй[гй2А [§ 17.5.2],
[У"лЛ [§ 17.6.3],
[ZdSA [§ 17.6.3],
Угл [1-6],
Z2A [1-6].
88 СЕМИОТИКА [ГЛ. II
Имеем далее
2.4. Если. Х;£Д, то ХУ не есть начало Y [2.3].
3. Проекцией слова Р в алфавите А на алфавит Б мы
будем называть слово, получаемое из Р выбрасыванием
всех букв, не являющихся буквами алфавита Б. Проекцию
слова Р на алфавит Б мы будем обозначать символом
[РБ.
Более точно:
[Ав^А,
j [РБ£, если g—буква алфавита Б,
{ [У36, если £ не есть буква алфавита Б.
Эти равенства и будут служить индуктивным определением *)
проекции слова на алфавит. С их помощью легко доказы
ваются два следующих высказывания:
3.1. Проекция слова в алфавите А на алфавит Б есть
слово в проекции алфавита )А
** на алфавит Б.
3.2. [PQBS[PB[QB.
4. Длина проекции слова Р на алфавит Б выражается
следующим образом:
§ 23. Вхождения
1. Мы говорим, что слово Р входит в слово Q, если
существует пара слов такая, что R — первый элемент этой
пары, S—второй и что
Q °LRPS.
Мы говорим тогда также, что слово Q содержит слово Р.
1.1. Двуместный вербальный предикат
(1) «Р входит в Q»
полуразрешим.
Это очевидно из определения данного предиката.
Ввиду 1.1 импликации с посылками вида (1) могут быть
рассматриваемы как усиленные.
Докажем усиленную импликацию
1.2. Если Р входит в Q, то существует U такое, что Р
есть начало U, a U — конец Q.
Фиксируем Р и Q. В развернутом виде импликация 1.2
выглядит следующим образом:
1.2.1. Если существует пара слов RaS такая, что
Q&RPS, то существует U такое, что Р есть начало U, a U—
конец Q.
В силу нашего соглашения о понимании усиленных импли
каций высказывание 1.2.1 означает то же, что и высказывание
1.2.2. Какова бы ни была пара слов RaS, если QalRPS, то
существует U такое, что Р — начало U, a U — конец Q.
§231 ВХОЖДЕНИЯ 95
Р
4.2. ** есть начальное вхождение пустого слова в Р;
Р
** есть концевое вхождение пустого слова в Р.
5. Нас теперь будут интересовать различные вхождения
слова Р в слово Q, где Р и Q фиксированы. Для краткости мы
в данном пункте будем называть их просто «вхождениями»,
не упоминая Р и Q.
5.1. Вхождения X и Y тогда и только тогда совпадают,
когда совпадают их левые (правые) крылья [§ 17.5.2, 3.2,
§ 17.5.1].
Будем говорить, что вхождение X предшествует вхожде
нию Y, если левое крыло X есть собственное начало левого
крыла Y.
5.2. Для вхождений X и Y имеет место одно из трех-.
X предшествует Y, Y предшествует X, [§18.4.5,
§ 18.4.1].
5.3. Вхождение не предшествует самому себе [§ 18.4.17].
г 5.4. Если вхождение X предшествует вхождению Y, а ¥
предшествует вхождению Z, то X предшествует Z [§ 18.4.18].
Докажем высказывание
5.5. Три возможности, указанные для вхождений X и Y
в теореме 5.2, исключают другдруга. Иначе говоря, невозможно,
чтобы X предшествовало Y и Y предшествовало X; невозможно,
чтобы X предшествовало Y и совпадало с Y; невозможно, чтобы
Y предшествовало X и совпадало с X.
Действительно, второй и третий случаи сразу отпадают
согласно 5.3. Если бы имел место первый случай, то вхождение
X предшествовало бы самому себе [5.4], что невозможно в си
лу 5.3.
Докажем высказывание
5.6. Если вхождение X предшествует вхождению Y, то
правое крыло Y есть собственный конец правого крыла X.
4*
100 СЕМИОТИКА [ГЛ. II
буквы у в слово (у
-
* Y) [§ 23.6.3]. Это вхождение имеет вид
(2) *
W,
P
y
где Р и W — слова в алфавите Ау. Ввиду того, что вхож
дение (2) является первым вхождением у в (у -К),
* у не
входит в Р [§ 23.7.10]. Таким образом, Р есть слово в ал
фавите А. Ввиду того, что (2) есть вхождение в (y^-Y),
имеем
(3) -Y)±PyW,
(y
*
и потому
Y^yPyW [(1), (3)]
ХуРХ,
где Х=^у!17. Будучи концом системы У, начинающимся бук
вой у [(3)], X есть система [1.2], что и оставалось доказать.
Докажем следующую теорему:
1.6. Пусть F — одноместный вербальный предикат в алфа
вите Ау. Пусть у удовлетворяет F, и пусть соблюдается сле
дующее условие: «каковы бы ни были система X и слово Р в ал
фавите А, имеет место импликация
если X удовлетворяет F, то уРХ удовлетворяет Е».
Тогда всякая система удовлетворяет F.
Пусть G означает следующий одноместный арифметический
предикат со свободной натуральной переменной X: «всякая
система, длина которой не превышает N, удовлетворяет F».
Число А удовлетворяет G, так как не существует систем длины,
не превышающей А [1.5]. Пусть натуральное число N удовле
творяет G. Покажем, что Х| тоже удовлетворяет G.
Пусть X—система и [Xй ^Af|. Покажем, что X удов
летворяет F. Если XSy.TO X удовлетворяет F по условию
теоремы. Пусть Х^у. Тогда существуют слово Р в алфа
вите А и система Y такие, что
(4) ХЗГуЕУ [1.5].
Ввиду (4) [Кй < [Xй [§ 19.1.2], и потому [Yd^N. Так как
N удовлетворяет предикату G, Y удовлетворяет F. Поэтому
по условию теоремы и ввиду (4) X также удовлетворяет F.
Это мы доказали для всякой системы X, длина которой не
превышает X]. Следовательно, Х| удовлетворяет предикату G.
Итак, каково бы ни было натуральное число N, имеет место
импликация «если N удовлетворяет G, то Х| удовлетво
ряет G». Таким образом, всякое натуральное число удовлет-
108 СЕМИОТИКА [ГЛ- II
Поэтому
(Ю) (P^(y_Y))vQyZ&X [(8), (9), § 17.5.2].
Полагая
(И) yQy
U7^(P-(y-y))
Z
* ,
удовлетворяет предикату F.
Если же число N удовлетворяет условию (5), то
(N-1) <([Х°-1).
и потому (N—|) удовлетворяет предикату F. Это означает,
что существует элемент системы X с номером N, что и тре
бовалось доказать.
5.4. Если Y и U — элементы одной и той же системы
и '[Гд S [£/д, то YZU.
Действительно, пусть Y и U—элементы системы X,
и пусть
(21) [Удз:[(/д.
Y и V суть вхождения некоторых атомов уРу и yQy соот
ветственно в X. Р и Q являются здесь словами в алфавите А.
Обозначая левое и правое крылья U через V и Т, левое
и правое крылья Y через Z и W, имеем
(22) W ,
YS.z
*
yPy
(23) U* 4LV
yQy
T ,
(24) X^ZyPyW,
(25) XsLVyQyT,
(26) [Г4 S [[Z^ I,
(27) [t/4S[[E^|(
(28) [[Z^o:[[l/v9 [(21)—(27)].
§ 25. Схемы
1. В этом параграфе А означает некоторый алфавит,
а, р, у и *—некоторые попарно различные буквы, не вхо
дящие в А. Мы введем в рассмотрение алфавит Б, положив
5 251 СХЕМЫ 117
по определению
Б^ Аар.
Буквы Р и Q будут применяться как вербальные переменные
в алфавите А; буквы X, Y и Z — как вербальные переменные
в алфавите Бу; буквы Т, U, V, W — как вербальные перемен
ные в алфавите Б.
Буквой у мы будем пользоваться для построения у-систем
в алфавите Б. Как и в § 24, мы будем называть их просто
системами. Буквой * мы будем пользоваться для построения
♦-вхождений в алфавите Бу, которые мы будем называть про
сто вхождениями.
2. Слова вида P^,Q, где £ — буква алфавита ар, мы будем
называть формулами подстановок (в алфавите А); слова вида
Pa,Q — простыми формулами подстановок, слова вида PPQ —
заключительными формулами подстановок.
Очевидным образом имеем
2.1. Всякая формула подстановки является простой или
заключительной.
2.2. Никакая простая формула подстановки не является
заключительной.
2.3. Всякая формула подстановки единственным образом
представляется в виде P&Q, где £ — буква алфавита аР
[§ 22.1.3].
Слово Р будет называться левой частью формулы подста
новки слово Q — правой частью этой формулы подста
новки.
Имеем
2.4. Левая и правая части всякой формулы подстановки
суть слова в алфавите А.
Нетрудно видеть, что следующие вербальные предикаты
разрешимы: «X есть формула подстановки», «X есть простая
формула подстановки», «X есть заключительная формула под
становки», «X есть формула подстановки и Р — левая часть X»,
«X есть формула подстановки и Q — правая часть X».
13. Мы будем говорить, что формула подстановки F дейст
вует на слово Р, если левая часть F входит в Р. В этом случае
мы будем под результатом действия F на Р подразумевать ре
зультат подстановки правой части формулы подстановки F
вместо первого вхождения ее левой части в слово Р.
Имеем
3.1. Результат действия формулы подстановки F на слово
Р определен тогда и только тогда, когда F действует на Р. Он
является тогда словом в алфавите А [§ 23.8.2].
118 СЕМИОТИКА [ГЛ. II
Имеем, следовательно,
yrySy(yQy-E) [(3), (10)]
o-ySyTyV [(3)].
Имеем
(12) UySsLXQ [(4), (И)]
3!(у-Х)у0 [§ 18.9.4],
ввиду чего у0 есть конец S или S есть конец 0 [§ 18.4.10].
Но у0 не есть конец слова S в алфавите А. Таким обра
зом, S есть конец 0, т. е. имеется слово Г в алфавите Ау
такое, что
(13) 0IorS.
Имеем
Uy^XT [(12), (13), § 17.5.1],
в силу чего слово Г пусто или имеет последнюю букву у.
Имеем далее
(VQy- Y)sLQyTyV [(5), (И)]
ETSyTyV [(13)]
и, следовательно,
(14) Y °LyQyTSyTyV [(3)].
§ 26. Алгорифмы
1. Существенную роль в дальнейшем играют алгорифмы.
Понятию алгорифма может быть дано следующее предвари
тельное определение, которое в дальнейшем будет уточнено:
ФИ Алгорифм есть предписание, однозначно определяющее
ход некоторых конструктивных процессов.
2. Слово «предписание» в определении алгорифма указы
вает на наличие некоторого адресата — субъекта, о котором
предполагается, что он будет выполнять это предписание.
В частности, это может быть человек или какая-нибудь его
хорошая модель. Выполняя предписание, его адресат будет
осуществлять некоторый процесс, однозначно определенный
этим предписанием. Этот процесс будет идти в некоторой систе
ме (например, в системе: «доска, мел, тряпка»), состояние кото
рой будет в ходе процесса изменяться. Все эти изменения долж
ны полностью определяться предписанием и осуществляться
адресатом-исполнителем, который, разумеется, должен пони
мать предписание. Иногда предписание может потребовать
окончания процесса.
3. В нашем определении алгорифма о процессах говорится
во множественном числе. Алгорифм может, вообще говоря,
определять много процессов, отличающихся друг от друга
начальным состоянием системы. (В частном случае, однако,
алгорифм может фиксировать начальное состояние, и тогда мы
будем иметь только один процесс.)
4. Слово «однозначно» в определении алгорифма не должно
пониматься слишком буквально. Для состояний системы мо
жет быть установлено то или иное отношение одинаковости.
Например, для системы «доска, мел, тряпка» состояниями мо
гут считаться слова, написанные мелом на доске. В этом случае
будет естественно считать состояния одинаковыми, если оди
наковы соответствующие слова.
1 Процесс, определяемый алгорифмом при задании началь-
г ного состояния •системы, должен определяться однозначно
лишь „с точностью до одинаковости" получаемых в его ходе со
I
136. НОРМАЛЬНЫЕ АЛГОРИФМЫ 1ГЛ. Ill
(2)
Яд, в, х со схемой
[ >е
J xg —х
i
—>■
(1) <
а —>•
!
[инд. предпол.]
3=А: W(PlQ)P^Qa^PV(lQ)PlQa
SP|?T(Q)P^Qa [1.12],
[(10), (8)]
HP&Y(Q)P&Qa
т. е. Р| также обладает свойством К- Значит, действительно,
любое слово в А обладает этим свойством, что и требова-
1 лось доказать.
1.14. ^А: W(P)Pa = PPa. _
(Частный случай 1.13
3=А: PhaP Теперь докажем утве
|=Ф(Р)Ра [1-1]
Н=У(Р)Ра [1-8]
[=РРа [1.П]
I--PP [1-14]
откуда $А: Р[=«РР и, следовательно, [1-2],
^a(P)3lPP,
что и требовалось доказать.
Таким образом, нормальный алгорифм $А может быть оха
рактеризован как удваивающий алгорифм над алфавитом А.
2. Проведенное доказательство убедительно демонстрирует
действенность метода индукции. Однако неискушенному чита
телю оно может показаться недостаточно прозрачным. Ввиду
этого целесообразно сопроводить его несколькими замечани
ями.
Прежде^всего следует в общих чертах описать работу алго
рифма ^А-'Она выглядит следующим образом. Вначале перед
исходным словом Р „возникает" буква а [1.1]. Затем она „бе
жит" по слову Р слева направо, снимая с его букв „копии"
[1.31. Буквы-копии, „разбавленные" приклеившимися к ним
буквами р, бегут налево сквозь уже пройденную буквой а
6 А. А. Марков, Н. М. Нагорннй
162 НОРМАЛЬНЫЕ АЛГОРИФМЫ [ГЛ. Ill
а£ |р£а
< Р-
а —<-•
—>■ а
так что
[№d< -^-4-s(3l) [(Ю), (U
k-s (31)
(13) e k~\ '
Но
31 (Р) s W [(2)],5
и потому
(14) \Wd^k-[Pd [(!)]>
что дает
/г-[Рй< kks(^ [(14), (13)]
и
(k— l).[Pd^s(3l),
что и требовалось доказать.
Из 4.1 вытекает, в частности, невозможность построения
в непустом алфавите А нормального алгорифма 31, удваиваю
щего любое слово в А. В самом деле, такой алгорифм был бы
2-растягивающим, и, значит, для любого непустого слова Р
в А выполнялось бы неравенство [Pd^s(3I) [4.1], что очевид
ным образом невозможно.
(1) ₽■—>■ •
аВп
а,
*) См. §31.3.
5 33] АЛГОРИФМЫ ПОБУКВЕННОГО КОДИРОВАНИЯ 171
является обращающим.
(1)
где £ пробегает А.
Покажем, что для любого Р в А
ЯА (Р)ЗЕФ(Р).
Из рассмотрения схемы (1) имеем
1.1. ЯА: Р^-аР.
1.2. ЯА: Ф(Р)а^НФ(Р5)а«.
1.3. ЙА: Ра|-«Р.
Далее, имеем
1.4. $А: aPQ )= Ф (Р) <xQ.
Доказывается правой индукцией по Р с использова
нием 1.2.
1.5. ЯА: аРНФ(Р)а.
Частный случай 1.4 при QSA.
Из 1.1, 1.5 и 1.3 следует (2). Действительно,
ЯА: РН«Р [1.1]
(=Ф(Р)а [1.5]
I—ФР) [1.3].
5 33] АЛГОРИФМЫ ПОБУКВЕННОГО КОДИРОВАНИЯ 173
т. е.
$?А:
откуда
Яа(Р)зеФ(Р),
что и требовалось доказать.
Рассмотрим случай, когда | есть буква алфавита А и
любой букве В этого алфавита в качестве Kg сопоставляется
слово |. Очевидно, что в этом случае для любого слова Р в А
йА(Р)г[Р^.
Тот же результат дает более простой нормальный алго
рифм в А, определяемый сокращенно записанной схемой
{В-1.
в которой | пробегает алфавит А\|.
2. Важным частным случаем замены букв словами яв
ляется выбрасывание некоторых букв. Это—тот частный
случай, когда Kg^A для некоторых букв В и Kg 32? для
остальных В-
В связи с этой операцией в дальнейшем будет приме
няться следующая терминология.
Пусть А—расширение алфавита Б. Результат выбрасы
вания букв алфавита А\Б из слова Р в А мы называем
проекцией слова Р на алфавит Б и обозначаем через
[РБ
(см. § 19.3).
Построение проекций слов в А на Б мы будем называть
операцией проектирования из А на Б.
"Соответствующим частным случаем алгорифма ЙА яв
ляется нормальный алгорифм в Аа с сокращенно записан
ной схемой
получаем
[PAS[PA1[SAS[QA.
Аналогичным образом убеждаемся, что [PBS[QE.
3.12. Алгорифм 2д, б применим к любому слову в АБ.
В самом деле, согласно 3.9 он применим к любому
слову высоты нуль. Пусть теперь N—какое-либо натураль
ное число. Предположим, что 2а, б применим ко всякому
слову Q в АБ такому, что [QB = A, и пусть Р—слово в АБ
такое, что [Рв = А-|-1. Покажем, что йд, Б применим к Р.
Действительно, [Рв=/=0, и, значит, существует такое слово
Q, что 2д, б: P\—Q [3.10]. Согласно 3.11 [QB = A, и потому
алгорифм 2д, б применим к Q. Но тогда он применим и
к Р [§ 25.8.9]. Следовательно, 2а, б применим к любому
слову в АБ, что и требовалось доказать.
Покажем теперь, что
(14) 2а, б(Р)3=[Ра[Рв
. для всякого слова Р в АБ.
Пусть, в самом деле, Р—слово в АБ. Алгорифм 2д, б
х применим к Р [3.12]. Следовательно, существует Q в АБ
такое, что 2а, b(P)^Q- Ясно, что
(15) 2а, б: P^=Q1
и что Q—слово высоты нуль [3.10]. Индукцией по шагам
работы алгорифма 2а, б с использованием 3.11 легко пока
зать, что
(16) [PA3:[QA,
(17) [РБз:[СБ.
Так как [QB = 0, имеем
(18) QS[QA[QB [3-8].
Таким образом,
2a,b(P)^Q
<X[QA[QB [(18)]
S[PA [РБ [(16), (17)].
Следовательно, 2а, б (P)S[Pa[Pb, что и требовалось до
казать,
180 НОРМАЛЬНЫЕ АЛГОРИФМЫ [ГЛ. III
| M|=|JV
2^: |W—A4|Af
* —М|
* [1-5]
Г [1.2, 1.4].
ь В обоих случаях, следовательно,
(1)
182 НОРМАЛЬНЫЕ АЛГОРИФМЫ [ГЛ. III
■ [4] '>•
В самом деле, из рассмотрения схемы (1) легко усмат
ривается справедливость следующих лемм:
3.1. й3: #
*
(М + 5)|-(#4-1)
*
М-
3.2. Если 0 < М < 5, то
§I3: N
M\-
* —
3.3. 9(3:
3.4. 2I3: N\-
*
N-
Из 3.1 вытекает
3.5. SI8: *
(R+5xQ)\=(N+Q)
R
N .
Из 3.2 вытекает
3.6. Если R <5, то
.Q
3I8: *
R\=Q
Пусть теперь N—произвольное натуральное число.
Представим его в виде R-|-5xQ, где R—остаток, Q —
частное от деления N на 5. Так как R = R-f-5x Q и R <5,
алгорифм 813 в применении к слову N работает следующим
образом:
Я8: AT|-*(/?+5xQ) [3.4]
|= Q * R [3-5]
|= Q * [3.6]
H-.Q. [3.3]
Таким образом, 2I3: R|=.Q, откуда 5I3(R)s:Q, что и
требовалось доказать.
4. Легко также построить нормальный алгорифм в |*,
перерабатывающий всякое натуральное число N в пару
*
Q
R, где Q—частное от деления N на 5, R—остаток от
этого деления. Зададим, в самом деле, нормальный алго
рифм 314 в | * схемой
*11111-1
*
X.
Этот алгорифм работает указанным только что образом, как
читатель без труда докажет.
•) Прямоугольные скобки применяются здесь для обозначения
целой частц.
S 34] НЕКОТОРЫЕ АРИФМЕТИЧЕСКИЕ АЛГОРИФМЫ 183
Делитель 5 в трех предыдущих примерах взят только для
определенности. Такие же нормальные алгорифмы можно,
очевидно, построить для деления на любое другое, отличное
от нуля натуральное число. Для этого надо только заменить
пять черточек в левой части первой формулы каждой из трех
только что рассмотренных схем соответствующим другим чис
лом черточек. Если бы мы, однако, попытались построить
К" аналогичные алгорифмы для деления на нуль, совсем отбрасы
I вая черточки в левой части первых формул этих схем, то, как
А* нетрудно видеть, мы получили бы алгорифмы, не применимые
ни к какому натуральному числу, что, разумеется, вполне
соответствует сущности дела.
5. Построим теперь два несколько более сложных нормаль
ных алгорифма. Первый из них — алгорифм отыскания наи
»г большего общего делителя — будет перерабатывать всякую па
ру натуральных чисел в наибольший общий делитель этих
чисел; второй — алгорифм умножения — будет перерабаты
вать всякую пару натуральных чисел в произведение этих
чисел. Оба алгорифма будут алгорифмами над алфавитом
, но не в этом алфавите.
|*
Зададим нормальный алгорифм ?XS в алфавите |* аЬс
схемой
|*
(1)
а 1~>-1Ьа
а —►
(2)
* —
ь -ч
5.31. 91,: M
NbQaRb
* *
(N
s^M + R)bQ^abs [5.30].
186 НОРМАЛЬНЫЕ АЛГОРИФМЫ [ГЛ. Ill
Имеем теперь
(8) STURTLPR [(5), (7)1,
STU^P [(8)],
*UR [(7)].
снизу.
2.1. Замыкание всякого нормального алгорифма замкну то.
Это очевидно из определений.
Замыкание нормального алгорифма 91 мы будем обозна
чать через 91’.
Из сравнения схем алгорифма 91 и его замыкания легко
усматривается справедливость следующих лемм:
2.2. Если 91: Р j— Q, то 91’: Р (— Q.
2.3. Если ^L:P\--Q, то 91’: Р Н -Q.
2.4. Если 91:Р“], то 9Г:Р|—«Р.
Из них вытекают следующие леммы:
2.5. Если W:P\-Q, то 9l:P|-Q [2.2, 2.3, 2.4,
§ 25.4.7].
2.6. Если 9Г:Р|— -Q, то либо 91: Р |— -Q, либо 91:Р~]
и P^Q [2.2, 2.3, 2.4, § 25.4.7].
Индукцией по шагам работы алгорифма 91 с использова
нием леммы 2.2 получается
2.7. Если %:P\=Q, то W:P\=Q.
Индукцией по шагам работы алгорифма 9Г с использо
ванием леммы 2.5 получается
2.8. Если %':P 'i=Q, то 9l:P|=Q-
198 СОЧЕТАНИЯ НОРМАЛЬНЫХ АЛГОРИФМОВ [ГЛ. IV
Далее имеем
2.9. Если 3l:P|=-Q, т° 8l:P|='Q [2.7, 2-31-
2.10. Если 31: P|=Q-], то ЭГ: Р|=.Q [2.7, 2.4].
2.11. Если 3T:P|==-Q, tno %-.P^-Q или %-.Pl=Q~\
[2.8, 2.6].
2.12. Если 31 (Р) sQ, то %'(P)olQ [2.9, 2.10, § 25.7].
2.13. Если 3C(P)sQ, mo 91 (P)oiQ [2.11, 1.3, 2.1, §25.7].
2.14. 31 (Р) ~ ЗГ (Р) [2.12,2.13].
Мы доказали, таким образом, следующую теорему:
2.15. Всякий нормальный алгорифм вполне эквивалентен
своему замыканию относительно своего алфавита.
В силу теорем 2.15 и 2.1 рассмотрение произвольных
алгорифмов сводится по существу к рассмотрению замкну
тых алгорифмов, что во многих случаях оказывается удоб
ным ввиду теоремы 1.3.
(3)
(5) [/’Q-sf/’-LQ-
для любых слов Р и Q в А и для любой буквы | этого
алфавита.
Очевидна также следующая лемма:
2.8. Всякое слово в алфавите А есть двойник одного и
только одного слова в А..
Заметим теперь, что между схемой алгорифма ЗУ и сис
темой формул 35g также имеется естественное взаимно од-
Ml37] КОМПОЗИЦИЯ АЛГОРИФМОВ 201
|
лфавита [2.13].
Пусть
(8) U
R
T
*
— первое вхождение U в Р. Алгорифм ® в применении к
Р предписывает подставить правую часть формулы G, т. е.
aV, вместо этого вхождения. Так как G—простая формула,
имеем
&.P[-RaVT.
С другой стороны, алгорифм в применении к Р пред
писывает подставить вместо вхождения (8) правую часть
формулы F, т. е. V. Так как 9Г: Р[- >Q, имеем
QolRVT.
Полагая S^oVT, будем, следовательно, иметь (6) и (7),
что и требовалось доказать.
2.16. (§,:RaS\==aRS.
Здесь удобно воспользоваться приемом, уже применяв
шимся в §§ 31 и 32. Сначала левой индукцией по R мы
доказываем более общее утверждение
(£: QflaS|=QaZ?S,
а затем полагаем в нем QjrA.
2.17. Если $Г:Р\— -Q, то
В самом деле, пусть -Q. Тогда существуют слова
R и S, удовлетворяющие условиям (6) и (7) [2.15]. Q есть
слово в А, так как 9Г—алгорифм в А и 31': Р|— -Q. По
этому, согласно (6), R и S также суть слова в А и при
менима лемма 2.16. Имеем, таким образом,
6: Р Н RaS [(7)]
<=v.RS [2-16]
SaQ [(6)]-
Следовательно, (S: PJ=aQ, что И требовалось доказать.
2.18. Если 31': P^=Q, то (£: P^Q.
Доказывается индукцией по шагам работы алгорифма
ЗГ с использованием леммы 2.14.
2.19. Если ЭГ -Р[=‘ Q, то P(=aQ.
В самом деле, пусть ЭГ: P|=.Q. Тогда существует такое
слово R, что
(9) 21’: P^=R,
(Ю) 21’: R \-.Q.
■ 37] КОМПОЗИЦИЯ АЛГОРИФМОВ 205
( Имеем поэтому \
ЭХ: P\=R [(9). 2.18]
(=«Q [(Ю),2.17].
Таким образом, 6: P\=aQ, что и требовалось доказать.
2.20. Если Р и Q — такие слова в алфавите А, что
6: PY-Q, то ЭХ': Р И Q.
В самом деле, пусть Р и Q—слова в А, и пусть
(И) 6; PHQ.
В силу замкнутости алгорифма 31' [§ 36.2.1J, существует
такое слово Т, что ЗГ: Р |— Т или ЭХ': PH -Т. Во втором
случае имелись бы, однако, слова R и S такие, что
(12) PY-RaS [2.15].
Мы имели бы тогда CpS-RaS [(11), (12)], что невозможно
так как Q—слово в А. Таким образом,
(13) ЗХ': PH Л
(14) 6: Р Н Т [(13), 2.14],
(15) TS.Q [(H), (14)],
ЗХ': PHQ [(13), (15)],
что и требовалось доказать.
2.21. Если Р—слово в А, то 6 просто переводит Р
в некоторое слово.
В самом деле, пусть Р- слово в А. Рассуждая, как
в доказательстве предыдущей леммы, убеждаемся в суще
ствовании такого слова Т, что 31’: Р Н Т или 31': Р • Т.
В обоих случаях 6 просто переводит Р в некоторое слово
[2.14,2.15].
2.22. Если алгорифм (£ применим к слову Р в А, то
алгорифм ЗХ' также применйм к Р.
В самом деле, пусть алгорифм 6 применим к слову Р,
и пусть 6 (Р) ~°.U. Тогда в силу замкнутости алгорифма 6
[2.7] имеем 6: Р(=
* U [§ 36.1.3]. Поэтому существует слово V
такое, что 6: Р|=РН • U, и, значит, существует перевод
ная система X схемы алгорифма 6, соединяющая Р с V.
Легко видеть, что V не является словом в А, так как <£:
V -U [2.21]. Таким образом, первый член системы X
является словом в алфавите А, а последний ее член им не
является. Арифметический предикат «член системы X с но
мером N не является словом в А» очевидно разрешим. По
этому на основании теоремы о наименьшем числе [§21.2.1]
206 СОЧЕТАНИЯ НОРМАЛЬНЫХ АЛГОРИФМОВ [ГЛ. IV
имеем
6: а [Р~ I— а[/?“ [V- [S'
2a[/?VS" [(5) J
Sa[Q- [(26)].
6) 77 S A. В этом случае
(27) R3LA,
так как *(7
Z?
S —первое вхождение U в Р. Образом
вхождения *7?
(7
S является поэтому вхождение *[S",
a
а правой частью формулы G является слово a[V“ [2.11].
Принимая во внимание, что формула G простая [2.9], имеем
(У: а [Р_ |— a [V- [S-
г a [VS- [(5)]
Г a [ЯVS" [(27)]
£«[<?' [(26)].
Таким образом, в обеих случаях К: «[Z3- a[Q“, что
и требовалось доказать.
2.32. Если ЗУ: /’(—• Q, то существуют такие слова R
и Т, что
QS1RT,
($.: a [Р- а [7?~Р [Г".
(S; a[Q~q|P[-a[Q
212 СОЧЕТАНИЯ НОРМАЛЬНЫХ АЛГОРИФМОВ [ГЛ. IV
К и мы имели бы
| (38) a[Q-Sa[S-p[T- [(35), (37)],
| [Q-s[S-₽[T- [(38)],
что невозможно, так как р не входит в [Q".
S. Следовательно, имеет место (36) и
■X. л
Имеем
«45) 33 (Q)$P [(43), (44)],
«46) ЗГ (Р) s Q [(43), § 36.2.14],
107) 33- (Q)sp [(45), § 36.2.14],
(48) ЗГ: PH-Q [(46), § 36.2.1, § 36.1.3],
«49) ЗГ: QH-P [(47), § 36.2.1, § 36.1.3],
Р 1— aQ [(48), 2.19]
н-р [(49), 2.40].
Следовательно,
(50) 6: P^='R,
G(P)ZlR [(50)]
S33(3l(P)) [(44)],
что и требовалось доказать.
Для завершения доказательства теоремы нам остается
теперь доказать, что выражение 93 (31 (Р)) имеет смысл для
слова Р в алфавите А, коль скоро имеет смысл 6 (Р), т. е.
коль скоро алгорифм 6 применим к слову Р.
2.46. Если алгорифм (i применим к слову Р в алфавите
А, то имеет смысл выражение 93 (31 (Р)).
В самом деле, пусть алгорифм 6 применим к слову Р
в А. Тогда алгорифм ЗГ применим к Р [2.22]. Положим
Ц51) Q-^3T(P).
| Тогда Q есть слово в А, так как ЗГ—алгорифм в А.
f Имеем, далее,
■ (52) ЗГ: [(51), § 36.2.1, § 36.1.3],
: (53) P\=aQ [(52), 2.19].
] Так как, согласно предположению, алгорифм 6 применим
к Р, он применим и к aQ [(53)]. Отсюда следует, что
алгорифм 33' применим к слову Q [2.44]. Положим
и£ 54)Тогда R-S3'(Q).
Кг
220 СОЧЕТАНИЯ НОРМАЛЬНЫХ АЛГОРИФМОВ [ГЛ. IV
а—
31“,
где | пробегает А, а 31“ имеет тот же смысл, что и в до
казательстве теоремы § 37.2.1.
® есть нормальный алгорифм над А. Покажем, что он
обладает требуемым свойством.
Для этого заметим прежде всего, что все, сказанное
в доказательстве теоремы § 37.2.1 о системе формул 51“,
сохраняет силу и сейчас. В частности, справедливы леммы
§ 37.2.2—§ 37.2.6. Принимая это во внимание, легко убе
диться в справедливости формулируемых ниже лемм 3.3—3.6.
Доказательства этих лемм мы опускаем, так как они повто
ряют—с небольшими изменениями в сторону упрощения--
доказательства лемм § 37.2.7 и § 37.2.14—§ 37.2.16 соот
ветственно.
Итак, имеем
3.3. Алгорифм ® замкнут.
3.4. Если ЗС: Р |— Q, то ®: Р|— Q.
3.5. Если ЗС: P\-‘Q, то существуют такие слова R
и S, что Q л. RS и &: Р |— RaS.
3.6. Если R и S—слова в А, то ®: RaS |== aPS.
Отсюда, как в доказательстве теоремы § 37.2.1, получаем
3.7. Если ЗС: Р |==.Q, то ®: P(=aQ (см. § 37.2.19).
•) См. § 24.8.
40] ПОВТОРЕНИЕ АЛГОРИФМА 233
К, 3.8. Если Р—слово в А и алгорифм ® применим к Р,
Ж/no алгорифм 31’ также применим к Р (см. § 37.2.22).
К Рассматривая схему (1), убеждаемся в справедливости
* следующих двух лемм:
Я 3.9. Если Q—слово в А, начинающееся буквой Р, то
aQ -Q.
3.10. Если Q—слово в А, не начинающееся буквой р, то
Ь ®: aQ Q.
Докажем, далее,
| 3.11. Если ty.(P)^.Q и Q начинается буквой р, то
£ pp.Q. _
у Пусть, в самом деле, 91 (A’)SQ, где Q начинается бук-
I вой р. Тогда ЗГ (P)SQ [§ 36.2.10], и потому ЗГ: P\=>Q
у [§ 36.2.1, § 36.1.3]. Поэтому
(2) ®: Pi=aQ [3.7].
■I Q является при этом словом в алфавите А, так как 31 (Р) S Q
Я и 31—алгорифм в А. Так как Q начинается буквой р, имеем
| (3) ®: «QH-Q [3.9],
| ®: P|=.Q [(2), (3)],
что и требовалось доказать.
у 3.12. Если %l(P)^.Q и Q не начинается буквой р, то
у, P\=Q и существует такая переводная система X схемы
алгорифма ®, соединяющая Р с Q, что [Х°^3.
В самом деле, как и в случае предыдущей леммы,
| 31’: P[=«Q, и потому ®: P|==aQ [3.7]. Кроме того, ®: aQ Q
Ф [3.10]. Следовательно, существует переводная система Y
& схемы алгорифма ®, соединяющая Р с aQ. Так как Р —
"f слово в А, а а не является буквой этого алфавита, [У0 ^2.
у Система X^YQy соединяет Р с Q и, кроме того, [Х° =
■■■ =[У° + 1, т. е. [Х°>3, что и требовалось доказать.
‘ 3.13. Пусть S—многочленная итерационная цепь алго
рифма 31, соединяющая слово Р со словом Q и такая, что
всякий ее внутренний член не начинается буквой р. Пусть
Q начинается буквой р. Тогда ®(P)3£Q.
В самом деле, пусть соблюдены условия леммы. Тогда
Р и Q являются словами в А, причем уРу есть начало S,
а yQy — конец S. Существует у-система Т в алфавите А
такая, что
(4) SSyPPQy.
Из 2.1 следует, что Т есть итерационная цепь алгорифма 31.
Всякий член системы Т является внутренним членом S и
234 СОЧЕТАНИЯ НОРМАЛЬНЫХ АЛГОРИФМОВ [ГЛ. IV
ХЮ) (&‘.P)^N.
Тогда & (Р)—слово в А, начинающееся буквой Р, и суще
ствует многочленная итерационная цепь S алгорифма 31,
соединяющая Р с ® (Р) и такая, что всякий ее внутренний
член не начинается буквой р, а объем не превосходит АГ-|-1.
Доказательство будем вести методом арифметической
индукции. С этой целью обозначим буквой F следующий
одноместный арифметический предикат со свободной нату
ральной переменной У:
«Каково бы ни было слово Р в А, если оно удовлет
воряет условиям (9) и (10), то @ (Р)—слово в А, на
чинающееся буквой р, и существует многочленная ите
рационная цепь 5 алгорифма 21, соединяющая Р с
®(Р), такая, что [S°^jV-|-1 и что никакой внутрен
ний член 5 не начинается буквой р».
Лемма 3.14 будет доказана, если мы докажем, что вся
кое натуральное число удовлетворяет F.
Число 0 тривиальным образом удовлетворяет F. В самом
деле, если слово Р в алфавите А удовлетворяет условию (9),
то в силу замкнутости алгорифма ® [3.3] имеем®: Р \=-®(Р),
и потому (®:Р)> 0, что при У = 0 противоречит условию
(10). Таким образом, при У = 0 не существует слов Р в ал
фавите А, удовлетворяющих условиям (9) и (10), а потому
[§ 9.2] верно всякое общее высказывание о таких словах.
В том числе для всякого такого слова Р верно высказывание
«® (Р) есть слово в А, начинающееся буквой р, и су
ществует многочленная итерационная цепь 5 алгориф
ма 2(, соединяющая Р с ®(Р), такая, что [S°^l и
что никакой внутренний член S не начинается бук
вой р».
Пусть теперь для какого-нибудь N мы убедились, что
оно удовлетворяет предикату F. Покажем, что W-f-1 также
удовлетворяет F. Пусть Р—слово в алфавите А, удовлет
воряющее условию (9) и условию
236 СОЧЕТАНИЯ НОРМАЛЬНЫХ АЛГОРИФМОВ [ГЛ. IV
1
оказать, что:
(1) *
23(y
P)SQ
248 СОЧЕТАНИЯ НОРМАЛЬНЫХ АЛГОРИФМОВ ГГЛ. IV
|->
f *
А- ]
Следовательно, (N—Х)
Х
* не есть последний член цепи Т,
*
ввиду чего (N—К.)
Х соседствует слева в Т с некоторым
членом Z цепи Т. Так как Т—итерационная цепь алго
рифма <§,
(17) *
§((А-Х)
Х) Ъ.7
и, следовательно,
(18) *
Х).
!^((А-Х)
Поэтому !31 (X) [(18), 5.7] и имеется слово У такое, что
(19) 3((Х)$Г.
Построим
(20) U^SYy.
U есть итерационная цепь алгорифма 31 с последним
членом У. Имеем
(21) *
Х)з:^-(Х+1))
У
$(^_Х) [(19), 5.6],
в силу чего
*
Z2^-(K + 1))
K [(17), (21)].
40] ПОВТОРЕНИЕ АЛГОРИФМА 251
*
Гаким образом, (N—(К 4-1)) У есть член итерационной
1епи Т алгорифма Объем цепи U очевидно на единицу
больше объема цепи S [(20)], т. е. он равен /<4-2. Первый
даен цепи U совпадает с первым членом цепи S [(20)], т. е.
^первым членом цепи U является слово Р. Последним чле
нном цепи U является слово У [(20)] такое, что слово
*
—(/<4-1))
У есть член Т.
1 Мы доказали таким образом, что число /С4-1 удовлет
воряет предикату F, коль скоро число /<, меньшее N, удов
летворяет ему. Тем самым доказано, что всякое натураль
ное число, не превосходящее N, удовлетворяет этому пре-
’ дикату. В частности, ему удовлетворяет N, т. е. существует
итерационная цепь W нормального алгорифма 21 с первым
членом Р, с объемом А 4-1 и с таким последним членом У,
.что слово * К есть член Т. Будучи членом итерационной
< цепи алгорифма 21 в алфавите А, V есть слово в А. По-
; этому
*
V)SA
6( [5.3].
Отсюда следует, что * V является последним членом цепи Т.
Следовательно,
; (22) *У °:р.
Отсюда
■ (23) §(R)O1V [5.5, (22)].
I Поэтому
VSLQ [(23), (13)].
Таким образом, W есть искомая итерационная цепь алго
рифма 21, соединяющая Р с Q и имеющая объем /V-f-l-
Лемма 5.8 доказана.
Теорема 5.1 будет доказана, если мы докажем лемму
5.9. Если N—натуральное число, Р и Q—слова в алфа
вите А и существует итерационная цепь объема N 4- 1 ал
горифма 21, соединяющаяРс Q, то имеет место равенство (1).
В самом деле, пусть выполнены условия этой леммы.
Пусть W—итерационная цепь объема А 4-1 алгорифма 21,
соединяющая Р с Q. Докажем, что всякое натуральное
число А, меньшее или равное А/, удовлетворяет следующему
условию G:
«существует итерационная цепь алгорифма <6 объема
/< 4-1, соединяющая слово ;V * Р со словом (W—К) * А,
где X является (/<4-1)-м членом W».
252 СОЧЕТАНИЯ НОРМАЛЬНЫХ АЛГОРИФМОВ [ГЛ. IV
Следовательно,
*
P):S1Q
%(N [(11), (28), (29)],
что и требовалось доказать.
Лемма 5.9 доказана. Вместе с нею доказана и теорема 5.1.
И, ПОЛОЖИВ
(18)
видим, что при данном предположении
X
Y
L
* j£RMK [(17), (18)],
где К — вхождение L в S [(16)].
Покажем, что W не может быть собственным началом М.
В самом деле, допустим, что существует непустое слово 7
такое, что
(19) M^LWT.
Тогда
(20) WLY&WTS [(13), (19)],
и потому
(21) LYslTS [(20)].
L не может быть началом Т, так как в этом случае сущест
вовало бы слово U такое, что
(22) TS1LU,
и тогда было бы M'S.WLU [(19), (22)], что ввиду непу-
стоты W противоречит 1.2. Таким образом, остается пред
положить, что Т является собственным началом L, т. е.
что существует непустое слово V такое, что
(23) L 3 TV.
Но тогда
(24) TVY^.TS [(21), (23)]
и, следовательно,
(25) VYsLS [(24)].
Слова Т и V непусты, и, значит, L, будучи А-литероидом,
имеет вид аВа. Равенство (23) показывает, что последней бук
вой слова V является а, т. е. V^V'a для некоторого V. Анало
гично из (19) заключаем, что TslT'a для некоторого Т'. Но
тогда L'S.T'aV'a [(23)] и, значит, Т'ЗА, а V есть непустое слово
в алфавите Ь. Следовательно, S начинается буквой b [(25)], что
противоречит условию^леммы.
Это завершает рассмотрение случая 2°.
В случае 3°, когда №/?, имеем
(26) XLY\-S.iXMS [(2)], ‘
9 А. А. Марков, НДМ. Нагорный
258 СОЧЕТАНИЯ НОРМАЛЬНЫХ АЛГОРИФМОВ 1ГЛ. IV
и потому
(27) LYS1MS [(26)].
Следовательно, L начинается М или М начинается L.
Отсюда по 1.3 L^M, а значит,
(28) Y°S [(27)],
и потому
F2R
L
S
M
X
* [(1), (28)].
Таким образом, все случаи Г—3° рассмотрены. Утверж
дение 1.6 доказано.
Отсюда легко следует
1.7. Всякое вхождение А-литероида L в слово RM, где
М—А-литероид, a R—слово в АаЬ, не оканчивающееся бук
вой Ь, имеет один из видов:
КМ, где К—вхождение L в R;
R
,
*
L причем M'S.L.
1.8. Всякое вхождение А-литероида L в слово MS, где
М—А-литероид, a S—слово в АаЬ, не начинающееся бук
вой Ь, имеет один из видов:
МК, где К—вхождение L в S;
S,
*
*L причем M^L.
2. Мы определим некоторую „грамматическую категорию"
слов в алфавите АаЬ, называемых «А-вербоидами». Опреде
ляться эти слова будут двумя следующими правилами построе
ния.
Вд 1. Пустое слово считается А-вербоидом.
Вд 2. Всякий раз, когда построен А-вербоид X, всякое
слово, построенное как XL, где L — любой А-ли
тероид, считается А-вербоидом.
Слово X будет лишь тогда считаться А-вербоидом, когда об
истинности высказывания
«А считается вербоидом»
можно будет заключить на основании правил Вд 1 и Вд 2, ко
торые мы будем называть правилами построения А-вербоидов.
Согласно определению А-вербоидами являются, например,
следующие слова:
A, abba, abbbba, abbbaabbba.
Процесс построения А-вербоидов естественно распадается
на шаги; на каждом из них строится некоторый А-вербоид,
причем применяется одно из правил Вд 1 или Вд 2.
411 ПЕРЕВОД АЛГОРИФМА 259
Аналогично доказывается
2.7. Если Y есть Х-вербоид, а слово X таково, что XY
есть Х-вербоид, то X есть Х-вербоид.
Методом индукции по построению слова доказывается с по
мощью 1.1 высказывание
2.8. Всякий Х-вербоид есть слово в алфавите ХаЬ.
3. Пусть Б — какой-нибудь алфавит, не имеющий общих
букв с алфавитом А. Занумеруем его буквы слева направо,
начиная с первой, которой припишем номер 1. Ввиду того, что
для всякой буквы алфавита Б имеется единственное ее вхож
дение в этот алфавит, каждая буква алфавита Б получит един
ственный номер. Номер буквы | обозначим v(£). v(£) может
быть охарактеризовано как натуральное число, на единицу
большее длины левого крыла вхождения £ в Б. Каждой бук
ве 5 алфавита Б поставим в соответствие слово
(1)
в двухбуквенном алфавите ab. Это слово будем называть Б-ие-
реводом буквы
Кроме того, Б-переводом всякой буквы л алфавита А будем
считать эту самую букву л:
Мл)^л,
Очевидно, что
(3)
для любой буквы £ алфавита АБ;
(4) SA. б (PQ) 2 SA, Б (Р) Sa. б (Q)
для любых слов Р и Q в алфавите АБ.
Результат применения операции SA> Б к слову Р в алфави
те АБ мы будем называть (А, Б)-переводом слова Р. В силу (3)
это определение согласуется с определением Б-перевода буквы
алфавита Б (см. п. 3). Согласно § 33 имеется нормальный алго
рифм, перерабатывающий всякое слово в алфавите АБ в
(А, Б)-перевод этого слова. Там, где это не будет вызывать не
доразумений, мы будем писать просто «перевод» вместо
«(А, Б)-перевод». Мы будем также опускать индексы А и Б у
букв S и t.
4.1. Перевод всякого слова в алфавите АБ есть к-вербоид.
Это доказывается индукцией по построению слова в алфа
вите АБ с помощью (1), (2) и 3.1.
4.2. Переводы всяких двух различных слов в алфавите АБ
различны.
Для любого натурального числа N обозначим через В\
высказывание
«каковы бы ни были слова Р и Q в алфавите АБ
такие, что [Pa ^. N и [Qd^N, если S (P)SJ (Q), то
P&Q».
Через Bp, q обозначим импликацию
«если S (Р) S S(Q), то P$Q».
Кроме того, введем условие
(5) «[Ра<А и [<2Й<А».
Высказывание Во верно, так как при [Р3^0 и [Qd=C0
имеем Р2А и QSA, и потому P31Q.
Пусть мы уже убедились в истинности высказывания BN
для некоторого натурального числа N. Докажем истинность
высказывания BN+1.
Пусть слова Р и Q в алфавите АБ удовлетворяют
условию
(6) «[Ра<А4-1 и [Q^CA-f-l».
Если эти слова удовлетворяют условию (5), то в силу
истинности высказывания BN истинно высказывание Bp, q.
«411 ПЕРЕВОД АЛГОРИФМА 263
PsSr| S Qi]
и, следовательно, есть вхождение буквы |
в слово Qr|. Переводом этого вхождения является слово
S2:(<STi),
'£(/?)
* :(g) т. е. слово К [4(2), (3), (2)]. Таким
образом, в случае 1° К является переводом вхождения
некоторой буквы алфавита АБ в слово Qr],
266 СОЧЕТАНИЯ НОРМАЛЬНЫХ АЛГОРИФМОВ [ГЛ. IV
УНИВЕРСАЛЬНЫЙ АЛГОРИФМ
1. Мы введем буквы
а, Ь, х, X, ц, v, л, о, <р, ф, со,
я» б, Р, ц, л, ф,
тоже попарно различные и отличные от всех упоминав
шихся предшествующих букв. Кроме того, нам будет удобно
положить а===а.
Алфавит’оФ мы обозначим’буквой Ао, а алфавит АорХц<р —
буквой Б.
Посредством SB мы обозначим нормальный алгорифм
в алфавите ББаулюлфюх со следующей сокращенно записан-
) Ср. §37.2.
М3] СЛУЧАЙ ДВУХБУКВЕННОГО АЛФАВИТА 283
|ой схемой:
<Ь
<2>
<3>
<4>
<5>
<6>
<7>
<8>
<9у
<Ю>
<Н>
<12>
<
<13>
<14>
. <15>
<16>
<17>
<18>
<19>
<20>
<21>
<22>
<23>
<24>
<25>
<26>,
к где | пробегает алфавит Ао, т]—алфавит Аооф, £—алфавит
| Аосфу, 0—алфавит АоаРу<в, i—алфавит Аоаруфю, а %—ал-
К фавит оф.
1 Строки схемы алгорифма 3$ мы для удобства ссылок
I нумеруем, и в дальнейшем индекс i в записи 35: X Y
Ж t
В будет указывать на номер строки, представляющей фор-
V мулу подстановки, активную на слове X.
284 УНИВЕРСАЛЬНЫЙ АЛГОРИФМ [ГЛ. V
и
"В: LKiiRlQLT^RSi L’kR^Cl1T^R^Sl [3-5]
h LKR^QJyR^
18
к
288 УНИВЕРСАЛЬНЫЙ АЛГОРИФМ [ГЛ. V
И
93: LX^Q^RyNarp^S р= L‘h\iQriRyNaTl(Q, S) [3-7]
si LkpQxRy NaS^ Q S 2
P= L7.Q\v/RyN<oS1<|’Qi|’52 [3-5]
(= LQXp.x/?y№oS1<pQ4-S2 [3-3]
P LQ~/uRyNaS1ylQ\\S2
16
|= L Q %p./?7 NaS1 cpipS 2 [3-4]
1— LQ^RyNaS^i
21
P L Q xp-Ар NaS^S,
23
1= LQxR[kyNaS1Ry,S2 [3.8]
P LQ^RpyNaSJlvSi
24
|= LQx/?|Tvy^<oS1/?S2 [3-2]
P LQiRyNaSj^Sz
10
7°.LQxRyNaS(R, Q, S).
Так как аща, то утверждение а) леммы 2.5 доказано
(достаточно в предыдущем рассуждении в качестве % взять а).
Завершим теперь доказательство утверждения б) (здесь
XsP)-_
Ж: LQfiRyNaS (R, Q, S) LQvoRyNaS (R, Q, S)
25
HvLQaRyy<oS(/?, Q.5) [3.2]
Р ^LQaRyNaS (R, Q, S)
11
p XpLQvR у Na'S (R, Q, S)
14
\=^vLQRyNaS (R, Q, S) [3.2]
p (fLQRyNaS (R, Q, S)
H^2(R,Q,S) [3.4]
P nS (A?, Q, S),
22