Текст
                    A.. H. Колмогоров, А. Г. Драгалин
МАТЕМАТИ ЧЕСКАЯ
ЛОГИКА
ДОПОЛНИТЕЛЬНЫЕ ГЛАВЫ
Допущено Министерством высшего и среднего
специального образования СССР в качестве
учебного пособия для студентов вузов, обучаю-
щихся по специальности «Математика»
ИЗДАТЕЛЬСТВО
МОСКОВСКОГО УНИВЕРСИТЕТА
1984

УДК 517.1 Колмогоров А. Н., Драгалин А. Г. Математическая логика. Дополни- тельные главы: Учеб, пособие. — М.: Изд-во Моск, ун-та, 1984. — 120 с Книга представляет собой вторую часть учебного пособия авторов «Введение в математическую логику» (Изд-во Моск, ун-та, 1982 г.), во может изучаться и самостоятельно. Излагаются фундаментальные факты математической логики: начала аксиоматической теории множеств, теория алгоритмов, теорема о полноте исчисления предикатов, теорема Гёделя о неполноте. Обсуждается программа Гильберта обоснования математики Рецензенты: кафедра математического анализа МГПИ имени В. И. Ленина; кандидат физ.-мат. наук В. Е. Плиско 1702020000 —238 К 077(02)—84 96-84 © Издательство Московского университета, 1984 г.
ОГЛАВЛЕНИЕ Предисловие .................................................. 4 Введение ..................................................... 6 Глава I. ТЕОРИЯ МНОЖЕСТВ......................................15 § 1. Язык* наивной теории множеств, парадоксы наивной теории множеств..................................15 § 2. Язык теории множеств Цермело — Френкеля ... 24 § 3. Отношения и функции в языке теории множеств . . 26 § 4. Натуральные числа в теории множеств. Запись матема- тических утверждений в языке теории множеств . . 34 § 5. О континуум-гипотезе и аксиоме выбора .... 42 § 6. Аксиоматическая теория множеств Цермело — Френкеля 44 Глава II. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИФМОВ..........................56 § 1. Машины Тьюринга..................................56 § 2. Тезис Чёрча......................................64 § 3. Рекурсивные и рекурсивно-перечислимые множества и предикаты...........................................65 § 4. Примитивно-рекурсивные функции, геделева нумерация, арифметика с примитивно-рекурсивными термами . . 73 § 5. Некоторые теоремы общей теории алгорифмов . . 81 Глава III. ЭЛЕМЕНТЫ ТЕОРИИ ДОКАЗАТЕЛЬСТВ . ... 89 § 1. Неполнота и неразрешимость аксиоматических теорий* 89 § 2. Теорема Геделя о полноте исчисления предикатов . 97 § 3. Теорема об устранении сечения...................104 § 4. О программе Гильберта обоснования математики . . 112 Литература...................................................119
ПРЕДИСЛОВИЕ Книга представляет собой вторую часть первоначального курса математической логики [1], но может читаться и незави- симо, если читатель имеет некоторое предварительное знаком- ство с логико-математическими языками и теорией логического вывода. Необходимые предварительные сведения можно полу- чить как в нашей книге [1], так и в первых главах любого из более подробных курсов математической логики, например [2], [3], [4]. Необходимый минимум сведений и терминологию мы на- поминаем также во введении. Книга возникла в результате обработки конспектов лекций семестрового курса математической логики для студентов пер- вого курса механико-математического факультета Московского университета, читавшегося обоими авторами. В первой книге мы стремились познакомить читателя с основными понятиями математической логики, правильным обращением с логической символикой, логическими законами, техникой логического выво- да, что составляет, на наш взгляд, минимум сведений, полезных в работе математика любой специальности. В настоящей второй части большее внимание уделяется изложению некоторых фун- даментальных результатов математической логики, представ- ляющих общематематический интерес. Предполагается, что при построении курса лектор может выбрать из предложенного ма- териала ту или иную тему в зависимости от потребностей учеб- ного плана или аудитории. В первой главе излагается теория множеств в стиле аксио- матической системы Цермело — Френкеля. Мы стремились по- казать, как основные математические понятия и структуры мо- гут быть введены на базе точного логико-математического языка теории множеств. Здесь же обсуждаются традиционные вопросы, относящиеся к основаниям теории множеств: пара- доксы теории множеств, непротиворечивость системы Цермело -- Френкеля, парадокс Сколема, содержательный аксиоматический метод и формальный аксиоматический метод в математике. Во второй главе излагаются элементы теории алгорифмов. Здесь даны точные определения, касающиеся вычислимости по Тьюрингу, обсуждаются тезис Чёрча и понятия рекурсивного и рекурсивно-перечислимого множества. Эта часть главы может рассматриваться как обязательный минимум по теории алго- рифмов. Далее приводятся основные теоремы общей теории 4
ооифмов относительно существования неразрешимых мно- 3 еств и предикатов и излагается подготовительный материал Жо геделевой нумерации конструктивных объектов и выводам П«ойств конструктивных объектов в формальной арифметике. Зтот материал может рассматриваться как факультативный по отношению к обязательному курсу логики, лектор может ис- пользовать его выборочно или перенести часть материала на семинарские занятия. Третья глава посвящена теории вывода. Здесь доказывают- ся теорема Геделя о полноте исчисления предикатов, теорема Левенгейма — Сколема, теорема о неполноте и неразрешимо- сти всякой достаточно выразительной формальной аксиомати- ческой теории. Доказываются также знаменитая вторая теоре- ма Геделя о невозможности доказательства непротиворечивости достаточно мощной формальной аксиоматической теории сред- ствами самой этой теории и теорема Генцена об устранении сечения. Завершается глава обсуждением программы Гильбер- та обоснования математики. Материал третьей главы также мо- жет рассматриваться как факультативный. Например, лектор Может ограничиться лишь формулировками некоторых фунда- ментальных теорем. Сложность изложения многих важных результатов матема- тической логики состоит в том, что они часто требуют для свое- го доказательства большого подготовительного аппарата для аккуратного проведения деталей доказательств. Так, необходи- мо убеждаться, что те или иные предикаты действительно вычислимы по Тьюрингу или примитивно-рекурсивны, что рас- сматриваемые формулы действительно выводимы в тех или иных формальных аксиоматических теориях. Такого рода утвержде- ния доказываются обычно путем громоздкого, но в принципе нетрудного непосредственного построения соответствующих ма- шин Тьюринга, примитивно-рекурсивных описаний, формальных выводов и т. п. Разумеется, в коротком курсе нецелесообразно тратить время на такие построения. Читателя, интересующегося Деталями построений, мы в таких случаях отсылаем к более подробным руководствам, но все же стремимся к тщательному изложению всех принципиальных моментов доказательств. Курс логики предполагает выполнение упражнений на семи- нарских занятиях. С этой целью следует использовать специаль- ные задачники, например известный сборник [19]. Упражнения в тексте не могут заменить такого задачника. Все упражнения в тексте легкие, обязательны для выполнения и предназначены Для самоконтроля. Знак > в тексте отмечает начало доказательства, а знак его окончание. Знаки ^ , =>, <=> заменяют словесные оороты «есть по определению», «если..., то», «тогда и только °гДа, когда» соответственно. Авторы
ВВЕДЕНИЕ Напомним некоторые определения и понятия, нужные для дальнейшего. Подробное изложениеимеется, например, в нашей книге [1], но может быть почерпнуто и из начальных глав бо- лее подробных учебников, предназначенных для лиц, специа- лизирующихся по математической логике (см. [2], [3], [4}). ААатематические суждения в логике записываются в виде формул в точно определенных логико-математических языках. Основными объектами данного логико-математического языка являются его выражения. Выражения подразделяются на фор- мулы и термы. Язык Q содержит несколько сортов переменных. Переменные каждого сорта рассматриваются как пробегающие некоторую область — множество объектов ' данного сорта. Вхождения переменных в выражения языка делятся на свобод- ные и связанные. Переменные, входящие в выражение свобод- но, называются его параметрами. Выражение, не содержащее параметров, называется замкнутым. Выражения логико-математического языка представляют со- бой строчки символов-букв из алфавита языка и строятся по некоторым строго определенным правилам. Так, каждая фор- мула С данного языка Q может иметь один и только один из следующих семи видов: (А/\В) —читается «А и В», (А\/В) —читается «А или В», (Д=эВ) — «из А следует В», ~]Д — «не Д», \}хА — «для всякого х имеет место Д», ^хА — «существует х такое, что Д», атомарная формула. Символы Д, V» Л называются логическими связками и имеют соответственно наименования: конъюнкция, дизъюнк- ция, импликация и отрицание. Символы V , 3 называются кванторами (квантор общности и квантор существования). Как обычно, считается, что кванторные приставки V х, 3х связы- вают переменную х в последующей формуле, так что в форму- лу, начинающуюся с такой приставки, переменная х не входит свободно. 6
Стооение атомарных формул зависит от рассматриваемого «а Особенно просто устроены, атомарные формулы у языков ЯЗЪ*вого порядка, которые и составляют основной объект изу- в математической логике. А именно атомарная формула яаыка первого порядка имеет вид Р(Л, где Р — преди- катная буква языка, а Л,tn — термы языка. Здесь возможен случай л = 0, тогда 0-местная предикатная буква Р сама по себе является атомарной формулой и называется в этом случае пропозициональной буквой, или пропозициональной переменной. Поместная предикатная буква изображает в языке предикат от п Переменных, в иной терминологии, параметрическое сужде- ние высказывательную форму от п переменных. Термы также в разных языках устроены по-разному. И здесь самым простым и важным случаем является случай языков первого порядка. В языках первого порядка термы строятся из переменных и констант языка с помощью функциональных сим- волов, т. е. каждый терм есть либо переменная, либо константа языка, либо имеет вид f(6,..., tn), где f — функциональный символ, обозначающий в языке я-местную операцию. В языках первого порядка все переменные, входящие в терм, являются свободными, т. е. являются параметрами этого терма. При практическом написании формул и термов мы эконо- мим скобки, пользуясь хорошо известными соглашениями. Так, обычно опускаются внешние скобки. Кроме того, мы распола- гаем связки и кванторы в определенном порядке, считая, что те символы, которые в этом порядке находятся правее, «свя- зывают сильнее», т. е. что их следует выполнять в первую оче- редь. Для конкретности мы придерживаемся следующего поряд- ка выполнения операций: есть сокра- = => v -|\ Л 1 3 Здесь s — производная логическая связка, (Д = В) еденное обозначение формулы ((Л:зВ) Д (Вдд4)). Например, формулу (tfx(P (х, у) (\fzQ (z) AR)) VQ (х)) можно записать в виде y.r(P(x, y)^zQ(z)AR) VQW- Иногда для дальнейшей экономии скобок мы _ ли внУтРи скобок выполняется несколько то точкой внизу символ, т. е. тот, Например, фор- используем однородных < J onjipn СП I о силе связывания) логических символов, У символа мы отмечаем главный логический торый выполняется в последнюю очередь. ("]/?= IP)) 7
можно записать в виде Если Т — выражение языка, хь хп — различные перемен- ные и /1,tn ~ термы соответствук^щих сортов, то через (Г(хь .... хп |( Л, ) мы обозначим результат правильной подстановки термов /ь tn вместо свободных вхождений переменных хь .... хп в Т. Для получения выражения (Т(хь .... хп || /1,1п)) следует заместить одновременно все свободные вхождения переменных Xi..... хп на термы t\....,tn соответственно. При этом, если необходимо, следует переиме- новать некоторые связанные переменные выражения Т. А имен- но, если некоторая переменная х некоторого терма ti. будучи свободной в //, оказывается связанной после подстановки (в та- ких случаях говорят, что терм ti не свободен для подстановки, или что происходит коллизия переменных), то следует в Т пред- варительно переименовать некоторые связанные переменные на новые, чтобы при подстановке не происходило коллизий. Напри- мер, результатом правильной подстановки (3xP(x,y)(y||f(x, у))) является формула 3«Р(м, f(x, у)) с новой связанной переменной и. Выражение (Т(хь хп ||Л, ..., tn) сокращаем до Т(xi, .... хп II Л, tn) или даже до T(ti. .... tn), если упо- минание о переменных х{..... хп несущественно. Следует пом- нить, что в записях вида A (t. г) всегда имеется в виду именно правильная подстановка с необходимым переименованием свя- занных переменных. Мы предполагаем, что читатель знаком с обычными языка- ми первого порядка, такими как язык арифметики, язык теории групп, язык логики предикатов. Впрочем, язык логики преди- катов и язык арифметики мы напомним ниже. Выражения языка суть просто строчки символов специаль- ного вида и сами по себе не имеют никакого смысла. Для придания смысла выражениям языка Й необходимо задать интерпретацию для языка Й (в другой терминологии, структуру для языка Й, модель для языка й). Задать интерпретацию М для языка Й означает, в частности, задать область пробегания для каждого сорта переменных, фигурирующих в языке. Если в произвольном выражении языка заместить все его парамет- ры объектами из соответствующих областей пробегания, то по- лучится то, что называется оцененным выражением языка (точ- нее, выражением, оцененным в данной модели М). В частности, замкнутое выражение само по себе является оцененным в лю- бой модели. 8
к ждая интерпретация М языка позволяет по естественным илам подразделить все оцененные формулы на истинные ПРаВнной интерпретации и на ложные в данной интерпретации. рДаи д ___ формула, оцененная в М, то запись Л1|=А будет значать, что А истинна в интерпретации Л4. 03 Понятие истинности оцененной формулы в структуре М со- ласовано со строением формулы. Например, ЛЦ=АДВ тогда и олько тогда, когда Mj=A и А-1|=В. Далее, А1|=Д\/Я тогда ” только тогда, когда Alt=A или А1|=В. М 1= А равносильно кму что неверно Л11=А. Утверждение M\=AzdB ложно лишь в одном случае, а именно когда М |=А и М 1= ~| В. При осталь- ных комбинациях истинностных значений утверждение считается истинным (так понимаемую логическую связку о часто называют материальной импликацией). Далее, хА тогда и только тогда, когда для всякого объекта а из области пробегания переменной х имеем АП=А(х||а). Ана- логично Aft=3 *А равносильно тому, что существует объект а из нужной области, такой, что Af 1= А (х||а). Коротко можно ска- зать, что мы придерживаемся классической семантики, где ло- гические связки трактуются по законам двузначной булевой алгебры. Подобным образом интерпретация М позволяет приписать значение |/|м каждому оцененному терму языка. Значением |/Jm является объект, который выражает терм t при данной оценке своих параметров. Значение терма зависит только от значений составляющих его подтермов. Это означает, что, если г — терм, в котором оценены все параметры, за исключением, может быть, х, и t — оцененный терм того же сорта, что и х, то |г(х|10|м совпадает с |r(x|| |£|m)|m. Аналогично, Л1|= А(х||/) тогда и только тогда, когда М=А(х|| |/|м). Таким образом, при фиксированной интерпретации М язы- ка Q формула А этого языка рассматривается как выражаю- щая некоторое параметрическое суждение, зависящее от оценки Параметров. Как говорят, формула задает в Q высказыватель- ную форму. В частности, если формула является предложе- нием Й, т. е. вовсе не содержит параметров, то в М такая формула определяет конкретное истинное или ложное высказы- вание. Аналогично терм t задает в М операцию от своих пара- метров. Замкнутый терм задает в интерпретации М некоторый Конкретный объект. С точки зрения логики особенно интересны формулы языка, стинные в любой интерпретации для Q при любой оценке сво- х параметров. Такие формулы называются логическими зако~ *и языка (в другой терминологии — общезначимыми форму- тавт°логиями языка). Понятие логического закона яв- истиТСЯ Г0Т°РЬ1М математическим уточнением идеи формулы, ния»НН°и <<лишь в СИЛУ своей формы, независимо от содержа- 9
Далее, мы говорим, что формула А логически эквивалентна формуле В, и пишем Д~В, если формула Д = В является логи- ческим законом. Читатель, несомненно, знаком с некоторыми логическими законами и логическими эквивалентностями, таки- ми как выражение одних логических связок через другие, про- несение кванторов через логические связки и т. п. Логические законы позволяют преобразовывать формулы к нужному нам виду, например, всякую формулу, как известно, можно заме- нить логически эквивалентной формулой, имеющей уже пред- варенный вид, т. е. такой, у которой все кванторы находятся впереди формулы, а далее идет бескванторная формула. Для каждого логико-математического языка £2 определяет- ся исчисление предикатов в языке Й. При описании исчисления предикатов задаются его аксиомы и правила вывода, при этом в различных учебниках можно найти несколько отличающиеся друг от друга формулировки (эти отличия, конечно, несущест- венны для развиваемой далее теории). Мы остановимся на сле- дующей формулировке. Аксиомами исчисления предикатов в языке й называются формулы этого языка, имеющие один из следующих видов: 1) А^.В^А-, 2) (Дзэ.В=>С)=>.(А=эВ)^(/1оС); 3) А=>.В=)А/\В-, 4) А/\В^А; 5) А/\В^В; 6) (AzdC)=>.(BoC)o(AV-BoC); 7) А^А\/В-, 8) В^АУВ; 9) (AzdB)zd.(Az) -|B)zd“|A; 10) Т]ДоА; 11) У хД=)А(х||0; 12) У х(Сг)А(х))гэ.С^эухА(х); 13) А (х||0 jxA; 14) ух(А(х)=эС)дэ. 3*Д(х)^>С- Здесь А, В, С — произвольные формулы й. В схемах 12), 14) формула С не содержит свободно переменной х. Нетрудно убедиться, что все аксиомы исчисления предикатов суть логи- ческие законы. Правилами вывода исчисления предикатов являются фигуры следующих видов: А, А=>В А В ’ ух А Здесь А, В — произвольные формулы й, х — произвольная переменная. Первое правило носит традиционное латинское на- звание — модус поненс, второе правило называется правилом обобщения. 10
Дерево формул есть по определению двумерная-фигура, со- авленная из формул языка по следующим правилам: СТ 1) каждая формула А сама является деревом формул, ниж- ней формулой этого дерева называется сама формула Л; 2) если Di и Di суть деревья формул с нижними форму- лами вида Л и ЛгэВ соответственно, то фигура Pi. Di в есть дерево формул; мы говорим, что формула В получена в этом дереве из Л и Л=>5 по правилу модус поненс; нижней формулой результирующего дерева формул является по опре- делению формула В; 3) если Z)i — дерево формул с нижней формулой Лих — переменная, то формула Pi \хА есть также дерево формул; мы говорим, что нижняя формула у хА этого дерева формул получена из А по правилу обоб- щения. Коротко говоря, дерево формул есть конечное дерево, в вер- шинах которого расставлены формулы и переходы сверху вниз в котором совершаются по правилам вывода исчисления пре- дикатов. Верхние-, начальные формулы в дереве формул, которые не имеют вида аксиом исчисления предикатов, называются гипоте- зами, или открытыми посылками рассматриваемого дерева фор- мул. Ветвью дерева формул D мы назовем последовательность ЛЬ...,ЛП вхождений формул в D такую, что для всякого i<n формула Л/+1 находится в D непосредственно выше формулы Ai и Ai — нижняя формула D, а Ап — верхняя формула D. Пусть А и В — различные вхождения формул в D. Мы гово- рим, что формула В расположена выше формулы А в D, если существует ветвь Ai,...,An дерева формул D такая, что А есть Ai и В есть Л/, причем j>i. Деревом вывода, или просто выводом, в исчислении преди- катов назовем дерево формул, удовлетворяющее следующему структурному требованию: если формула вида V хА получена в выводе из формулы А по правилу обобщения, то перемен- ная х не входит свободно в гипотезы, расположенные выше рассматриваемого вхождения формулы V хА. Если формула вида \/хЛ получена по правилу обобщения из формулы А и формула В находится выше рассматривае- мого вхождения \МЛ и содержит свободно х, то говорят, что переменная х варьируется в формуле В. Наше структурное требование означает, таким образом, что в выводе параметры гипотез не варьируются, остаются фиксированными. 11
Если Г — конечный список формул и А — формула языка £2, то будем говорить, что формула А выводима в исчислении пре- дикатов из списка формул Г, и писать Г н А, если может быть построен вывод D с нижней формулой А такой, что всякая ги- потеза D является членом списка Г. Разумеется, некоторые формулы Г могут при этом и не быть гипотезами D. Мы гово- рим, что вывод D формулы А не зависит от таких членов Г. Если список Г пуст, то Г Н А означает, что существует вы- вод формулы А вообще без гипотез. В этом случае мы гово- рим, что формула А выводима в исчислении предикатов, и пи- шем на. Саму фигуру Г нА назовем выводимостью, или секвенцией. Таким образом, чтобы установить секвенцию Г н А, следует по- строить вывод в исчислении предикатов с нижней формулой А, все гипотезы которого находятся среди членов Г. Теорема (о дедукции). Г, А ь В тогда и только тогда, когда ГнА=эВ. Если [—А, то А является логическим законом. Таким обра- зом, на исчисление предикатов можно смотреть как на некото- рый формальный механизм для получения логических законов. Для вывода формул в исчислении предикатов используется специально подобранная удобная система производных пра- вил, называемая техникой естественного вывода. Читатель мо- жет познакомиться с этими правилами по нашей книге [1] или, например, по книге [3]. Мы будем предполагать некоторое уме- ние выводить формулы в исчислении предикатов и иногда бу- дем опускать доказательства того, что та или иная формула выводима. Начинающему при этом полезно по крайней мере убеждаться, что рассматриваемая формула является логиче- ским законом. Формальная аксиоматическая теория Т задается двумя объектами: логико-математическим языком £2 и множеством У предложений этого языка. £2 называется языком теории Т, а элементы множества У называются нелогическими аксиома- ми Т. Подчеркнем, что все нелогические аксиомы суть пред- ложения, т. с. замкнутые формулы языка £2. Мы говорим, что формула А языка £2 выводима в теории Т, и пишем Т н А, если существует конечный список Г членов У такой, что Г нА в исчислении предикатов. Интерпретация М для языка £2 называется моделью тео- рии Т, если Mf=A для всякого предложения Age У, т. е. если всякая нелогическая аксиома теории Т истинна в М. Если М — модель теории Т и Т[-В, где В — предложение, то М\=В. Таким образом, выводимое в Т предложение оказывается истинным во всякой модели теории Т. Опишем кратко некоторые формальные аксиоматические теории. Элементарная арифметика Аг. Язык этой теории содержит один сорт переменных х, у, z, 12
танту 0, один одноместный функциональный символ Sx К°лва двухместных функциональных символа х+у, х-у. Ато- марные формулы Аг имеют вид (t = r), где t, г — произволь- ные термы языка. Нелогические аксиомы Аг делятся на три группы: аксиомы -авенства, аксиомы Пеано, определяющие аксиомы для сло- жения и умножения. При формулировке нелогических аксиом ниже мы будем опускать кванторы общности спереди. Предпо- лагается, конечно, что каждая аксиома является предложением. Аксиомы равенства: 1) х=х; 2) x=//Ax=zo«/=z. Аксиомы Пеано: 3) Sx#=0; 4) (Sx=Sy)=x — y\ 5) А(0)Д \/х(А (x)zdA (Sx) ) зз У xA(x) (принцип полной ма- тематической индукции). Определяющие аксиомы для сложения и умножения: 6) х+0=х; 7) x+S«/=S(x+p); 8) х-0=0; 9) x-Sy = x-y+x. Аксиоматика теории Аг подобрана таким образом, чтобы все обычные факты, выразимые в языке теории, были бы в ней выводимы. Стандартной моделью теории Аг является модель ы. В этой модели переменные рассматриваются как пробегающие множество всех натуральных чисел; это множество мы также обозначаем через w, константа изображает натуральное число нуль, функциональные символы интерпретируются очевидным образом. Как мы увидим далее, существуют и другие модели теории Аг, не изоморфные о>. В то же время теория Аг являет- ся неполной: можно указать предложение, истинное в моде- ли ©, но не выводимое в Аг; мы докажем это в гл. Ill, § 1. Арифметика второго порядка Аг2. Язык этой теории содержит два сорта переменных. Пере- менные х, у, z, ... рассматриваются как пробегающие нату- ральные числа, переменные X, У, Z, ... пробегают произвольные подмножества множества всех натуральных чисел. Константы и функциональные символы Аг2 те же, что и в языке Аг. Та- ким образом, язык Аг2 содержит термы двух сортов: термы Для натуральных чисел и термы для множеств натуральных чисел, причем термами для множеств натуральных чисел яв- ляются лишь переменные X, Y, Z, .... Атомарные формулы Аг2 имеют один из следующих двух видов: формальные равенства где t и г — термы для натуральных чисел, и (/еХ), ГДе — терм для натуральных чисел и X — переменная для Множеств натуральных чисел. Сложные формулы строятся 13
обычным образом с помощью логических связок и кванторов, причем кванторы используются по обоим сортам переменных. Нелогические аксиомы Аг2 имеют тот же вид, что и аксио- мы Аг, но в схеме индукции 5) в качестве формулы А(х) мож- но использовать произвольную формулу языка Аг2. Кроме то- го, добавляется новая схема аксиом, аксиома свертывания: Ю) ЗХ ух(х^Х=А(х)), где А(х) — произвольная формула Аг2, не содержащая сво- бодно переменной X. Стандартной моделью Аг2 является модель, которую мы, так же как и в случае Аг, будем называть моделью со. В этой модели переменные х, yf z, ... пробегают множество со всех на- туральных чисел, а переменные X, У, Z, ... пробегают множе- ство Рев всех подмножеств натуральных чисел. Эта теория также имеет много других интересных моделей, неизоморф- ных (0. Исчисление предикатов в языке Q также можно рассматри- вать как формальную аксиоматическую теорию в языке Q с пу- стым множеством нелогических аксиом. Всякая интерпретация языка Й является моделью этой теории. Чистое исчисление предикатов есть по определению исчисле- ние предикатов в специальном языке с одним сортом перемен- ных, без констант и функциональных символов, со счетным набором предикатных символов для каждого числа аргумент- ных мест.
ГЛАВА I ТЕОРИЯ МНОЖЕСТВ fi П ЯЗЫК НАИВНОЙ ТЕОРИИ МНОЖЕСТВ, ОАРАДОКСЫ НАИВНОЙ ТЕОРИИ МНОЖЕСТВ 1. Теперь мы перейдем к изучению некоторого конкретного языка предназначенного для описания свойств множеств. Мы исходим из гипотезы, что имеется некоторая математиче- ская структура — семейство множеств. Для каждых двух мно- жеств а и b определено, когда а^Ь — а принадлежит Ь, а когда это неверно. Каковы дальнейшие свойства этой струк- туры Л и в какой мере законно ее рассмотрение — мы обсу- дим позднее. Язык Л1+ содержит один сорт переменных х, у, г, ..., кото- рые рассматриваются как пробегающие множества — элемен- ты структуры Ж. Понятие формулы и терма языка М+ формулируется в виде одновременного индуктивного определения. Пункт 1) — базис этого определения, а 2)—5) — индуктивные шаги. 1) переменная есть терм; 2) если t и г суть термы, то (t^r) есть формула; 3) если ф и ф суть формулы, ю (фЛ4). (чЛ/4). (ф=>Ф)>"1 <р Также суть формулы; 4) если х — переменная, а ф — формула, то \/хф, <?уть формулы; 5) если х — переменная, ф — формула, то {х|ф} есть терм. Определение закончено. Формула Л1+ может быть, например, такой {x\x€Ey^x(=z}(={y\ Терм {х | ф} читается так: «множество всех х, для которых ф(х)>. Мы говорим, что этот терм определяет множество свер- тыванием, а сам терм называем сверткой по формуле ф. Фор- мула ф может быть совершенно произвольной формулой язы- ка. Говорят, что в языке ЛН имеется неограниченноё сверты- вание. Заметим, что язык Л4+ не является языком первого порядка, именно в силу пункта 5) определения, позволяющего опреде- лять новые термы с помощью формул. Такого эффекта нет языках первого порядка, где термы определяются отдельно. 15
Следует иметь в виду, что в терме {х|<р} переменная х — свя- занная, так что {х | } играет роль квантора. В языке ЛТ+ термы могут содержать связанные переменные, так что теория пере- именования связанных переменных, коллизии переменных и т. п. должна теперь относиться и к термам. 2. Введем сокращенные обозначения: х включено в у х^у^ У z(z^xz^z^y); х равно у х^у^ (xsy)A(y^x); х не равно у —~|(*=у); х не принадлежит у хе£у^~\ (хе=у); х строго включено в у хау^(х^у) Д(х#=у). Разумеется, эти обозначения можно использовать не толь- ко с переменными х и у, но и с другими термами. При этом следует трактовать, конечно, как (х^у) (х, у \\t, г). Ана- логичное замечание относится и к дальнейшим обозначениям. Пользуясь законами логики, можно установить, что в Ж имеют место некоторые факты. Например, в Ж при любой оценке х^х, т. е. х^х есть закон теории множеств. В самом, деле, х^х имеет вид \z(z^.xzjz^x) и вытекает из логиче- ского закона тождества z^xzdz^x. Мы будем писать . хех, где точка слева заменяет словесный оборот «следующая фор- мула является законом теории множеств», т. е. истинна в Ж при любой оценке свободных переменных. Упражнение. Докажите: . х=х; ,х=угэу = х; .x = y/\y = z^x = z, 3. Так как структура Ж должна отражать интуитивные свош ства множеств, мы считаем, что в ней законами являются сле- дующие два вида формул. 1) Аксиома объемности (экстенсиональности) • х = уДхег=эуе2; 2) Аксиома свертывания .гё={г/|ф(у)}=ф(г). Здесь ср (z) есть, разумеется, ср(уЦ.г). 16
Аксиома объемности имеет следствием, что определенное нами равенство х = у действительно обладает свойствами равен- ства. А именно выполняются свойства замены равного на рав- ное: . х —yzz> (t(х) — t(у)). Нетрудно доказать эти два закона, исходя из аксиомы объем- ности, индукцией по определению п. 1, но мы не будем этим заниматься и свободно используем эти два последних закона в дальнейшем. Аксиома свертывания описывает свойства выражения {х | <р}, 4. Введем понятие неупорядоченной пары: {x,y}^{z\z=x\/z=y}. Основные свойства этого выражения: Г) ,ue{x, у}= (и=х\/и=у); 2) .х<={х,у}-, 3) .у<={х,у}-, 4) >{х,у} = {у,х}. > Первое следует из аксиомы свертывания. Докажем второе. Из первого утверждения, в частности, ,х^{х, у}= (x=xVх=у), но . х=х\/х=у, так как .х=х (см. п. 2). Следовательно, верна правая часть» эквивалентности, а значит, и левая. Докажем четвертое утверждение. Необходимо показать, что для всякого Z Z(={X, y) = ZGE{y, X}. Но ввиду первого свойства z<={x, у}= (z=x\/z = y); z<={y, x}=(z=y\/z=x), И Тв“е части логически эквивалентны. □ 5. Понятие одноэлементного множества (синглетона): {x}^{z\z = x}. Основные свойства: J) .и^{х}^(и==ху РажненияаТеЛЬСТВ° пРедоставляется читателю в качестве уп- 17
Лемма. 1) . {х} — {у}= (х = у) , 2) .{х,у} = {и, v}=((x = u/\y=u)\f (x=v/\y=u)); 3) .{х,у} = {и}=(х = и/\у=и). О Докажем 2). Импликация справа налево вытекает просто из общих законов равенства п. 3. Допустим {x,y}—{u,v}. По определению равенства это означает Vz(ze(x, t/)=ze{tz, v}). Имеем хе{х, у} и, значит, хе{м, v}. Отсюда (п. 4) x=u\/x — v. Разберем два случая и покажем, что в каждом из них верно (x=u/\y=v) V (y = fj/\x=v). 1) Пусть х=и. Ввиду ue{w, и} имеем се(х. у}, т. е. v=x\/v=y. Если v = y. то (x = u/\y = v), что и требовалось. Если же v=x, то ввиду х=и имеем u = v. Далее у<={х,у} и, значит, у^{и, v}, т. е. у — и\уу--=и. Ввиду u = v всегда у —и. Таким образом, вновь имеем (x=u/\y—v). 2) Пусть x=v. Рассматривается симметрично. □ 6. Понятие пустого множества: 0 | х=£х}. Основные свойства: 1) . \fz(z &0); 2) .0=Д{0}; 3) .{0}¥={0, {0}}. > 1) ze0=(z^<), но правая часть ложна в силу п. 2. Зна- чит, z^0. 2) Имеем 0^’0 и 0е{0}, значит, ~\\/z(z^0s=z<={0}), т. е. 0^{0). □ Упражнение. Докажите . 0£и и, в частности, 0=0. Приведите примеры конкретных множеств А, В, С, D (мно- жества описываются замкнутыми термами М+) такие, что XsB, но A SzB и C^D, "] (C^D). 7. Пересечение, объединение и разность двух множеств xf\y?=={z\z(=x/\z<=y}; A'U У~^ (z\z<=x\/z<=y}; x\y--^{z!Z^x/\z^y}: 1) . z/ex 0//= (//ехДг/еу); 2) . «exUУ— (и^х\/и^у); 3) . иех\у== (нехД/г^у). 18
О Эти утверждения вытекают непосредственно из аксиомы- свертывания. □ Упражнение, Докажите: 1) .z\(x(}y) = (z\x)U (г\у); 2) .(xUt/)Qz= (хМиШ?). 8. Определим теперь объединение и пересечение семейства множеств. Ux^{z| 3 «(мехДге/г)}; Пx^{z| Vw(wexozeu)}. Для формулировки свойств этих термов введем полезное- общее определение ограниченных кванторов (Ух<=с/)ф(х) ^ух(хе^зэф(х)); (3xet/) <р (х) ±== 3 х (х— у/\<р (х)). Первое читается как «для всех х, принадлежащих у, имеет место ф(х)», а второе — как «существует х, принадлежащее yt такое, что имеет место ф(х)». Обратите внимание, что для общности используется импли- кация, а для существования — конъюнкция. При таком опре- делении законы де Моргана верны и для ограниченных кван- торов. Точнее, . ~]( Vxe=y) ф (х) (Зхег/) “]ф (X); , П(3хег/)ф(х) =s (Ухег/)~]ф(х). В самом деле, ~](ухег/)ф(х) означает ~|\/х(хе//гэф(х)) и по логическим законам эквивалентно 3Л'~1 (^У^фМ) и, далее, Зх(х€=г/Д“|ф(х)). Подобным образом можно определить (Ухеу)ф(х) =^ух(х=у=>ф(х)); (3 х'—у) ф (х) ^3 х (xs г/Дф (х)) с выполнением законов . “|(ух=^ф (х) = (Зх=г/)~|ф(х); . П(^^'/)ф(х)^(\/л-£г/)“|ф(х). В языке арифметики можно определить (\/хс1/)Л(х) ^\/х(х<уоЛ(х)); (Зх«1/)Д(х)^Зх(х<1/ЛД (х)). И вновь будем иметь, например, (окЯСЗж'/Ми) = (Ухс«/)ДД(х). Заметьте, что знак неравенства в законах де Моргана «не пере- ворачивается»! Студент иногда склонен ошибочно утверждать со 1=~{(Зх<у)А(х) = (\/х>у)~\А(х)? 19
Основные свойства объединения и пересечения: 1) .WEX) (z^u)\ 2) . xs (v u^x) (z^u). f> Эти свойства имеют место по аксиоме свертывания и в силу определения. □ 9. Универсальное множество (универсум, множество всех множеств) определяется как V = {z|z = z}. Имеем: . \/z(ze V). £> По определению геУ^(г=г), но правая часть верпа (см. л. 2). □ Общее дополнение определяется следующим образом: V\x. Упражнение. ,хи«/=хП У; .х\у = х(]у. Лемма. .110 = 0; .Л0=У. > ze(J0= (Эме0) (гем) и правая часть ложна, так как V«(« ST0). Следовательно, z^U0 для всякого z и, значит, U0 = 0. zep|0= (V ws0) (z^u) и правая часть истинна (в силу ложности посылки импликации). Следовательно, ze[)0 Для всякого z и, значит, П0= К. □ 10. Множество всех подмножеств (множество — степень) Px^{z\z^x}; . и^Рх= (и^х). 11. Дадим определение некоторого стандартного бесконеч- ного множества. Введем теоретико-множественную операцию следования: Sx^x'j {х}. Назовем множество х прогрессивным, если оно содержит 0 и замкнуто относительно S. Формально Prog(x)^ (0<=х) Д Vz(zexz)SzGx). Теперь в качестве стандартного бесконечного множества возь- мем пересечение семейства всех прогрессивных множеств: <0 П {х| Prog (х)}. Интуитивно о) состоит из последовательности элементов: 0, {0}, {0, {0}}, {0, {0}, {0, {0}}}, 20
Каждый член этой последовательности получается операцией 5 из предыдущего члена. Все члены различны, так что ы беско- нечно. Член последовательности с номером п (если считать с нуля) является n-элементным множеством. Эти интуитивные идеи можно подтвердить в виде точных фактов: 1) ,0ео>; 2) . 3) . Prog(x)=>(®sx). О По определению и&а= yx(Prog(x)z>usx). Если сюда вместо и подставить 0, то правая часть верна (по определению Prog(x)). Следовательно, 0G(d. Далее, если геы, то гех для всех х, Prog(x). Но тогда и Szex для всех х, Prog(x), т, е. Szeco. Наконец, докажем 3). Пусть Prog(x), необходимо установить (п£х, т. е. гемэгех для всех г. Но если геы, то, конечно, гех ввиду Prog(x). □ 12. Введем теперь два специальных обозначения для неко- торых термов вида свертки. Определение множества выделением: {хе у | Ф (х) {х | хе уДф (*) }• Выражение слева читается как «множество всех х, принадле- жащих у, такое, что ф(х)>. Здесь переменная х — связанная, а у — свободная. Мы считаем, что х отлично от у. На общих основаниях вместо у можно, разумеется, правильно подстав- лять термы (переименовывая связанное х, если нужно). Основное свойство этого обозначения: . ш={х<=у I Ф (х)}== («еуЛф («) ) . Определение множества подстановкой: {у\х<=и, (х-^у), ф(х,у)} {у| (Эхен) (ф(х,у)ЛУг(ф(х, z) =>y=z))}. Здесь х, у, и — различные переменные, причем х и у — связан- ные, а и — свободная. Таким образом, слева обозначено некоторое множество Q такое, что yeQ *** найдется хеи такое, что для этого х верно ф(х,у), причем указанное у единственно. Иными словами, бу- дем просматривать различные х<=и. Для некоторых хеи не найдется вовсе у такого, что ф(х, у). Для некоторых хеи су- ществует много у таких, что ф(х, у). А вот для некоторых хеи существует ровно одно у такое, что ф(х, у). В точности все такие у мы и зачисляем в множество Q. Эти интуитивные идеи можно оформить в виде точных фак- тов. Пусть далее Q обозначает терм {у|хе«, (х<-»у), ф(х, у)}, . Z(=Q= (Зхеи) (ф(х, г) Д\Д(ф(х, v) дзг=о)) 21
> Утверждение следует непосредственно из определения □ Введем сокращение (читается «существует и только одно х такое, что ф(х)»): з !хФ (х)^Зхф (х) л(ф (у) Лф (2) =>у=2). Упражнение. х^и/\^ !уф(х, v) Дф(х, y)zjy^Q. 13. Рассмотрим множество Рассела R^{x\x<=£x}. Это — конкретное множество, описанное замкнутым термом языка Л4+. По аксиоме свертывания для любого и имеем . u^R = ue£u. В частности, подставляя вместо и множество /?, получим .R^R = R^R. С другой стороны, очевидно, имеем ~](R^R = Re£R). Мы пришли к противоречию. Это короткое рассуждение и является парадоксом Рассела в нашем языке. Обсудим кратко природу парадоксов, к которым относится и парадокс Рассела. Рассмотрим следующее высказывание: «Высказывание, написанное в этой строке, ложно». Истинно или ложно высказывание, написанное в кавычках? Исходя из его смысла, можно заключить, что оно истинно тог- да и только тогда, когда оно ложно, и мы приходим к проти- воречию. Причину парадокса можно усматривать в структуре выска- зывания, написанного в кавычках; оно ссылается само на себя. Здесь проявляется абстракция отчуждения, в силу которой ис- следователь сам процесс своего исследования, свои мысли, де- лает объектом исследования. Мы видим, что если это делать неосторожно, то получаются внутренне противоречивые выска- зывания. В несколько иной форме этот парадокс известен как пара- докс Эвбулида (четвертый век до н. э.). Пусть некто говорит. «Я лгу». Истинно или ложно это его высказывание? Конечно, можно устранить парадоксы, считая приведенные высказывания неосмысленными (или неправильно построенны- ми). Но возникает трудная проблема, а какие высказывания осмыслены? Не окажется ли, что, казалось бы, надежные утверждения в математике или физике внутренне противоре- чивы? Каковы критерии, отличающие осмысленные высказыва- ния от неосмысленных? Внимательный анализ показывает, что в теории множеств 22
возникает аналогичная ситуация при использовании аксиомы свертывания (п. 3). Сначала исследователь формулирует свой- ство ф(у), а затем образует объект исследования — множество {г/|<р(у)}. Свойство ф(у) может сообщать нечто обо всех мно- жествах, в том числе и о вновь образуемом {у |<p(t/)}. Так про- исходит ссылка на себя. Например, <p(t/) может содержать кванторы по переменным, которые, естественно, мыслятся как пробегающие все множества, в том числе и множество {у | ф(у)}. В определенном смысле множество {г/|ф(у)} нельзя считать вновь образованным: о нем уже идет речь в формулировке свой- ства ф(у)! Это явление называется непредикативностью теории множеств. Полный отказ от непредикативиых определений требует значительной перестройки существующей математики, и поэто- му обычно используется компромиссный подход. В необходи- мых случаях используется непредикативная аксиома свертыва- ния, но ее применение ограничивается, чтобы избежать возник- новения парадоксов. Рассмотрим теперь еще одну парадоксальную ситуацию. Де- ревенский парикмахер бреет тех и только тех в своей деревне, кто сам не бреется. Бреет ли он сам себя? Несложное рассуж- дение показывает, что он бреет сам себя тогда и только тогда, когда не бреет сам себя. Как следует реагировать на такую ситуацию? Очень просто. Такого парикмахера просто не существует. Условие, которому должен подчиняться наш гипотетический парикмахер, внутрен- не противоречиво, его нельзя выполнить (хотя это сразу и не- заметно). Конечно, не следует полагать, что тем самым сни- маются все вопросы, которые вызывает вышеприведенный очень тонкий пример. Главный вопрос — какие же условия в таком случае внутренне противоречивы, а какие — нет? Можно ли уверенно выделить широкий класс заведомо непротиворечивых условий? Аналогично естественно считать, что множество R не сущест- вует. Однако в таком случае необходимо подвергнуть пере- смотру наши представления о структуре Ж теории множеств и изменить строение языка М+. До сих пор мы полагали, что всякий замкнутый терм Л1+ определяет множество, т. е. мы счи- тали, что любое условие ф(х) определяет объект {х|ф(х)}. Ока- залось, однако, что такая точка зрения внутренне противоречи- ва Нужно выделить класс условий, которые заведомо опреде- ляют множества, и таких множеств должно быть достаточно для обслуживания обычных математических рассуждений. В то лее время следует признать, что некоторые условия множеств не определяют. Современная математическая логика еще очень далека от полного решения этой задачи. Имеется несколько практически Удобных решений. Из них самым популярным, по-видимому, яв- ляется подход, предложенный Цермело и усовершенствованный 23
Френкелем. Основная его идея состоит в том, что мы отказы- ваемся от «слишком обширных» множеств неопределенной мощ- ности, таких, как например, универсальное множество. § 2. ЯЗЫК ТЕОРИИ МНОЖЕСТВ ЦЕРМЕЛО — ФРЕНКЕЛЯ 1. Мы вновь исходим из гипотезы, что имеется математиче- ская структура Ль — семейство множеств с отношением а^Ь. Ее. свойства определяются семантическими соглашениями, кото- рые мы (несколько неточно) будем называть аксиомами теории множеств Цермело — Френкеля. Язык ZF+ содержит один сорт переменных х, у, г,которые рассматриваются как пробегающие множества. Понятие формулы и терма ZF+ определяется одновременной индукцией: 1) переменная есть терм; 2) если t, г — термы, то (/ег) есть формула; 3) если (риф суть формулы, то (фАФ), (ф\/Ф), (ф^Ф). ~1ф также суть формулы; 4) если х — переменная, а (р — формула, то\/хф, СУТЬ формулы; 5) символы 0 и со суть термы; 6) если t, г — термы, то {t, г} есть терм; 7) если t — терм, то Pt и [)t суть термы; 8) если ср — формула, t — терм, не содержащий свободно переменной х, то {х^|ф} есть терм; 9) если ср — формула, х, у — различные переменные и t — терм, не содержащий свободно переменных х и у, то (Х—у), <р} есть терм. Определение формулы и терма закончено. Идея языка ZF+ состоит в том, что в него мы включаем лишь часть конструкций из избегая известных парадоксов. Теперь 0, со, Q, Р уже не определяются, а являются самостоя- тельными значками. Вместо неограниченной аксиомы свертыва- ния мы имеем лишь ее частные случаи, в том числе определение выделением и определение подстановкой. 2. Мы считаем, что законами структуры Ло являются сле- дующие формулы: 1) Аксиома объемности: . x = y/\x€EZ=)y(=z. Существенным для нас является то, что из этой аксиомы (с по- мощью остальных аксиом) выводятся свойства равенства: (ф(х)^ф(у)); 24
(ср п. 3 § 1). Здесь х<=у и х=у определяются, как и раньше (п. 2 § 1). 2) Аксиома пустого множества: .Цг(ге£0); в М+ это свойство доказывается, а знак 0 определяется особым образом. В языке ZF+ знак 0 является самостоятельным, и его свойства следует специально определить. Это замечание отно- сится и к другим конструкциям ZF+. 3) Аксиома пары: .\/z{z^{x, y}=(z = x\'z=y)). Свойства пары п. 4 и п. 5 § 1 доказываются и в ZF+, так как все они выводятся только из п. 4 § 1, 1), а это свойство пары выполняется и в ZF+. Далее, определим теперь {х}“ {х, х}, тогда основное свойство п. 5 § 1, 1) {х} также выполняется в ZF+. 4) Аксиома суммы: .Уz(z<^[Jx= ( ^мех) (гем)). Основное свойство объединения п. 8 § 1, 1) тогда выполняется и в ZF+. 5) Аксиома множества подмножеств: . У г (zePx= (г^х)) (ср. п. 10 § 1). 6) Аксиомы стандартного бесконечного множества: ,0ею; .(У zew) (Szeco); . У х (Prog (х) =) (ia£x)) (ср. п. 11 § 1). 7) Аксиома выделения: . у z(ze{xe%(x)} = (ze/A<₽(z))) (Ср. П. 12 §• 1). 8) Аксиома подстановки: . Уг(ге{у|хем, (Х1—»//), <р(х, у)} = ( Зхем) (Ф(х, г)ЛУ1>(ф(х, v)=>z = u))) (ср. п. 12 § 1). На этом формулировка семантических соглашений ZF+ за- канчивается. Заметьте, что в естественном смысле ZF+ есть часть языка наивной теории множеств Л1+. В -языке ZF+ уже нет никакой возможности образовать уни- версальное множество V={x|x=x} или множество Рассела 25
R= {x\x^~-x}, для ЭТОГО просто нет ПОДХОДЯЩИХ ЯЗЫКОВЫ^ средств. Мы считаем, что эти множества отсутствуют в струк туре Jf0. 3. Далее нам следует убедиться, что обычные множества, употребляемые в математике, выражается в ZF+. Мы начнем с рассмотрения тех конструкций, которые уже встречались в § 1. Пересечение, объединение и дополнение двух множеств мож- но определить в ZF+: U{*> у}; W — (х[)у) |zt=x/\z(=Ey}; х\у^ {z<=x\z е£у}. Упражнение. Убедитесь, что свойства п. 7 § 1 этих понятий выполняются и в новом определении. Чуть сложнее обстоит дело с определением пересечения се- мейства множеств. Определить Пх так, чтобы выполнялось опре- деляющее свойство п. 8 § 1 Z(^[~\X~ (\/ uex) (z<=u), не представляется возможным, так как тогда согласно лемме п. 9 § 1 было бы Г}0=У. Однако в ZF+ можно определить очень похожее понятие: Г|х^{г^и^| (У wex) (zgm)}. Лемма. Имеем: 1) х=^0=) У z(z^Hx^ (У wex) (z<=u)); 2) П0 = 0. [> Если х^0, то существует и^х. Тогда из (У и^х) (z^u) следует zeu0 и, значит, ze(Jx, так что ограничение в аксиоме выделения становится фиктивным. Далее, Q0 = 0, так как U0 = 0. □ Разумеется, в ZF+ нам придется_ отказаться от общего до- полнения, так как тогда было бы 0 = К Множества V такого, что yz(zeV), существовать не может, так как иначе мы вы- делением могли бы определить и множество Рассела R = {zeV|z^z}. § 3. ОТНОШЕНИЯ И ФУНКЦИИ В ЯЗЫКЕ ТЕОРИИ МНОЖЕСТВ 1. Упорядоченная пара (по Куратовскому) определяется сле- дующим образом: (X, у )—{{•*}> {х, у}}. Основное свойство этого множества выражается следующей леммой: Лемма. . (х, у / = ( u, v) = (x~u/\y = v). 26
> Импликация справа налево следует из свойств равенства. Допустим ( х, у ) ~ (и, v) и докажем х=иДу = у. По допущению {{х}, {х, Л } = {{“}• {и, у}}. Согласно лемме п. 5 § 2, 2) тогда {-<•'} = {и} Л {х, у} = {и, у} или {х} = {«, у)А{х, у} = {и}. Соответственно разберем два случая, «) {х} = {/<, у}, {х, у} = {и}. Ввиду п. 5 § 2 тогда x=y = u = v, так что, очевидно, x=u/\y = v. Ь) {х} = {«}, {х, !/} = {«, у}. Ввиду п. 5 § 2 тогда х = и. Далее, имеем два случая: x~u/\y = v или x — v/\y = u. В первом случае мы уже имеем искомое. Во втором же случае ввиду х=и получаем x=u=y = v, т. е. вновь х = и/\у = и. □ Далее можно определить упорядоченные тройки, четверки и т. п. Из леммы будет следовать и более общее утверждение . (Х1, ...,ХН) — <Щ, ип) = ••• А^г = Ип). Заметим, что упорядоченная /г-ка при /г>0 в нашем опреде- лении есть одновременно и упорядоченная пара. 2. Отношение есть по определению множество, каждый эле- мент которого есть упорядоченная пара. На нашем языке «быть отношением» записывается как Не!(х)=^(у гех) 3 uv(z^{u,v}). Мы говорим, что и и v находятся в отношении х, если {и, v}^x. Последнее записывается также в виде uxv. Полем отношения х называется множество всех и таких, Wo и входит в х в качестве левого члена некоторой пары или в качестве правого члена некоторой пары. Оказывается, что в нашем языке поле отношения может быть Определено следующим образом: Fld(x)^UU*. То, что это действительно подходящее определение, видно Из следующей леммы: 27
Лемма. 1) . (u, v )<=x=>ueFld(x) Ai>eFld(x); 2) .Rel (x)A«eFld (x) zd 3 v( (и, v )exV (v, и ) ex). [> 1) Имеем {и, v}^(u, v)^x, что означает {и, v}e|Jx. Далее, ue{«, vjeljx, что влечет we JIA, т. e. ueFld(x). Сим- метрично yeFld(x). 2) Пусть Rel(x), weFld(x). Таким образом, найдется v. weneljx. А значит, найдется z такое, что uewezex. Так как Rel(x), то найдутся vit v2, z= ( vit v2 ). Ввиду ve ( v1( v2) имеем u={vi} или t>={ui, Так как u^v, то необходимо u = V\ или u = v2. □ Область определения отношения х есть множество всех ле- вых членов пар из х. dom(x)==={ueFld(x) | 3 и( (и, v ) ex)}. Это типичное определение в ZF+ выделением. Заметим, что ввиду леммы ограничение neFld(x) в опреде- лении несущественно: • 3 у (( «, v )зз«еFld (х). В обыденной математике дают более простое определение: dom (х) = {и | 3 у ({ и, v ) Ех)}. Но в нашем языке последняя конструкция просто невозможна и нам приходиться предложить некоторое, хотя бы и несущест- венное, ограничение. Такое фиктивное ограничение в аксиоме выделения — осо бенность ZF+ — есть плата за устранение парадоксов. Основные свойства области определения: 1) . (и, v) exiDuedom (х); 2) .Rel (х) Auedom (х) zd 3 v ((и, и) О 2) Пусть Rel(x) и uedom(x). Тогда по аксиоме выделения непосредственно Зу((н. □ .Rel (х) zz>dom (х) =Fld (х). Область значений отношения х есть множество всех правых членов пар из х. rng(x)^{t'eFld(x) | Зы( ( и> v ) ^х)}- 1) . ( и, v ) exe>uerng(x); 2) ,Rel(x)Auerng(x)o Зн((м, у)ех); 3) .Rel (x)^>rng(x)|Jdom(x) =Fld(x). О Для доказательства используйте лемму. □ 3. Декартово произведение дв,ух множеств х и у есть некото- рое отношение. А именно это есть множество всех пар {и, v ) таких, что uex, v^y. В языке М+ декартово произведение можно было бы опре- делить следующим образом: xXy^{z\ 3«ц(г= { и, v}/\u^x/\v^y)}. 28
В языке ZF+ нам придется подобрать некоторое (фиктивное) ограничивающее условие для определения выделением. Оказы- вается, что можно определить xXy^{z^PP(x(jy) I 3tw(z= {и, V )/\u<=x/\v<=y)}. В самом деле, покажем, что из условия справа от черты сле- дует ze.PP(x\Jy). Итак, пусть для некоторых и, v имеем z= = { и, v ), uex, v^.y. Тогда uexUy и vexljy. Отсюда {ujsxjt/, {v}=xUt/, {и, v}sxU{/. Это дает {«}eP(xUy), {u, v}<=P(x[Jy). В свою очередь, отсюда {{и}, {и, o}}sP(xUy), т. е. {и, v)’=P(x[jy) п, значит, (и, v)ePP(x\Jy), т. е. ге ePP(xUy). Итак, в аксиоме выделения условие слева от черты выпол- няется, если выполняется условие справа от черты. Основные свойства декартова произведения предлагается доказать в качестве упражнения: 1) . иехДсеур { и, viexXy; 2) .zexXy=> 3uv(z = (и, v ) ДиехДоеу). Мы говорим, что отношение R задано на множестве z, если R^zXz. Следующая лемма указывает, откуда берется множество г. Лемма. Rel (/?) =э/?^с1от(/?) Xrng(R). Отсюда R^zxz, где z = dom(R)|Jrng(R). [> Пусть Rel(/?) и y^R. Тогда у= {и, v) и из определений tzedom(R), v<=rng(R), что ввиду 1) дает у=(и, o)edom(R)X rng(R). □ 4. Для каждого отношения R может быть определено об- ратное отношение, состоящее из пар, расположенных в обрат- ном порядке. Оно обозначается R~l, R или Conv(R). Точное определение таково Conv(R)-^{zerng(R) Xdom (R) | 3«0(z= (и, и) Д (v, u)<=R)}. Заметим, что ограничение здесь — фиктивное. 1) ,Rel(Conv (/?)); 2) . (и, v ) eConv (R) = (v, и ) <=/?. 5. Если даны два отношения, то может быть определена их: композиция R °S^ {zedom (S) х rng (R) | ^uvw(z = {u, w) /\ (u, v) eS/\(o, w )e/?)}. Основные свойства композиции: 1) . Rel(R°S); 2 . (и, v } еЗД (v, w) {и, w ) sRcS; 3) . (и, w) <=R°Szz> ^v({u, и)е5Д(о, w)<=R). 29
[> Докажем 3), доказательства остальных свойств предоста- вим читателю. Если (u, то по определению (u, w)^dom(S)X Xrng(/?) и, кроме того, существуют w', и', w', {u,w} = {u\w'}. (u', v'}(=S, (v'9 w') t=R.' Ввиду п. 1 тогда u = u', w = w'. Если определить v = v', то мы видим, что (и, v)^S, (v, w)eR. □ 6. Введем понятие рефлексивного, симметричного и транзи- тивного отношений. Напомним, что xRy^(x, у ^R. Ref (/?) М V xe=Fld (/?)) (xRx)\ Sym(7?) xy(xRy=oyRx)\ Trans (R) xyz(xRy /\yRzz3xRz). Отношение называется отношением эквивалентности, если юно одновременно рефлексивно, симметрично и транзитивно. Точное определение: Eq (R) Rel (/?) ARef (/?) ASym (7?) ATrans (R). Упражнение. Докажите: . Rel (R) ARef (/?)=>Fld (/?) - dom (R) = rng (/?). 7. Ограничение отношения R множеством x есть по о пр еде - лению множество таких пар {и, v) из R, что и^х. Точное опре- деление: R f х (% х rng (/?)). . ( и, v } <= (R fx) = ((u, v)^R/\u^x). Образ множества х по отношению к R — это множество всех тех и, для которых найдется и, принадлежащее х и { и, v) (=R. R“x ^R[x]^ (^erng (R) | (З^ех) ((u, v } е/?)}. Упражнение. Докажите: . 7?“x = rng(/? Г х). Симметричное понятие — прообраз множества х по отноше- нию к R — это множество всех тех и, для которых найдется и, принадлежащее х, и такое, что {и, и} ^R. Точное определение: R_1x^{uedom(R) | (З^ех) ((п, Упражнение. .ReltR^R-iX^R-^x. Подобным образом можно было бы развивать и теорию многоместных отношений. Например, трехместное отношение есть по определению множество, все элементы которого суть упорядоченные тройки. 8. Функция (от одной переменной) есть по определению отношение, которое удовлетворяет следующему, условию: если 30
(и, Vi)e.R и (и, ) <=/?, то У1 = У2, т. е. для каждого и из об- ласти определения R существует только одно и, находящееся с этим и в отношении R. Точное определение: Fnc (R) ^Rel (R) Л Vu^iu2 (uRvi/\iiRv2^>Vi = v2). Второй конъюнктивный член здесь называют иногда условием униформности (по второй координате). Таким образом, функ- ция есть отношение, униформное по второй координате. Мы говорим, что функция f отображает множество X в мно- жество У, и пишем f: X-+Y, если область определения f есть X, а область значений f вклю- чена в У: f: Х->У^Fnc (f) Adorn (/) =ХArng (f) <=Y. Мы говорим, что функция- f переводит х в у, если (х, у) f: x~y^Fnc(f)/\(x, y)f=f. Если xedom(f) и I— функция, то существует и только одно у такое что (х, Это у называется значением функции f на х. Можно дать и явное определение значения функции в нашем языке: LKyerngtf) | {X, у} Основное свойство этого обозначения: . Fnc (f) A-tedom (f) ((z=f‘x) = ((x, z) <=f)). г> Пусть Fnc(f) и xedom(f). Так как xedom(f), то найдет- ся и такое, чУо (х, u)^f. Пусть Q= {z/erng(f) | (х, По определению yeQ=(x, у Но по условию униформнос- ти (х, у) Л(х, u)^jzjy = u. Таким образом, y^Q=~ (у = и). Отсюда следует Q={u}. А тогда UQ = U{^} —и. Но UQ есть f*xr так что f‘x = u. Если z = fx, то z = u и, значит, (х, z}^f. Обрат- но, если (х, z) ef, то ввиду (х, u }^f и условия униформности 2 = п, т. е. z — f‘x. □ Не следует путать два обозначения, имеющие совсем разный смысл: f(x)±==f‘x — значение функции f в х. f[x]^ Л‘х — образ множества х по отношению к функции L Аналогично, различный смысл имеют и формулы: f: Х->У — функция f' отображает множество X в мно- жество У. f х—у — функция f переводит х в у. Заметим, что всякая функция есть в то же время и отноше- ние, так что все определения, предназначенные для изучения отношений, могут быть использованы и для функций Таким образом, задаются область определения функций, область зна» чений, ограничение функции множеством, композиция функций. 31
Лемма. Композиция двух функций есть функция'. . Fnc (f) AFnc (g) zoFnc (f°g). [> Пусть Fnc(f), Fnc(g), проверим условие униформности для f ° g. Пусть {и, (ц, a2)ef° g, покажем Vi==d2. По определению композиции найдутся Wi и такие, что (и, W{)<=g, {Wit Vi)(=f и {и, Wz} eg, (w2, Vz)f=f> Из условия униформности для g имеем Wi = w2. Но тогда — из условия унифорности для f. □ Лемма. Значение композиции равно последовательному вычислению значений составляющих функций: . Fnc (f) AFnc (g) A^dom (g) A (g‘x) edom (f) => (fog) ‘x=f‘ (g‘x). Обратите внимание, что сначала вычисляется значение функ- ции g (правой в композиции). [> Пусть v=(fog)ix. Тогда (х, v)&(f°g) и, значит, най- дется w, (х, w)eg, {w, v}^f по определению композиции. Но тогда w = g‘x и о = т. е. o = f‘(g‘x). □ Для данной функции f обратное отношение f~1 = Conv(f) может и не быть функцией. Функция f называется взаимно- однозначной функцией, или биекцией, если обратное отношение также является функцией: (l-l) (f) ^Fnc(f)AFnc(Conv(f)). Множество всех функций из множества X в множество Y обозначим через (Х->-У). Таким образом, ,f^(X^Y)=f:X^Y. Точное определение выделением: (X-+Y)^{f^P(XxY) |f: Х->У}. Упражнение. Убедитесь, что ограничение f^P(XxY) фик- тивно и следует из условия f: А->У. Можно было бы естественно развивать и теорию функций нескольких переменных. Так, функция от двух переменных есть по определению трехместное отношение, униформное по послед- ней координате. 9. Пусть t(i) — терм языка ZF+ с выделенной переменной /. Мы будем писать иногда вместо t(i), чтобы подчеркнуть особую роль переменной I. Пусть / — произвольный терм, не содержащий свободно переменную L Можно ввести обозначение .32
таким образом, что .w={ti\i^l}= Qi^I) (u = ti). Это обозначение мы читаем так: «семейство всех 7, для ze/». Аналогично для терма t(i, j) с двумя выделенными перемен- ными определяется семейство j^J}, так что j(=J} = (3'<=Л (3/е7) = Подобным образом можно определить семейства множеств по термам с большим количеством выделенных переменных. [> Эти обозначения вводятся с помощью определения под- становкой. Пусть, например, t(i, j) терм, i, / — две различные переменные, а 7, 7 — произвольные термы, не содержащие сво- бодно переменных i и /. Определим i<EEJ}^{y\x<=IxJ, (Х’-у'), Тогда согласно п. 12 § 1 u^{tjj\i^I, jeJ} ^существует хе/Х/ такое, что в точности для одного и имеем ЗИ(х={1, 1}/\и=^. Но для всякого x^IX.J такое и всегда существует, и единствен- но. В самом деле, по хе7х7 однозначно определяются i и j, x={i, j}, а тогда и однозначно определяется из равенства u=tn. Таким образом, j^J} тогда и только тогда, когда существует te7, /е7, u — tij. □ Эти обозначения позволяют компактно и наглядно выразить в языке ZF+ многие популярные конструкции обыденной мате- матики. Например, (7XV={(«> \u^U, v^V}, здесь и и v — выделенные переменные. Заметьте, что выделенные переменные связаны в нашем обо- значении. Определим объединение семейства множеств U tt (Ж |ie/}. i е I Основное свойство: .2<=у iel) [> ze= U (,=2Е (J {fz|ze=7}ss ze/ = (3 иe {ii | ie 7}) (ze zz) = 3U(}ie 7) (u = tt Л z = u) == (3i£ 7) (ze /,). □ 2 A. H. Колмогоров, А. Г. Драгалин 33
Определим пересечение семейства множеств Г) Л tei !)•/=#= 0 =>.ze Л /Z==(vte/)(zsf,); <ez 2). И G = 0- <ел > См. п. 3 § 2. □ Декартово произведение семейства множеств определяется следующим образом: П {/(=(/-> U Ol(W е /) ((/‘ i) 6= /г)}. iGI 1^.1 10. В обычной математике под функцией иногда понимают аналитическое выражение, зависящее от переменной. Например, говорят о «функции» х2+х-Н. В точном языке такого рода вы- ражениям соответствуют не функции, а термы. Терм опи- сывает не функцию, а ее значения. Если по терму f(x) мы желаем образовать функцию с об- ластью определения z, то она (функция) будет определяться уже другим термом /={ (х, t(x)}\xf=z}. Для всех №2 будет . f: x-+t(x). § 4. НАТУРАЛЬНЫЕ ЧИСЛА В ТЕОРИИ МНОЖЕСТВ. ЗАПИСЬ МАТЕМАТИЧЕСКИХ УТВЕРЖДЕНИЙ В ЯЗЫКЕ ТЕОРИИ МНОЖЕСТВ 1. Рассмотрим последовательность множеств: 0, {0}, {0, {0}}, {0, {0}, {0, {0}}},... Эта последовательность получается, если начиная с пустого множества последовательно применять операцию Sx=x|J{x}: {0} = S(0), {0, {0}} = $({0}) и т. д. Первый член нашей последовательности вовсе не содержит элементов, второй содержит один элемент, третий — два и т. д. Обратите внимание на важную особенность нашей последо- вательности: каждый член в ней' равен в точности множеству всех предыдущих членов последовательности. Например, члену {0, {0}} предшествуют в точности члены 0 и {0}. Если упорядочить члены нашей последовательности, считая, что а<Ь<=>а появилось в последовательности раньше, чем Ь, то для членов нашей последовательности 34
Таким образом, отношение принадлежности задает линейный порядок на нашей последовательности. Фон Нейман предложил определить натуральные числа в теории множеств как члены вышеуказанной последовательности: 0^0, 1={0}, 2~{0, {0}},... и вообще, если задано натуральное число и, то следующее чис- ло есть Sn. Аксиомы бесконечности (п. 2 §' 2) как раз и утверждают, что со есть в точности множество всех натуральных чисел по фон Нейману. В самом деле, первые два утверждения 0есо, ( V *^<о) (Sxeco) гласят, что со во всяком случае содержит все натуральные чис- ла, а третье утверждение tfx (Prog (х) ZD ((О^х) ) гласит, что co — «самое маленькое» из множеств, содержащих все натуральные числа, т. е., интуитивно говоря, состоит только из натуральных чисел. Основные свойства натуральных чисел выражаются следую- щими тремя утверждениями: 1) . (V xgeg))(Sx^0); 2) . (у xz/S(o) (Sx = Sy=x = y)\ 3) для всякой формулы ср(х) выполняется следующее утверждение, называемое принципом полной математической индукции: . ф (0) Л ( V XEG)) (ф (X) =)ф (Sx)) zd (V XGto) ф (х). > 1) Очевидно, x^Sx=x|J{x}. Если было бы Sx —0, то хе0, что невозможно. 3) Допустим ф(0) и (Ухесо) (ф (х) =)ф (Sx)) и докажем ( у'хесо)ф(х). С этой целью рассмотрим множество и — {хесо|ф(х)}. Из допущений следует, что Prog (и). А тогда по аксиомам бесконечности имеем что и означает (v хе €=<й) ф (х). 2) Для установления этого факта нам понадобится доказать два вспомогательных утверждения с помощью принципа полной математической индукции. Первое утверждение: (Ухесо) У r/z(f/ez/\zexZDy^x). Длях = 0 это утверждение У yz (yt=z/\ZE=0=>y<=0) тривиально в силу ложности посылки ze0. Рассмотрим произ- вольно число хесо и, допустив У yz (yf=Z/\Z(=XZDy(=x), 2* 35
докажем V#z(f/ezAz&SxzDyeSx). Итак, пусть y^z, z^Sx. Из z<=Sx следует zex или z=x. В пер- вом случае y^z, zl=x и, значит, у^х по индуктивному пред- положению. Отсюда y<=Sx. Во втором случае y^Sx ввиду z<=Sx. Первое утверждение доказано. Второе утверждение: Ух(хе^х). Очевидно, 0^0. Допустим для /есо, что хе^х, и докажем SxefcSx. Предположим противное, и пусть Sx^Sx. Тогда Sxex или Sx = x. В первом случае ввиду x^Sx и первого утвержде- ния имеем хех, что противоречит индуктивному предположе- нию. Во втором случае ввиду x<=Sx непосредственно заключаем лех, что вновь противоречит индуктивному предположению. Вто- рое утверждение доказано. Установим теперь 2). Пусть Sx = Sy, докажем х = у (обрат- ная импликация следует из общих законов равенства). Так как x^Sx, то xeSy и, значит, хеу или х = у. Во втором случае утверждение доказано, так что достаточно показать, что случай х&/ невозможен. Из y^Sy заключаем y^Sx, т. е. уех или у = х. Но если х<=у и уех, то по первому вспомогательному утверждению тогда хех, что противоречит второму утвержде- нию. □ Оказывается, все, что требуется в математике от натураль- ных чисел, вытекает уже только из указанных трех утвержде- ний, называемых аксиомами Пеано, Можно определять нату- ральные числа в теории множеств и по-иному, не обязательно по фон Нейману, важно лишь, чтобы выполнялись утверждения 1)-3). Например, из аксиом Пеано средствами ZF+ можно уже до- казать существование функций сложения, умножения, возведе- ния в степень для натуральных чисел и вывести все обычные свойства этих функций. Более того, оказывается, что аксиомы Пеано фактически однозначно определяют натуральный ряд в ZF+. Точнее, если имеется некоторое множество со*, элемент 0*есо* и функция, определенная на со*; S* : <о*-*со*, причем так, что для 0*, со*, S* выполняются аксиомы Пеано, то существует естественный изоморфизм между со и со*, т. е. существует взаимно-однознач- ная функция f: со-хо* на все множество со* такая, что f'O = О* и f (Sx) =S*(f‘x). Кроме того, такая функция / единственна. Как говорят, аксиомы Пеано категоричны в теории множеств, т. е. фактически однозначно определяют натуральный ряд, если позволить себе пользоваться средствами теории множеств. Основные свойства натуральных чисел, действительных чисел изучаются в учебниках по числовым системам и по математи- 36
ческому анализу, и мы не будем здесь повторять этого изуче- ния, но все же наметим коротко определение множества R всех действительных чисел в стиле Дедекинда. Сначала определим множество Rato канонических обозначе- ний для рациональных чисел. А именно xeRato^ 3 uvw(x-= (и, v, w) Д (u = 0V^ = 1) Ла&оЛге'£=соД^=#0). Если х= (и, v, w), то и назовем знаком х, v — числителем х и w — знаменателем х. Тройку вида {0, v, w) будем обозна- чать через v/w или + v/w, а тройку вида (1, v, w) будем обо- значать через —v/w. Определим далее естественное отношение эквивалентности между каноническими обозначениями для рациональных чисел таким образом, что {и, V, W) =г{и, WY)~V-Wl = Vi-W, (О, v, w} = Д1, )^u = Vi = 0, здесь умножение справа есть обычное умножение натуральных чисел. Множество Rat всех рациональных чисел определяется как множество всех классов эквивалентности Rat0 по этому отноше- нию эквивалентности. Более формально Rat(Rato) | (3 z^Rato) Vх (xez/=(x=rz))}. Далее, на множестве Rat обычным образом вводятся все ос- новные действия над рациональными числами. Например, умно- жение рациональных чисел описывается следующим образом, отражающим известное школьное правило «умножения дроби на дробь»: Xi-rx2 ^{z^Rato| 3 uUiViWiUzVzWz (((ulf Vh Wi) exi) A((w2, v2, ш2)ех2)Д (z = r (u, щ-и2, IO1-W2)) A (n = 0Vu= 1) A (u = 1 (u^u2)))}. Разумеется, следует проверить, что эта операция действи- тельно по рациональным числам Xi и х2 выдает рациональное число и удовлетворяет обычным свойствам умножения рацио- нальных чисел. При желании можно определить и константу, функцию от двух аргументов — умножение рациональных чисел: •r^{zeRat3| ( 3 XiX2x3^Rat) (z= (xi, x2, Хз) ДХз = Х1-гХ2)}. 37
Тогда будем иметь . ( v XiX2(=Rat) ((•/ (хь х2 ) = хГгх2). В таком же стиле можно ввести операции сложения х+rf/, вычитания х—>у, взятия модуля |х|г для рациональных чисел, а также отношение х<ту строгого неравенства между рацио- нальными числами. Сечением в области рациональных чисел называется, как из- вестно, разбиение множества Rat рациональных чисел на два непустых подмножества X и У таким образом, что X вместе с каждым числом содержит и все меньшие, а У вместе с каждым числом содержит и все большие. Определение сечения в нашем языке: Ct(x)-(3X^Rat)(3y^Rat)(x= (X, У)Д Х^0ДУ^0ДХиУ=Rat ДХрУ = 0 Д (\/ rweRat) (u<ZrVZD(v^Xzju^X) (иеУзуеУ))). Сечение (X, У) назовем правильным, если в нижнем классе X этого сечения отсутствует наибольшее число. В нашем языке понятие правильного сечения можно записать в виде следующей формулы: CorCt(x)^Ct(x)A \/ХУ(х= (X, У) zd (V и<=Х) (3 v<=X) (u<rv)). Теперь, следуя знакомой схеме, мы отождествим множество R всех действительных чисел со множеством всех правильных сечений: R {х^Р (Rat) X Р (Rat) | Cor Ct (х)}. Это типичное определение по схеме выделения, где слева от черты стоит фиктивное ограничение. Далее следует определить на множестве R все обычные дей- ствия над действительными числами. Отношение строгого нера- венства, например, можно ввести следующим образом: (Хь У1)<(Х2, У2)-У1ПХ2=#0. 2. Мы не будем заниматься далее развитием теории дейст- вительных чисел и примем, что в ZF+ могут быть определены множество R всех действительных чисел и все обычные опера- ции над действительными числами: сложение, умножение, взя- тие модуля действительных чисел и т. п. Напомним определение ограниченных кванторов (см. п. 8 § 1): (V хе«/)ф(х) =^\/х(х<=«/:эф(х)); (3 xf=y)q(x) ^Зх(хе=г/Дф(х)). 38
Ценность этого определения помимо его компактности со- стоит еще и в том, что ограниченные кванторы во многом ведут себя аналогично обычным, особенно если z/=^0. Так, для огра- ниченных кванторов имеет место аналог законов де Моргана. Далее, .у#=0=>((У л-еу)ф(х)=э(Э х&/)ф(х)). Можно пойти еще немного далее в употреблении сокраще- ний. Л именно фиксируем некоторое множество и, и^0. В язы- ке ZF+ это множество может изображаться, в частности, некото- рым замкнутым термом. Фиксируем теперь некоторый набор F переменных: а, Ь, с,..., которые условимся считать пробегающи- ми элементы множества и. Более формально это означает, что: 1) во всяком доказательстве, рассматривая элемент а, изо- бражаемый переменной из набора F, мы автоматически считаем верным . а^щ 2) во всех формулах кванторы \/шр(а), Заф(а) следует понимать как ограниченные (Уаег/)ф(а), (^а^и)^(а)] 3) термы вида {а|ф(а)} следует рассматривать как {аеы|Ф(а)}. Коротко говоря, мы всюду опускаем ограничение ew, если речь идет о переменных набора F. При аккуратной полной записи это ограничение следует, конечно, восстанавливать. Указанием на то, что следует добавлять ограничение, служит то обстоятельство, что переменная берется из набора F. Такой способ употребления переменных называется введе- нием подчиненных переменных. Мы говорим, что переменные ИЗ списка F подчинены условию ем. Например, мы согласимся употреблять буквы m, п, k,..., быть может, с индексами, для обозначения натуральных чисел, т. е. переменные набора m, п, k,... подчиним условию ^<о. В этих обозначениях принцип полной математической индук- ции запишется в виде Ф (0) Л V т (ф (w) ^ф (Sm)) у тф (т). Его более развернутая запись имеет вид ф(0)Л(У тесо) (ф(т)=Эф(5т))=)(У т&))ф(т). Упражнение. Обдумайте следующие определения: 1) а есть последовательность действительных чисел: (а : 2) b есть подпоследовательность последовательности а: (а : Л (b : (d-к/?) Л 39
(3/e ((o-xto)) \/'т (Л (b‘m = a‘ (f‘m))). Согласимся, далее, употреблять буквы а, р, у, 6, е,... быть может с индексами, для обозначения действительных чисел, т. е. переменные этого набора подчиним условию eR. Отрезок [а, р] действительных чисел: [а, Р]^{у|а<уЛу«Р}. Функция f непрерывна в точке а отрезка [0, 1]: (А [О, 1]->R) Лае [О, 1]Л(\Л>0) (36>O)(Vpe[O, 1]) (|а—р|<6е>| /'а—/ р| <(е). Функция f непрерывна в каждой точке отрезка [О, 1]: (А [О, l]->R)A(Ve>0)(Vae[0, 1]) (36>0) (Vpe[0, 1]) (|<х— р| <6^ |Га—Г₽|<8). Функция f равномерно непрерывна на отрезке [0, 1]: (Л [О, l]-R)AVe>0)(36>0) (Vae[0, 1]) (Vpe[0, 1]) (|a—p|<d=)|/‘a—fp|<e). Обратите внимание на различие в порядке кванторов по б и по а в определении непрерывности и равномерной непрерыв- ности. В этой перестановке кванторов — важное различие между непрерывностью и равномерной непрерывностью. Знание логических законов позволяет теперь быстро преоб- разовать формулы к нужному нам виду. Сформулируем, напри- мер, утверждение, что функция f на отрезке [0, 1] неравномер- но непрерывна, причем так, чтобы отрицание не фигурировало в этом утверждении. С этой целью в определении равномерной непрерывности следует поставить отрицание перед вторым чле- ном конъюнкции, а затем, применяя законы де Моргана и от- рицание импликации, пронести отрицание внутрь. В результате получим: (А [0, 1]->R)A (3 е>0) (\/6>0) (3ae[0, 1]) (3₽Е[0, 1]) (|а—p|<6A|f‘a—ГР|>8). 3. У читателя должно возникнуть правильное впечатление, что практически любое математическое утверждение может быть записано формулой ZF+, а имя любого математического объекта исследования может быть записано в виде терма этого языка. Приведем еще один пример. Топологическим пространством называется, как известно, непустое множество X, на котором определено семейство 5 его подмножеств, называемых откры- тыми множествами, причем: 1) 0 и X суть открытые мно- жества; 40
2) пересечение любых двух открытых множеств вновь от- крыто; 3) объединение любого семейства открытых множеств от- крыто. На нашем языке «быть топологическим пространством» может быть записано формулой: Top(x)^3%S(x= (X, 5)Л^#=0Л S<=P(X)A0&SA*g=SA (Уyz(=S) (yftz<=S) Л (VU^S) (Uut=S)). 4. Язык ZF+, как мы уже отмечали, не является языком пер- вого порядка ввиду особой структуры своих термов. Рассмот- рим язык первого порядка ZF. Этот язык содержит один сорт переменных %, //, г,... для множеств и единственный атомарный предикат Язык ZF не содержит ни констант, ни функцио- нальных символов. ZF составляет часть языка ZF+. Тем не менее, как мы уви- дим, всякая формула ZF+ эквивалентна некоторой формуле ZF. В этом смысле термы не являются необходимой принадлеж- ностью языка теории множеств и введены нами лишь для удоб- ства записи математических утверждений. В математической логике чаще употребляется именно язык ZF. А именно, для всякой формулы ср языка ZF+ мы определим формулу ф° языка ZF с теми же параметрами такую, что . ф==ф°. Что касается термов языка ZF+, то для всякой формулы ZF+ вида y = t, где t — терм и у — переменная, не входящая свободно в t, мы определим ZF-формулу (*/ = 0* так, что • (У = 0 = (У = $) ** Фор- мулы ф° и (y = t)* определяются одновременной индукцией по определению формул и термов п. 1 § 2: О (у=*)*НМ; 2) (ter)o_-3i/1y2((i/i = O*A 3) (<pA^)°—ф°ЛФ0; (ф\/Ф)0^ф0\/Ф0; (фоф)0^ ф°=эф°; (Пф)°—~1ф°; 4) (ухф)°^у Хф0; (3*ф)0=±;: 3V; 5) (у = 0)*^ у х(х^у); Prog0 (х) ==3 U ( у и (о < и) Диснх) л (Уи<=х) (ЗУ^х)Уг(геи^ (z^.u\/z = u))-, {у = со) * Prog0 (у) Д У х (Prog0 (х) =>у^х); 6) (У=К г})* —ЗУ1№((1/1 = О*Л (№= г) * Д у z (zt=y = (z = уiVz = y2))); 7) (</=₽/)* ^3</i(G/i=0*A Vz(zey=zst/1); (y=U0*-3//i((i/i=0*A \/z(z^y=(^v^yi) (zeu))); 3 A. H. Колмогоров, А. Г. Драгалнн 41
8) (y={xe/|(p(x)})*^3i/i((«/i = /)*A V? (z<=y=B (zez/iA<P° (Z))); 9) (y={v\U(=t, (U^V), <p(u, !>)})* = 3 !h((!lt=t)*Mv(vEy= Qutzyi) (q)°(u, ^)A\/w(<p0(u, w)=du = w)))). Используя эту длинную индуктивную процедуру, можно по всякой ZF-ьформуле <р получить эквивалентную ZF-формулу <р°. Доказательство эквивалентности проводится непосредственно индукцией и мы не будем на нем останавливаться. § 5. О КОНТИНУУМ-ГИПОТЕЗЕ И АКСИОМЕ ВЫБОРА 1 . Два множества назовем равномощными, если существует биекция, отображающая одно множество на другое: х—у—3 f ((1 -1) (f) Adorn (f) = XArng (f) = у). Множество называется конечным, если оно равномощно не- которому натуральному числу (напомним, что в теории мно- жеств каждое натуральное число отождествляется с множест- вом всех чисел, ему предшествующих): Fin(x)^(3n&co) (х—л). Множество называется счетным, если оно равномощно мно- жеству всех натуральных чисел: Count (х) ^Х—О). 2 .Теорема (Кантор). . ~|(х~Рх). > Предположим противное, и пусть х—Рх. Тогда сущест- вует биекция f, domf = x, rng f = Px. Рассмотрим множество v, v = {z^x]z&[‘z}. Очевидно, vsx, т. e. иеРх. Кроме того, по определению (У?ех) Так как f — биекция, то существует 20ех, такое, что [‘z0 = v. Подставляя в вышеописанную эквивалентность вместо z конкретное z0 и замечая, что f‘z0 = v, получим Z0<=V = Z0&V, что невозможно по законам логики. Обратите внимание на аналогию между этим рассужде- нием и рассуждением в парадоксе Рассела. □ Следствие. Множество всех подмножеств натуральных чисел несчетно: , “]Count (Ра). 42
3. Знаменитую континуум-гипотезу Кантора можно сформу- лировать следующим образом: всякое семейство подмножеств натурального ряда либо конечно, либо счетно, либо равномощ- но множеству всех подмножеств натурального ряда. Точная формулировка: ((Fin (у) VCount(y) \/у—Ры). Суть этого утверждения состоит в том, что не существует бес- конечных множеств, имеющих мощность, строго промежуточ- ную между мощностями множеств о) и Ао. Как показали Гедель и Коэн, континуум-гипотеза не зависит от остальных аксиом ZF, т.« е. средствами логики ее нельзя ни доказать, ни опровергнуть с помощью остальных аксиом, даже привлекая аксиому выбора. 4. Аксиома выбора утверждает, что для всякого семейства множеств х существует функция f такая, что если zgx и z=H=0, то / выдает элемент z в качестве значения на z. Функцию f можно назвать выбирающей функцией, она «выбирает» по эле- менту (f'z)ez из каждого множества z, zgt, z=#0. Точная формулировка аксиомы выбора такова« V X 3 f (Fnc (f) Adorn (f) = xД (z^0=5(/‘z)ег)). Истинно ли это утверждение? Особенность этого утверждения такова, что функция f никак не определяется по множеству х — утверждается лишь ее су- ществование. Теоремы, полученные с использованием аксиомы выбора, часто имеют ту же особенность: доказывается сущест- вование множеств, обладающих теми или иными свойствами, и в то же время не указывается никакого индивидуального при- мера такого множества, никакого способа его определения. Ти- пичный пример — доказательство существования неизмеримых множеств. На этом основании многие математики подвергли критике неограниченное использование аксиомы выбора. Тем не менее в практических математических рассуждениях аксиома выбора довольно широко используется. Как показали Гедель и Коэн, аксиома выбора также не зависит от ак- сиом ZF. В следующем параграфе мы еще уточним общую постанов- ку задачи о независимости утверждений от теории. 5. Мы говорим, что множество х имеет мощность, меньшую или равную мощности множества у, если х можно взаимно- однозначно отобразить на подмножество.//. Точнее: Х£У 3/((1 -1) (/') Adorn (f) = xArng(/) <=у). Теорема (Кантор —Шредер —Бернштейн). Если хсУ и t/с х, то х—у. 3* 43
^[> Достаточно показать, что если и то Ь~а. Пусть (1-1) (f), dom(f) = а, rng(f) =а\. Положим а0=а, a2 = f“ab... bo = b, bl=fcibQ, b2 = f“bb„. Определим g(x) =f(x), если x^an\bn для некоторого п. В противном случае g(x)=x. Тогда (1-1) (g), dom(g)=a, rng(g)=6. □ Упражнение. Докажите: -Х£У/\УЕ?:эхс г. 6. Замечание. В практической математике помимо мно- жеств употребляют иногда еще и классы. Рассмотрим произвольную формулу ф(х) языка ZF+, в ко- торой выделена переменная х. Удобно бывает считать, что та- кая формула всегда определяет некоторый объект исследова- ния {х|ф(х)}. Этот объект называется классом всех множества, удовлетворяющих условию ф(х). Для некоторых формул ф(х) специального вида класс {х|ф(х)} оказывается множеством, в общем же случае понятие класса оказывается шире, чем понятие множества. Так, есть класс, не являющийся множеством, собственный класс. Интуитивно говоря, собственные классы — это «очень большие» совокупности неопределенной мощности. Элементы класса всегда суть множества (а не собственные классы). По аналогии с множествами над классами также могут быть опре- делены некоторые теоретико-множественные операции. Напри- мер, если даны классы Х = {х|Ф(х)}, У = {уШу)}> то можно определить класс Х1Я={*1ф (*) \/Ф W). Можно образовать класс V всех множеств, это будет соб- ственный класс, не множество, универсум теории множеств. Семейство множеств образует столь мощную структуру, что в практической математике нет реальной необходимости ис- пользовать собственные классы. Упоминания о классах обычно можно избежать, рассматривая вместо классов условия, их определяющие. Тем не менее исследуются языки и теории, со- держащие классы, такова, например, известная теория Геде- ля—Бернайса—Неймана. § 6. АКСИОМАТИЧЕСКАЯ ТЕОРИЯ МНОЖЕСТВ ЦЕРМЕЛО — ФРЕНКЕЛЯ 1. В первом параграфе мы ввели логико-математический язык наивной теории множеств и начали систематически разви- вать теорию множеств в виде серии утверждений в этом языке. 44
Доказательства утверждений при этом являлись содержатель- ными, «наивными». Мы исходили из представления о некоей структуре Л, объекты которой называются множествами. В этой структуре выполняются простые и естественные законы, относящиеся к множествам. Утверждения мы доказывали, так сказать, путем непосредственного изучения этой воображаемой структуры, а точнее условий-аксиом, на нее налагаемых. Такой подход совершенно естествен для математика-неспециалиста по математической логике. Однако более внимательный анализ показал, что предло- женные аксиомы ведут к противоречиям — парадоксам. Приш- лось признать, что структуры Л, удовлетворяющей предложен- ным законам наивной теории множеств, по-видимому, не су- ществует. Выход из положения мы нашли в том, чтобы рас- смотреть более ограничительную структуру Л§, удовлетворяю- щую уже некоторым более стеснительным и гораздо менее ес- тественным условиям, выражаемым в некотором более сложном языке ZF+. Доказательства утверждений при этом оставались по-прежнему наивными. Возникает вопрос, в какой мере законно рассмотрение структуры Л^ не придут ли наши рассуждения вновь к пара- доксам, не придется ли признать, что и структуры Л§ не су- ществует? А если даже рассмотрение Л§ законно, то верна ли в Ль, например, аксиома выбора? В современной теоретико-мно- жественной математике накоплено большое количество проб- лем, которые упорно н$ поддаются решению обычными теоре- тикО'Множественными средствами, т. е. их не удается ни дока- зать, ни опровергнуть. Происходит ли это просто в силу труд- ности проблемы и недостаточности приложенных усилий, или же рассматриваемую проблему принципиально нельзя ни дока- зать, ни опровергнуть? Решение такого рода проблем упирается в трудность изуче- ния семантики рассматриваемых теорий, т. е. в трудность изу- чения способа понимания формул теории. Семантика богатых математических теорий, таких, как математический анализ, теория множеств и др., по необходимости является недостаточ- но ясной, носит отчасти философский характер. Вместо описа- ния конкретной модели теории в таких случаях часто прихо- дится ограничиваться лишь формулировкой аксиом-семантиче- ских соглашений, которььм должна удовлетворять наша теория. Для изучения богатых математических теорий со сложной се- мантикой с успехом может быть применен метод формализации Гильберта. Метод состоит в том, что на основании семантиче- ских соглашений содержательной теории *3" строится формаль- ная аксиоматическая теория Т. При этом мы стремимся, чтобы аксиомы и правила вывода Т были согласованы с семантиче- скими требованиями . Тогда формулы, выводимые по фор- мальным правилам теории Т, оказываются содержательно ис- тинными с точки зрения теории 3" и отражают, таким обра- 45
зом, по крайней мере некоторый фрагмент содержательной тео- рии . Желательно при этом, конечно, чтобы этот фрагмент был достаточно обширным и охватывал все интересующие нас черты теории 6Г. Формальную теорию Т можно затем подверг- нуть точному математическому исследованию и, таким образом, судить о семантике исходной неформальной теории. Ключевым обстоятельством является здесь то, что для по- нимания отношения формальной выводимости Т нД нет необ- ходимости вникать в, может быть, очень сложную семантику теории 6Г\ для установления Т - А достаточно построить неко- торое дерево вывода, т. е. описать простой синтаксический объект, составленный из строчек символов, расположенных по строго определенным правилам. Отношение Т н А можно опи- сать, как правило, уже в весьма элементарной теории, напри- мер в формальной арифметике Аг, теории, имеющей дело лишь с натуральными числами. Формализация теорий позволяет уточнить наши семантиче- ские проблемы в виде некоторых уже синтаксических утвержде- ний о формальных теориях. Теория Т в языке Q называется непротиворечивой, если не существует предложения (т. е. формулы без параметров в языке Q), такой, что Т |- А и Т нД4. Упражнение. Покажите, что теория Т непротиворечива тог- да и только тогда, когда существует формула языка Q, не вы- водимая в Т. Теория Т называется полной, если для всякого предложения А в языке Q имеем Т |—: А или Т А. Будем говорить, что предложение А совместно с теорией Т, если из непротиворечивости теории Т следует и непротиворечи- вость теории Т-+-А, полученной добавлением к теории Т форму- лы А в качестве новой нелогической аксиомы. Упражнение. Докажите, что А совместно с Т тогда и только тогда, когда из непротиворечивости теории Т следует, что не- верно Т Предложение называется независимыми от теории Г, если оба предложения А и совместны с Т. Упражнение. Докажите, что предложение А независимо от теории Т тогда и только тогда, когда из непротиворечивости теории Т следует, что в Т не выводимо ни предложение А, ни предложение 2. Сформулируем теперь формальную аксиоматическую тео- рию Цермело.—Френкеля. Это теория в языке первого порядка ZF, т. е. в языке без сложных термов. Саму аксиоматическую теорию мы также будем обозначать через ZF. Опишем нелогические аксиомы ZF. Они формулируются па- раллельно семантическим соглашениям § 2, п. 2. Если в фор- мулировке аксиомы ниже присутствуют параметры, то, как обычно, следует считать, что аксиомой является замыкание формулы кванторами общности по всем параметрам. Нелогиче- 46
ская аксиома теории есть всегда предложение, замкнутая фор- мула этой теории. 1) Аксиома объемности (экстенсиональности): х~ y/\XE£zx2i/<=z. 2) Аксиома пустого множества: 3«;г(г-з7п)- 3) Аксиома пары: 3U yz(zew= (z—x\/z = y)). 4) Аксиома суммы: 3« Уг(геи= (3вех) (геи)). 5) Аксиома множества подмножеств (аксиома степени): 3 м V 2 (z<=u= (zsx)) . 6) Аксиома бесконечности: 3м ((/г(ух(х^г)=>ге«) Д (\/геп) (\/о(Ух(хео = (хег\/х=г)) згек))). 7) Аксиома выделения: 3« \/г(ге«= (гехДф(г))), здесь <р(г) — произвольная формула языка ZF, не содержащая свободно переменной и. 8) Аксиома подстановки (аксиомазамены): 3« Уг(геи= (3 хео) (<р(х, z) Д \/и»(ф(х, w) дэг = г£>))), здесь формула ф(х, г) не содержит свободно переменных и ио. 9) Аксиома фундирования (аксиома регулярности): 3 z (z<=x) zd (3 zex)3 3 и (u^.z/\u^.x). Формулировка теории ZF закончена. Аксиомы 2)—8) выражают существование тех множеств, которые непосредственно изображаются термами языка ZF+. Более точно, аксиома 6). говорит, что существует некоторое прогрессивное множество. Существование о> может быть уже за- тем доказано с помощью аксиомы выделения. Нелогические аксиомы ZF выбраны таким образом, чтобы в полученной теории можно было вывести все формулы, содер- жательную истинность которых мы установили в предыдущих параграфах. Точнее, выводить следует, конечно, не сами форму- лы ZF+, а их переводы в язык ZF согласно § 4, п. 4: если в предыдущих параграфах для некоторой формулы ф языка ZF+ мы утверждали лр, то теперь мы можем установить^ •ZF t- ф°. Проведение всех таких выводов является длинным, но
вполне тривиальным упражнением в применении правил техни- ки естественного вывода исчисления предикатов. Мы не будем на этом останавливаться, но надеемся, что читатель приобрел самостоятельно некоторый опыт в формальных выводах. Аксиома фундирования утверждает, что в некотором смысле все множества построены исходя из пустого множества. Она не используется при выводе математических утверждений, не ис- пользовали и мы ее, но она упрощает строение универсума множеств и обычно включается в состав нелогичсских ак- сиом ZF. Следствием аксиомы фундирования является отсутствие «са- мопринадлежащих» множеств, а именно не существует множеств таких, что хех, х<=у/\у$=х, x<=y/\y(=zf\z^x. [> Допустим, например, что существуют множества х и у такие, что х^у и у^х. Рассмотрим множество Q = {x, у}. Q не- пусто и в то же время не существует элемента Q, не пересе- кающегося с Q, что противоречит аксиоме фундирования. О Подобным образом можно установить с помощью аксиомы фундирования, что не существует последовательности мно- жеств, «убывающих по принадлежности», т. е. функции f, domf = co, такой, что /(«+ l)ef(n), для всякого «есо. Следствием аксиомы фундирования является также сле- дующий принцип индукции по принадлежности: У * ( ( У#<=х) <Р (у) =Эф (х)) =>ух<р (х). > Напомним коротко доказательство этой схемы. Допус- тим yx((Vz/ex)cp(//)zD((;(x)) и предположим противное, т. е. что для некоторого х, Рассмотрим функцию f, dom/=<o, такую, что /(0)={х) и /(«+1) =U/(«)- Пусть z=Uf(n). п £(0 Если иег, то uef(rr) для некоторого и, и тогда u^f(n-\-\) и, значит, u^z. Таким образом, ( u^z) (u^z) (это свойство называется транзитивностью множества z). Кроме того, оче- видно, xez, так как xef(O). Пусть z' = {u^z\ Дф(и)}. Мно- жество zr не пусто, так как xez'. По аксиоме фундирования существует x'^z' такое, что x'f|z' = 0. Если t/е/, то т. е. по определению z' имеем у^: z\/q(y). Но первый член этой дизъюнкции не имеет места, так как у^х'Дх7ez, а множество z транзитивно. Таким образом, ср (у)- Мы установили (\/г/ех')ф(//). По допущению отсюда ф(х'). Но, с другой сто- роны, Fez', что влечет ""^(x'), и мы приходим к противоре- чию. □ Часто к теории ZF добавляют еще и аксиому выбора. Точ- нее7 если через АС обозначить точную формулировку аксиомы 46
выбора, приведенную в § 5, п. 4 , то к ZF в качестве новой яелогической аксиомы следует присоединить формулу АС0. По- дученную теорию обозначают через ZFC. 3. Теория ZFC исключительно богата по своим выразитель- ным возможностям. Практически любая доказанная математи- ческая теорема может быть записана на языке ZF и выведена В теории ZFC. В то же время известные выводы парадоксов -теории множеств не проходят в ZFC. В естественном смысле теория ZF содержит все формаль- ные аксиоматические теории, рассмотренные нами в [1]. Уточ- ним этот факт, например, по отношению к формальной ариф- метике Аг. Напомним, что язык Аг содержит один сорт пере- менных для натуральных чисел, константу 0, функциональные символы х + у, х-у, Sx для соответствующих арифметических операций. В качестве атомарных формул используется лишь равенство термов t = r. Изобразим теперь элементы языка Аг в языке ZF+, а затем с помощью стандартного перевода перейдем в язык ZF. Кон- станту 0 языка Аг можно изобразить в виде замкнутого терма 0 языка ZFA Переменные для натуральных чисел языка Аг изображаются в виде подчиненных переменных, подчиненных условию х<=ш. Функциональные символы языка Аг также вы- ражаются соответствующими термами ZF+, например, терму Sx языка Аг соответствует терм xL){x} языка ZF+. Таким образом, всякой замкнутой формуле А языка Аг со- ответствует некоторая замкнутая формула А' языка ZF+, полу- ченная путем замены элементов языка Аг на соответствующие элементы теоретико-множественного языка. Наконец, получен- ную формулу А' можно перевести в язык ZF с помощью пере- вода, указанного в § 4, и. 4. Далее, нетрудно проверить, что если А — замкнутая формула Аг и Аг нА то ZFhA'0. Это доказывается с помощью громоздкой, но вполне тривиальной индукции по построению выводов в теории Аг. Полученный перевод и является естественной интерпрета- цией теории Аг в теории ZF. Это уточнение интуитивно ясной идеи, что теория множеств содержит арифметику. Подобным образом можно построить в теории ZF интерпретации и других рассматривавшихся нами в [1] теорий. Теория ZF содержит в этом смысле все остальные изученные нами теории. Заметим, что понятие интерпретации является чисто синтаксическим: опи- сывается формальное преобразование формул одного языка в формулы другого и доказывается, что это преобразование сох- раняет выводимость. Нет никакой надобности вникать в семан- тику формул языка Аг или языка ZF. Это дает возможность чисто синтаксически доказывать ре- зультаты об относительной непротиворечивости теорий. Так, если непротиворечива теория ZF, то непротиворечива и теория Аг. В самом деле, если Аг противоречива, то найдется предло* жение А такое, что АгнДД^А. Но тогда ZF н А,0АП^,()' 49
так что и теория ZF также оказывается противоречивой. Подоб- ным образом из непротиворечивости ZF следует непротиворе- чивость и других рассматривавшихся нами теорий. С точки зрения оснований математики важно, что такое сведение по непротиворечивости остальных теорий к ZF происходит без обращения к семантике теорий и само может быть формулиро нано в очень скромной теории, например в Аг. 4. Теперь мы можем дать уточненную формулировку неза- висимости аксиомы выбора и континуум-гипотсзы от теории множеств. Теорема. Аксиома выбора (т. е. формула АС0) не зависит от теории ZF. Теорема. Континуум-гипотеза не зависит от теории ZFC. Эти замечательные результаты были получены К. Геделем и П. Коэном. А именно в 1939 году Гедель показал совместимость аксиомы выбора и континуум-гипотезы с теорией ZF, построив замечательную интерпретацию ZFC с континуум-гипотезой в теории ZF, а в 1963 году Коэн показал совместимость отрица- ния аксиомы выбора с ZF и совместимость отрицания конти- нуум-гипотезы с ZFC, также указав некоторые конкретные ин- терпретации. В настоящее время установлена независимость от ZF и от ZFC многих интересных теоретико-множественных ут- верждений. Доказательства этих результатов можно найти в книгах [5, 12, 13]. Обсудим в связи с вышеупомянутыми теоремами еще раз «наивный» вопрос, можно ли, например, считать континуум-ги- потезу Н истинным утверждением и в каком, собственно, смыс- ле? Из вышеупомянутых результатов следует, что если теория ZF непротиворечива, то в ZFC нельзя вывести ни формулу Н, ни формулу ~]Н. Так как теория ZFC содержит все традицион- но употребляемые средства доказательства математических утверждений, то отсюда следует, что Н нельзя ни доказать, ни опровергнуть традиционными математическими средствами. Набор ZFC традиционных математических средств доказатель- ства оказывается существенно неполным. Но может быть можно предложить более мощные теории, в рамках которых вопрос относительно И решался бы уже опре- деленным образом? Ответ тривиален. Конечно, можно. Из вы- шеуказанных результатов следует, что если ZF непротиворечи- ва, то непротиворечива и теория ZFC + //, полученная путем до- бавления к ZFC утверждения И в качестве новой нелогической аксиомы. Непротиворечива также и теория ZFC+~|/f. Проб- лема состоит, таким образом, в том, какую из этих двух теорий предпочесть и на каких основаниях. В настоящее время не видно достаточных оснований для выбора одной из этих теорий в качестве «действительно правильной», и практические мате- матики стараются в своих рассуждениях не использовать ни Н, ни ~]Н. Впрочем, некоторые авторитеты, например П. Коэн .50
г 12, гл. IV, § 13], считают, что более естественно рассматривать ^онтинуум-гипотезу как ложное утверждение. Можно подойти к проблеме и с иной точки зрения. В параг- рафах 2—5 мы рассматривали некую воображаемую структуру Ль объектов, удовлетворяющих аксиомам ZF. Так вот, истинно утверждение Н в Л$ или нет? Заметим, что все, что нам тре- бовалось от Ль — это чтобы в ней выполнялись аксиомы ZF. Ниоткуда не следует, что все такие структуры изоморфны, вполне возможно, что в одной модели ZFC будет истинно Я, а в Другой — будет истинно утверждение Именно так дело и обстоит. Если ZF непротиворечива, то непротиворечива и каждая из теорий ZFC-f-// и ZFC4- ~\Н. По известной теореме Геделя о полноте каждая из этих теорий имеет модель и любую из этих двух моделей можно взять в качестве структуры Л^ С точки зрения оснований математики полезно отметить, что само доказательство теоремы Геделя о полноте в рассматривае- мом случае не требует мощных теоретико-множественных идей, заложенных в аксиомах ZF, оно может быть естественно фор- мализовано, например, в рамках арифметики второго порядка Аг2 (см. [3]). 5. Обсудим еще один вопрос, связанный с теорией ZF и час- то вызывающий недоразумения. Из теоремы Геделя о полноте следует, в частности, что если теория ZF непротиворечива, то она допускает счетную модель М, Как согласовать это обс- тоятельство с тем очевидным фактом, что в ZF выводимо су- ществование несчетных множеств (например, таковым является множество Рсо)? Модель М теории ZF имеет вид (X, е), где X — непустое множество объектов модели и е — отношение, е^ХхХ, кото- рое интерпретирует принадлежность е на множестве X. При этом все аксиомы ZF истинны в этой интерпретации. Формула jx(x = Po)) истинна в Л4, и поэтому найдется объект а^Х такой, что М{=(а = Р<о). (Здесь и ниже мы пишем для краткости формулы ZF+, а не ZF. Имеется в виду, конечно, что их следует перевести в язык ZF с помощью стандартного перевода § 4, п. 4.) Формула, утверждающая, что х счетно, имеет вид Count(x).^3f(( 1-1) (f) Adornf=xArngf=(o). В ZF выводимо, что Рьу — несчетное множество, и, значит, этот факт истинен в Mt т. е. Alk=~|Count(a). По определению истинности в структуре последнее означает, что не существует объекта Ь^Х такого, что М|=(1-1) (6)Adom& = aA rngb = o>, т. е. среди элементов X не существует объекта b такого, что в М было бы истинно, что Ь есть взаимно-однозначная 51
функция с областью определения а и областью значений со. Какой природы само а, при этом совсем не важно, например, а может быть с внешней точки зрения счетным множеством, так что существует биекция а на со. Просто среди элементов X не- обходимой биекции с точки зрения модели М не существует. Истинность утверждений зависит от того, в какой модели эти утверждения рассматриваются. Один и тот же объект, будучи элементом различных моделей, в этих моделях может обладать различными свойствами. Указанное явление обычно называется парадоксом Сколе- ма. Следует иметь в виду, конечно, что никакого парадокса в собственном смысле этого слова здесь нет. Имеется, может быть, лишь некоторая путаница понятий, сбивающая неспециа- листа. Подобное недоразумение часто связано и с категоричностью некоторых структур, например натурального ряда. В ZF можно доказать с помощью хорошо известных из тео- рии чисел рассуждений, что все структуры Пеано, т. е. струк- туры вида (со*, О*, S*), где со* — множество, О*^со* и S* — операция S* : удовлетворяющие аксиомам Пеано (см. § 4, п. 1), изоморфны, т. е. структуры Пеано изображают один- единственный натуральный ряд с точностью до изоморфизма. В этом и состоит свойство категоричности натурального ряда. Тем не менее в различных моделях могут быть и неизоморфные натуральные ряды! Рассмотрим две модели тео- рии ZF:Mi= (Xi, 81) и Л42= (Х2, 82). Имеем ZF 3х(х=со), так что существуют объекты и о)2^^2 такие, что Afi[=coi = o) и Л12|==(о2 = со. Можно рассмотреть и «множество на- туральных чисел» в каждой из моделей: Я81СО1}, N2 = {а^Х21 М2|=а€2(о2}. В каждой из моделей Mi имеется свой объект 0; и своя опе- рация Si прибавления единицы. Но структура ( Ni, 0i, S<) совсем не обязана удовлетворять аксиомам Пеано с внешней точки зрения. Необходимо только, чтобы в модели Mi были истинны соответствующие формулы. Структуры { Nit 0i, Si} могут быть вовсе не изоморфны содержательно понимаемому натуральному ряду и не изоморфны между собой. Структура, относительно которой в модели истинно, что она есть структура Пеано, может и не быть структурой Пеано с внешней точки зрения. Мы увидим далее, что если теория ZF непротиворечи- ва, то она действительно имеет модели с неизоморфными нату- ральными рядами. 6. В параграфах 2—4 мы рассматривали принципы ZF как содержательно истинные, имеющие место в некоторой структу- ре Jfo, и пытались показать, что основные математические по- нятия можно выразить в языке ZF, а многие математические 52
утверждения имеют место в Средства доказательства при этом никак не уточнялись. Затем мы определили формальную аксиоматическую теорию ZF, в которой имеется возможность получить наши предыду- щие результаты в форме точных выводов. Для построения вы- водов в теории ZF нет необходимости вникать в семантику языка ZF, но для изучения самой теории ZF, например для по- лучения результатов о независимости, также нужна, конечно, некоторая математика. Эта математика вновь будет использо- ваться содержательным, неформализованным образом. По отно- шению к изучаемой теории ее называют метаматематикой. В принципе исследователь может заинтересоваться и метамате- матикой теории и также попытаться ее формализовать. Какова же должна быть метаматематика теории? С точки зрения оснований математики есть стремление сделать мета- математику как можно более бедной, с тем чтобы рассуждения в ней были максимально простыми и убедительными. В такой ситуации можно сказать, что результаты, относящиеся к очень сложной теории, получены с помощью очень убедительных приемов доказательства. Так, результаты, касающиеся незави- симости аксиомы выбора и континуум-гипотезы, могут быть естественно формализованы в рамках арифметики Аг так, что в этих доказательствах вовсе не будет фигурировать понятие множества. Многие другие результаты математической ло- гики могут быть получены при ограниченном использовании теории множеств, например в рамках арифметики второго порядка. С другой стороны, за пределами оснований математики ма- тематическую логику можно развивать как обычную математи- ческую дисциплину, подобную топологии или теории функций В такой ситуации нет оснований как-то специально ограничи- вать метаматематику. Можно, например, в качестве метамате- матики взять саму теорию ZF. Так и поступают во многих ис- следованиях по теории моделей, нестандартному анализу и т.п. В этом-смысле теория ZF выступает в роли «всеобщего мира множеств» для всех математиков. Следует подчеркнуть, что теория ZF отнюдь не является единственно возможной подходящей базой для развития мате- матики на точной основе. Ее широкое использование объясня- ется значительными формальными удобствами, а также отчасти исторической традицией. В настоящее время в логике разра- ботаны очень интересные и многообещающие подходы к раз- витию математических теорий, не опирающиеся на понятие мно- жества. Одним из них является конструктивное направление в математике, широко разрабатываемое в нашей стране. Кроме того, имеются и другие теоретико-множественные системы, мо- гущие с успехом конкурировать с теорией ZF. Среди них преж- де всего можно назвать теорию типов Рассела и Уайтхеда, а также теорию множеств Куайна. 53
Согласно известной теореме Геделя, непротиворечивость ZF не может быть установлена средствами ZF, т. е. практически не может быть установлена традиционными математическими средствами. Поэтому, если мы желаем исследовать непротиво- речивость таких мощных теорий, приходится находить матема- тические средства, с одной стороны, достаточно убедительные в том или ином отношении, а с другой стороны, выходящие за пределы традиционной математической практики. Подробное обсуждение многих из затронутых здесь вопро- сов читатель может найти в книге [11]. 7. Сделаем еще несколько замечаний относительно аксиома- тического метода в математической логике. Термин «аксиомати- ческий метод» используется в различных смыслах, что иногда ведет к недоразумениям. Прежде всего это содержательно-аксиоматический метод. Он употребляется, когда изучается род структур, удовлетворя- ющих одному и тому же списку свойств. Например, один род структур составляют группы, другой род структур — кольца, третий род структур — структуры Пеано и т. п. Под аксиомами при этом понимаются просто конкретные условия, которым должна удовлетворять любая из структур изучаемого рода. Эти условия понимаются содержательно и записываются на рабочем математическом языке, например на русском или анг- лийском. Впрочем, часто аксиомы какого-либо рода структур записывают и на точном логико-математическом языке, но по- нимают содержательно как утверждения о структурах; для одних структур эти аксиомы могут быть истинны, а для дру- гих — ложны. Как понимать эти аксиомы, зависит от принятой метамате- матики. Особенно это существенно в тех случаях, когда в фор- мулировках аксиом, кроме объектов структуры, фигурируют и другие объекты, например множества. Это так называемые не- элементарные аксиомы. Так, среди аксиом для структуры Пеано> (со, О, S) имеется и такая: для всякого подмножества х^со выполняется принцип полной математической индукции ОсехД (V У^х) (Sy^x) (Ууе=со) (уе=х). Чтобы понимать это утверждение, следует понимать, что такое подмножество данного множества и по каким правилам сле- дует с этими подмножествами обращаться. Если мы в качестве метаматематики принимаем содержательно понимаемые прин- ципы ZF( так это и делается в практической математике), то понимание этой аксиомы в достаточной степени проясняется, можно получать содержательные следствия из нее, например доказать, что все структуры Пеано изоморфны. Можно пред- ставлять себе ситуацию и так, что мы фиксировали некоторую воображаемую структуру согласованную с принципами ZF. Только из Jto мы и черпаем все объекты математического ис- 54
следования. После этого можно доказать, что все структуры Пеано в изоморфны между собой. Несколько иной подход возникает при изучении теорий фор- мально аксиоматическим методом. Основные факты об изучае- мых структурах мы оформляем в виде формальной аксиомати- ческой теории Т. Новые факты о теории Т извлекаются (по крайней мере, в принципе) с помощью аппарата формальной выводимости. Для их получения первоначальная семантика Т не имеет никакого значения, и нет необходимости привлекать модели теории Т. Более того, среди моделей формальной аксио- матической теории Т могут оказаться и такие, которые мы не включали в число подразумеваемых моделей. Так, если теория ZF непротиворечива, то среди ее моделей имеется и счетная модель. Под аксиомами теории Т теперь понимаются просто ее нело- гические аксиомы, т. е. формулы специального вида, смысл этих аксиом в принципе не важен при формулировке самой тео- рии Т. Но, конечно, если мы стремимся выводить в Т нетриви- альные факты, следует снабдить Т достаточно богатым спис- ком аксиом. Так, если мы изучаем структуры Пеано, записывая принцип индукции на языке ZF, следует добавить в теорию и аксиомы, описывающие свойства множеств.
ГЛАВА II ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИФМОВ 1. МАШИНЫ ТЬЮРИНГА 1. Известно, какое большое значение в математике имеют алгорифмы. Коротко говоря, алгорифм есть точное предписа- ние, в соответствии с которым по любому входному объекту из данного класса входных объектов можно эффективно полу- чать выходные объекты. Например, алгорифм умножения деся- тичных рациональных чисел «столбиком» позволяет по двум десятичным записям получить некоторую третью согласно хо- рошо известному предписанию. Алгорифмами являются схема Горнера для вычисления значений многочлена, алгорифм Евклида для отыскания наибольшей общей меры двух отрез- ков, алгорифм перемножения двух квадратных матриц и мно- гие другие. Чтобы подвергнуть понятие алгорифма точному анализу, следует несколько сузить тот класс алгорифмов, которые мы намерены рассматривать. Прежде всего мы предполагаем, что наши алгорифмы представляют собой дискретные предписания, подобные программам для вычислительных машин, а не подоб- ные аналоговым или графическим вычислительным устрой- ствам. Предписание должно содержать указания к выполнению конечного числа элементарных, четко различимых шагов. По- этому и входные данные изучаемых алгорифмов должны пред- ставлять собой дискретные, конструктивные объекты, такие как натуральные числа, рациональные числа, целочисленные матрицы и т. п. Входными данными не могут быть, например, произвольные отрезки прямой или произвольные действитель- ные числа, так как их, в общем случае, нельзя задавать конеч- ным образом. Заметим, что в математике заметную роль играют и точные предписания, перерабатывающие неконструктивные объекты. Такого рода алгорифмы также изучаются в математической логике, но для первоначального изучения мы ограничимся са- мым важным классом чисто дискретных устройств. Таким об- разом, алгорифм умножения десятичных рациональных чисел, схема Горнера для многочленов с рациональными коэффициен- тами, алгорифм перемножения квадратных матриц с натураль- ными элементами суть алгорифмы нашего класса, а алгорифм отыскания наибольшей общей меры двух произвольных отрез- ков остается пока вне нашего рассмотрения. 56
Понятие конструктивного объекта все еще очень расплыв- чато, но разумно предположить, что интересующие нас кон- структивные объекты можно эффективно кодировать в виде слов в некотором алфавите. Таким образом, можно считать, что с каждым алгорифмом А связан некоторой алфавит 2 — внеш- ний алфавит А, и наш алгорифм получает на вход слова в ал- фавите 2 и вырабатывает в качестве результатов также слова в алфавите S. Мы будем изучать только такие словарные ал- горифмы. Алгорифм является единой инструкцией, на вход которой ^можно подавать любое из, вообще говоря, бесконечного списка входных слов. В этом состоит свойство массовости алгорифма. Удобно считать, что на вход алгорифму А можно подать любое слово во внешнем алфавите 2. Получив входное слово, следует Применять к нему предписание алгорифма А шаг за шагом. При этом шаги предписания могут обрываться и мы получим выходное слово как результат работы алгорифма, а может слу- читься, что предписание ведет к бесконечной последователь- ности элементарных действий, и тогда алгорифм А не опреде- лен на данном входном слове. Далее, мы считаем, что изучаемые алгорифмы обладают свойством детерминированности: каждый элементарный шаг однозначно определяется предыдущей ситуацией. В наш алго- рифм не встроены случайные или вероятностные механизмы. В частности, если дважды проделать вычисления алгорифма Над одним и тем же входом, то результаты также будут оди- наковы. Наконец, наши алгорифмы должны обладать свойством замкнутости, т. е. выполнение вычислений определяется только предписанием, и для вычисления не требуется привлекать, кро- ме входного слова, каких-либо процессов или вычисляющих устройств извне. Можно предположить, что все действия, которые может про- изводить любой алгорифм указанного типа, можно разложить на некоторые канонические элементарные шаги. Такой анализ привел Тьюринга (в 1936 году) к понятию вычислительных машин, названных впоследствии его именем. 2. Перейдем к точным определениям. Напомним, что алфа- вит есть по определению непустое конечное множество симво- лов, элементы алфавита называются его буквами. Слово в ал- фавите S есть конечная последовательность (может быть и пустая) его букв. Слово в алфавите S имеет, следовательно, вид — Множество всех слов в алфавите S обозначим через 2*. Основная операция на словах — операция приписывания слова к слову: если дано слово А, имеющее вид aoai... ап, и слово В вида bQbx..,bm, то можно образовать новое слово АВ вида uqUi ... anb0...bmi полученное приписыванием (в другой терминологии — соединением, конкатенацией) слов А и В. 4 А. Н Колмогоров, А. Г. Драгалин 57
Пустое слово обозначается через Л. Конечно, АЛ=ЛА=А. Фиксируем два алфавита S и 5. S назовем внешним алфа- витом, а 5 — назовем внутренним алфавитом, или алфавитом состояний. Предположим, что символы R, L не входят ни в 5, ни в 5. Командой назовем слово одного из следующих трех видов: qa-^rb qa-^rbR qa-^rbL (где q, r^S\ a, b^£). Команды, подобно формулам языка, можно читать по-русски. Команда первого вида читается так: «находясь в состоянии q и наблюдая букву а, следует перейти в состояние г и напечатать букву 6». Команда второго вида: «находясь в состоянии q и наблюдая букву Ь, следует перейти в состояние г, напечатать букву b и затем передвинуться впра- во». Команда третьего вида читается так же, как и команда второго вида, но следует только в конце читать «...и затем пе- редвинуться влево». Список команд или программа (в алфавитах 5, S) есть по определению конечная последовательность команд. Пусть теперь фиксированы алфавиты S, 5, а также две буквы q0, qi^S и одна буква а0Е1'Мы называем qQ — началь- ным состоянием, q{ — финальным или заключительным состоя- нием, а букву а0 мы назовем бланком (пустой клеткой). Алфавит 5x5 мы назовем алфавитом наблюдаемых букв: про букву (q, а )&SxS мы говорим, что а наблюдается в сос- тоянии q. Конфигурацией на ленте (или машинным словом) называ- ется слово в алфавите SU(SXS), содержащее в точности одно вхождение наблюдаемой буквы. Таким образом, конфигурация всегда имеет вид A {q, а) В, где А, Ве5* и буква а наблюда- ется в состоянии q. Конфигурация называется начальной, если она имеет вид а) В. Здесь qG — начальное состояние, а слово А в данном случае пусто. Конфигурация называется финальной (или зак- лючительной), если она имеет вид A(q\, а) В, т. е. наблюдае- мая буква наблюдается в заключительном состоянии. Пусть теперь К\ и К2 — конфигурации и k — команда. Оп- ределим, что значит, что команда k переводит конфигурацию К} в /С2; символически мы записываем это отношение как k.Ki\>K2. А именно пусть К\ имеет вид A(q, а ’)В. Если левая часть ко- манды k не имеет вида qa, то k\K\ |>К2 автоматически счита- ется ложным (команда k неприменима к конфигурации Ki). Пусть левая часть команды k имеет вид qa. Далее разберем три случая в зависимости от строения команды k. 58
1) k есть qa-^rb. В этом случае k:K\l> Kz^Kz имеет вид A (rf Ь}В. 2) k есть qa-^rbR. Здесь рассмотрим два случая: 2а) слово В не пусто, В = сВ', тогда R2<=>R2 есть Ab (г, с)В'\ 2Ь) слово В пусто, тогда k\K\ \>Kz^Rz есть Ab {г, а0); 3) k есть qa^rbL. Здесь также рассмотрим два подслучая: За) слово А не пусто, А=А'с, тогда k:Ri [> K2<=>-Kz есть А' {г, с)ЬВ\ ЗЬ) слово А пусто, тогда [>есть (г, а^ЬВ. Легко видеть, что если /Г.К1Ж2, то конфигурация К2 опре- деляется однозначно по команде k и конфигурации Ль Можно представлять себе, что конфигурация есть слово, за- писанное на некоторой ленте, разделенной на клеточки, в каж- дой клеточке записано по букве алфавита S. Над одной из букв Записано еще состояние, эта буква наблюдается машиной. Перевести Ki в К2 командой k — это значит «выполнить» команду й, проделать то, что «она требует». После выполнения команды наблюдаемой может стать уже иная буква левее или кривее исходной. При этом, если приходится выходить за пре- делы ленты влево и вправо, то выполнение команды автома- тически предусматривает добавление новой клеточки, на кото- рой считается напечатанной буква aQ — «пустая клеточка», «бланк». Машина Тьюринга есть по определению набор М= (S, S, П, ^0, а0), S — внешний алфавит, S — внутренний алфавит, П — программа машины, qG — начальное состояние, 91 — заключительное состояние, а0 — бланк. Команда программы П машины М обычно записывают вер- тикально, нумеруя сверху вниз. Мы говорим, что машина М переводит конфигурацию Ki в Кг, и пишем М\Кх\>К2у если 1) существует команда ki программы машины М такая, что [> Кг и 2) для всех j<i не существует конфигурации Кз такой, что ^/•Ki [> к3. 4* 59
Таким образом, если М|> К2, то конфигурация Л2 опре- деляется однозначно по Л1 и К}. Конечно, вполне может ока- заться, что некоторая конфигурация К\ не переводится маши- ной М ни в какую конфигурацию К2. Протокол вычислений машины Тьюринга М есть (конечная или бесконечная) последовательность конфигураций Ло, Лу- така я, что 1) Ло — начальная конфигурация; 2) М:КН>Км; 3) если конфигурация Kt входит в протокол и M:Ki Жги> причем К не заключительная конфигурация, то Ki+\ также входит в протокол вычислений (т. е. протокол не оканчивается конфигурацией Кг, если вычисления можно продолжить даль- ше) ; 4) протокол вычислений может содержать не более одной заключительной конфигурации, и если протокол действительно содержит заключительную конфигурацию, то этот протокол конечен и заключительная конфигурация есть последний его член. Мы пишем М LKo^ = Кп, если Ко — начальная конфигурация* Кп — заключительная конфигурация и существует протокол вычислений машины М, начинающийся с Ко и оканчивающийся Кп. Для данных М и Ко протокол вычислений, если он сущест- вует, может быть только один, так что результат вычислений Кп, если он существует, определен однозначно. Мы говорим* что М определена на Ко, если соответствующая заключительная конфигурация Кп существует. Машина может быть не определена на начальной конфигу- рации Ко по двум причинам: либо потому, что в процессе по- строения протокола вычислений мы придем к конфигурации* к которой не применима ни одна команда машины, либо по- тому, что протокол вычислений бесконечен и нс приводит к заключительной конфигурации. Разумеется, по данной машине М и конфигурации Ло отнюдь не видно сразу, будет ли М оп- ределена на Ко, и если нет, то какой из вышеупомянутых слу- чаев будет иметь место. Если дано слово AeS*, то по нему можно стандартным об- разом изготовить некоторую начальную конфигурацию А0 для машины AI, как говорят, подать слово А на вход машины Л4. А именно если А не пусто, А = аА', то следует взять А° = = (д0, а) А'. Если же А пусто, то А° = {qo,^o}. Коротко говоря, следует «заставить» машину наблюдать первую букву А в на- чальном состоянии. Если же в А вовсе нет букв, то, конечно, се следует заставить наблюдать пустую клеточку машины. С другой стороны, по любой конфигурации К машины мы можем изготовить некоторое слово Мы говорим, что слово К1 записано на ленте в конфигурации К. А именно над- лежит поступить следующим образом: 60
1) следует, во-первых, убрать состояние из наблюдаемой буквы, т. е. заменить наблюдаемую букву (q, а) в конфигура- ции К на обычную букву а, так что получится некоторое слово А в алфавите 2; 2) затем следует в слове А стереть все пустые клетки, иду- щие подряд, слева и справа, т. е. если A = BCD, где В и D со- ставлены только из буквы а0, а слово С не начинается и не кончается буквой aQ, то следует оставить в качестве Л? сло- во С. ЛАожет оказаться, что Л1 есть пустое слово (если в К фигу- рировала лишь буква «о из 2). 3. Таким образом, машина Тьюринга М с внешним алфави- том 2 порождает функцию, перерабатывающую некоторые сло- ва в алфавите 2 в слова же в алфавите 2. А именно для А, В^£*, М(А)^В<=> существуют конфигурации Ао и Кп такие, что MLK()_l = Kn и (7(о)о = А, (Кп)1 = В. Коротко говоря, если на вход подать слово А, то соответствующий протокол вы- числений заканчивается и на ленте оказывается записанным слово В. Заметим, что функция М может быть определена отнюдь не на всех словах в алфавите 2. Мы говорим, что машина М оп- ределена на слове А, и пишем !М(А), если М определена на начальной конфигурации А0. Машины Тьюринга можно представлять себе как опреде- ленный тип вычислительных машин, обрабатывающих слова в алфавитах и имитирующих действие реальных вычислитель- ных машин или действия человека-вычислителя. Машина рабо- тает на ленте, разделенной на клеточки—ячейки. В каждый мо- мент времени рассматривается лишь конечный кусок этой лен- ты, но по мере надобности лента продолжается неограниченно в обе стороны. Машина может печатать на ленте некоторые буквы алфави- та и обозревать в каждый момент только одну клеточку лен- ты. Ее действия происходят шагами, однозначным образом оп- ределяемыми ее состоянием в данный момент, содержимым обозреваемой ячейки и программой машины. Машина останав- ливается, когда приходит в заключительное состояние. Может оказаться, что она, стартуя с некоторого слова, никогда не ос- тановится. 4. Определим теперь, что значит, что функция вычислима с помощью машины Тьюринга. Напомним некоторые обозначения. Если ХЬ...,ХА суть мно- жества, то через ... ХХ& мы обозначаем их декартово про- изведение, т. е. множество всех упорядоченных наборов (хь где ...,xk^Xk. Если X и Y — множества, то через X-+Y мы обозначим множество всех функций с областью определения X, принимающих значения в множестве У. Вместо /е(Х->У) традиционно пишем /:Х->У. Функция от k аргумен- тов есть функция вида fiX^X ... ХХ*->У, так что /((%],..., 61
x^jeK Обозначение f((xi,.,.,x*)), по традиции, сокращаем ДО f (Х\, ..., Xk). Через X—обозначим теперь множество всех частичных функций из X в Y, т. е. f'.X-^Y^- область определения f вклю- чена в X (и не обязательно совпадает со всем множеством X) и значения f принимаются из множества Y. В частности, функ- ция f:X\ X ... xXk-+Y от k аргументов можрт быть и не опре- делена для некоторых наборов (хь ..., х*). Множеству Xi X ... XXk-*-Y принадлежит, в частности, и нигде не опреде- ленная функция. Нас специально интересуют функции, перебатывающие сло- ва. Если А — алфавит, то через А* мы обозначаем множество всех слов в алфавите А. Пусть А],..., А*, А суть алфавиты. Ма- шины Тьюринга можно приспособить для вычисления функций вида Ai*X ... ХА/г*->А*. С этой целью фиксируем некоторую новую букву q, не входящую, в рассматриваемые алфавиты, и будем изображать наборы слов из Л i*X ... ХА** в виде слов в алфавите Aij ... IJA^UW- Например, упорядоченную тройку (xt, х2, Хз) , где изобразим в виде одного слова xi?x2gx3. Пусть / :А|*Х ... ХА**->-А* есть (вообще говоря, частичная) функция от k аргументов. Будем говорить, что машина Тью- ринга М=(2, S, П, ?о, <71, ао) вычисляет f, если 1) AUAiU-UAfeUMsS; 2) для всяких xb...,xA, х/еА;*, набор (xb...,xft) принадле- жит области определения функции /-«=>• !M(xi<?... qxk) и M(x{q... (?xft)eA*; 3) для всяких Xi,..., хь, x<eAi*, если !М (xiq... qxk) и M (xiq... qxk) еД*, то f (хь ..., хк) = М (x{q... qxk); 4) для удобства потребуем еще, чтобы бланк а0 машины М был отличен от всех букв алфавита AiU ••• UA^UAUM- Подчеркнем, что внешний алфавит машины М, вычисляю- щей функцию f, может быть существенно шире алфавита AUAiU U'AfeU{<7}- Как говорят, машина М — над алфавитом AUA1U ••• UA/fUM- Мы требуем лишь, чтобы М вела себя «как функция /» лишь на входах X\q ... qxk. Буквы внешнего алфа- вита 2, не входящие в AU-UAaUM, могут использоваться при обработке слов вида X\q... qxk, но только в промежуточных кон- фигурациях протокола вычислений. Функция f: Ai*X ...X A**-> —►А* называется вычислимой (по Тьюрингу), если существует машина Тьюринга, вычисляющая [. 5. Рассмотрим теперь функции от натуральных чцсел f :о)Х ... Хсо-хд. Для таких функций также естественно вводит- 62
ся понятие вычислимости. Будем изображать натуральные чис- ла в виде слов в алфавите {|}: О 1 2 3 4 5 ... 0 Т II III Illi Hill ... Иногда, чтобы отличать так изображаемые натуральные числа qt «обычных» теоретйко-множественно понимаемых натураль- ных чисел (например, по фон Нейману), слова из палочек на- зываются нумералами соответствующих натуральных чисел. Нумерал числа п обозначают через п, например 3= ||| Тогда каждая функция на натуральных числах, скажем, f :wXw-hi), естественно изображается некоторой функцией |:{|}*Х{|}*->-{|}* на словах из палочек т2) т2) =т3. Числовая функция называется вычислимой по Тьюрингу, если вычислима по Тьюрингу соответствующая функция на словах из палочек. Функции f: <оХ ... X вычислимые по Тьюрингу, назы- ваются еще частично-рекурсивными функциями (термин «час- тично» напоминает о том, что f не обязательно определена на всем множестве <оХ ... X®). Если же частично-рекурсивная функция / от ^-аргументов определена на всех наборах нату- ральных чисел {пц....Пк), т. е. f: йХ ... Х<о->ю, то она назы- вается общерекурсивной или даже просто рекурсивной функ- цией. Коротко говоря, частично-рекурсивная функция — это функция, для которой существует вычисляющий ее алгорифм, заданный в виде машины Тьюринга. Для общерекурсивной функции этот алгорифм для любых входных натуральных чи- сел обязательно заканчивает свою работу и выдает значение функции. Можно показать, что все обычные функции теории чисел типа х + у, ху, ху, [fx] и т. п. являются рекурсивными, не всю- ду определенные функции, например х/у, х—у [1g(х—у)] яв- ляются частично-рекурсивными. Следующая машина М вычис- ляет функцию f(m, п)=т + 2п. Внешний алфавит М есть {|, у, а0}, где ао — бланк. Внутренний алфавит {у0, Уь Уг, Уз, У4, Уб), где уо — начальное, a yi — финальное состояние. Программа машины имеет вид: Е Уо|-*У2| 2. у0у->У2У 3. У2|“>У2|Я 4. q2q->-q2qR 5. у2ао->УзаоЕ 6. Уз | 7. у4|-*у4|Е
8. q^q-^qL 9. 74^o->^5 IL 10. 675«O“>?2 I 11.737->a07i Протокол вычислений можно кратко описать следующим об- разом. Пусть начальная конфигурация имеет вид (?о|) |||?Н- Под действием команд 1, 2 машина переходит в состояние 72: (721) I I Ml и затем под действием 3 и 4 движется вправо до появления пустой клеточки справа ||!| q\\ {q2, По). После этого машина двигается влево и переходит в состояние q^: (команда 5). Затем Машина стирает обозреваемую палочку, переходит в состояние 74 и в этом состоянии движет- ся влево до появления пустой клеточки слева (команды 6, 7, 8): <74, ао ) 111171. Под действием команд 9 и 10 машина печатает слева две палочки и переходит вновь в состояние 72: < 721) 111117|- Далее вновь начинают работать команды 3 и 4 и цикл повторяется, машина идет в конец слова, стирает после q одну палочку, идет влево и печатает слева две палочки и т. д., пока правее вовсе не останется палочек. Тогда возникнет конфигурация 111 [ 1111 (7з> .7). Команда 11 сотрет 7, и машина остановится в заключительной конфигурации ИНН II <9ь ао>. Упражнение. Постройте машину Тьюринга, вычисляющую функцию f(m, п) =ГП‘П. § 2. ТЕЗИС ЧЕРЧА 1. Кажется очевидным, что всякая функция на словах /:£*->£*, вычислимая по Тьюрингу, эффективно вычислима. В самом деле, алгорифм для вычисления такой функции и за- дается собственно машиной Тьюринга, о которой идет речь в определении вычислимости. В 1936 году Черч выдвинул тезис о том, что всякая эффек- тивно вычислимая функция является вычислимой по Тьюрингу. Точнее говоря, Черч использовал не понятие вычислимости по Тьюрингу, а некоторое иное точное понятие вычислимости (по- нятие лямбда-определимости), математически эквивалентное нашему определению вычислимости. В свете анализа, прове- денного в начале предыдущего параграфа, тезис Черча можно сформулировать и так: всякий словарный, дискретный, массо- вый, детерминированный, замкнутый алгориф1М может быть задан в виде машины Тьюринга. Коротко говоря, машины Тьюринга могут имитировать лю- бой алгорифм указанного типа. Сразу отметим, что тезис Черча не является математическим утверждением, так как в его формулировку входит понятие алгорифма в интуитивном смысле этого слова. Тезис Черча нельзя поэтому доказать или опровергнуть в ,рамках традици- онной математической практики. Это не математический ре- 64
зультат, а скорее естественнонаучное наблюдение. В пользу тезиса Черча можно привести, однако, сильные доводы есте- ственно-научного характера. Во-первых, за многие столетия развития в математике нако- пилось огромное количество алгорифмов. Все они оказались вычислимыми по Тьюрингу. Этот экспериментальный материал должен убедить нас в справедливости тезиса Чер'ча не меньше, чем, например, соответствующие эксперименты убеждают фи- зиков в законс-сохранения энергии. Во-вторых, почти одновременно с понятием вычислимости по Тьюрингу были предложены и другие подходы к понятию вычислимости, внешне сильно отличающиеся друг от друга. Все они оказались эквивалентными. Упомянем важнейшие из этих подходов: исчисление равенств Эрбрана и Геделя, частично-рекурсивные функции по Клини, лямбда-определимость Черча, канонические системы Поста, нормальные алгорифмы Маркова, алгорифмы Колмогорова—Успенского. В-третьих, эффективно вычислимые функции с интуитивной точки зрения должны быть замкнуты относительно некоторых важных операций: композиции, разветвления, итерации и т. д. Оказывается, что семейство по Тьюрингу функций, как и ожи- дается, замкнуто относительно этих операций. Наконец, отметим, что тезис Черча не нужен с чисто мате- матической точки зрения и, собственно, в математических ут- верждениях никогда не применяется. Там, где нужна вычисли- мость в математическом рассуждении, мы всегда можем ис- пользовать вычислимость по Тьюрингу. Тезис Черча важен для приложений математики в естество- знании. Он объясняет ту большую роль, которую играет поня- тие алгорифма в точной форме (т. е., например, в форме вы- числимости по Тьюрингу) в современной математике. Например, иногда удается точно доказать, что некоторая конкретная функция не вычислима по Тьюрингу. Тезис Черча указывает, что бесполезно было бы фактически искать алгорифм (в интуитивном смысле этого слова), вычис- ляющий f. Функция / и интуитивно будет невычислимой. Таким образом, открывается ценная возможность точными математическими средствами обнаружить невычислимость не- которых функций. §3 . РЕКУРСИВНЫЕ И РЕКУРСИВНО-ПЕРЕЧИСЛИМЫЕ МНОЖЕСТВА И ПРЕДИКАТЫ 1. В предыдущем параграфе мы дали определение вычисли- мой функции. Теперь попытаемся определить, что понимать под вычислимым предикатом. При этом следует рассматри- 65
вать, конечно, словарные предикаты Р(хь где X/ суть слова в некотором алфавите, например, Х] пробегает слова в алфавите Дь х2 — слова в алфавите Д2 и т. д. Про такой пре- дикат Р мы говорим, что он типа Ai*X ... ХДаЛ указывая об- ласть пробегания каждого аргументного места. Словарному предикату Р можно сопоставить некоторую функцию : Д1*Х ... X Afe*->{0, 1}, так называемую характери- стическую функцию предиката, такую, что для всех наборов (хь...,х0, где Х/^ДЛ: P(xi, ..., xk) истинно <=>- Хр(хь Х/е) = 1. С другой стороны, словарному предикату можно сопоставить множество-отноше- ние данного предиката, а именно множество XP^At*x ... ХА** такое, что P(xb ..., xk} истинно -<=>(xi, ...,Xfe) (=ХР. Напротив, если задано множество слов X^S*, то можно рассмотреть предикат принадлежности этого множества: для всякого слова xeS* Р(х) истинно х принадлежит X. Чаще всего рассматривают словарные предикаты, для которых алфавиты Ai,...,Afe совпадают. Например, предикаты, опреде- ленные на натуральных числах (арифметические предикаты), можно трактовать как словарные предикаты, определенные на нумералах, т. е. словах в алфавите {|}. 2. Наше первое определение вычислимости таково: предикат Р типа ДЛх ... ХАЛ рекурсивен (или разрешим), если вычис- лима по Тьюрингу соответствующая характеристическая функ- ция хр. Интуитивно предикат Р рекурсивен, если существует алго- рифм, выясняющий для каждого набора (xi,...,x*) слов, ис- тинно Р(хь ...,х*) или нет. Повторим еще раз определение рекурсивного предиката не- посредственно в терминах машин Тьюринга. Предикат Р типа Д1*Х ... XAfe* называется рекурсивным (или разрешимым), если существует машина Тьюринга М= (S, S, П, <7о, <7ь Ио) такая, что 1) AilKUA*U{0, (здесь, как и раньше, q — новая буква, которая служит для записи наборов слов); 2) для всяких Х1,...,хл (х/^Д/*) определено значение М (Х19... qxk), и это значение равно 0 или 1; 3) Р(хь ...,х&) истинно тогда и только тогда, когда M(x{q ... qxk) = 1. Множество X^S* назовем рекурсивным, если рекурсивен соответствующий предикат принадлежности хеХ, где х пробе- гает множество S*. Обычные арифметические предикаты хсу, x+y=z «х — простое число», «х делит у» являются рекурсивными. Аккурат- 66
ное доказательство этого факта состоит в непосредственном по- строении соответствующих разрешающих машин Тьюринга. Но и без такого построения разрешимость этих предикатов должна быть очевидной читателю. В самом деле, очевидно, что сущест- вует эффективный метод проверки, верно или нет, например, что х делит у для натуральных х и у. В дальнейшем изложе- нии мы будем обычно опускать конкретное построение необхо- димых машин Тьюринга в случаях, когда ясно, что нужный ал- горифм существует. Методы построения машин Тьюринга рас- сматриваются на семинарских занятиях, о них можно прочесть и в более подробных учебниках математической логики (см. список литературы). Аналогично, рекурсивными являются многие обычные мно- жества натуральных чисел: множество четных чисел, множе- ство простых чисел, множество чисел, делящихся на 7. Число называется совершенным, если оно равно сумме своих делите- лей (отличных от него самого). Множество всех нечетных со- вершенных чисел рекурсивно, так как есть простой способ вы- яснять по данному числу, является ли оно нечетным и совер- шенным. Тем не менее неизвестно, пусто это множество или нет, так как до сих пор неизвестно, существуют ли указанные чис- ла. 3. Второе определение вычислимости — рекурсивная пере- числимость предиката накладывает меньшие требования на соответствующий алгорифм. Интуитивно, предикат Р рекурсивно перечислим, если су- ществует процедура, позволяющая устанавливать истинность P(%i, ...,xk) в случае, когда Р(хь ...,xk) истинно. Если же Р(%1, ...,Х/е) ложно, то наша процедура иногда будет это уста- навливать, а иногда процесс будет продолжаться неограничен- но. Таким образом, проверяя данный набор хь...,хл на истин- ность, мы не полностью уверены, что получим ответ. Точное определение таково: предикат Р типа Ai*X ... ХА^* называется, рекурсивно-перечислимым, если существует машина Тьюринга М = (S, S, П, q0 q\, aQ) такая, что . 1) AiU...UA.U{0, 2) для всяких Хь..., х^(х/еАг*), если определено значение М (xi7 ... qxk), то это значение равно 0 или 1; 3) Р(Х1,..., Х/г) истинно тогда и только тогда, когда M(x}q ...qxk) = 1. Множество назовем рекурсивно-перечислимым, если рекурсивно-перечислим соответствующий предикат принадлеж- ности. 4. Непосредственно из определений видно, что всякий рекур- сивный предикат (множество) является и рекурсивно-перечис- лимым. Лемма. Если предикат P(x\,...,xk, у) рекурсивно-перечис- лим, то рекурсивно-перечислим и предикат ^уР(х\, ...,xki у). > Пусть у пробегает множество А* и пусть М — машина, 67
фигурирующая в определении рекурсивной перечислимости пре- диката P(%i, Убедимся, что существует соответствую- щая машина АГ для предиката 3#^(хь •••> х*> УУ Мы не будем выписывать программу М7. а лишь опишем в содержательных терминах, как АГ работает. Мы надеемся, что после этих пояс- нении построение АГ не составит принципиальных затруднений (хотя останется довольно громоздким делом). Пересчитаем все слова в алфавите А в виде определенной эффективно задан- ной последовательности Кь К2, У3,... Рассмотрим набор %1,...,х/г и опишем процесс получения значе- ния Mf (x{q... qxk). Вычисление происходит этапами. На первом этапе машина М'образует набор Xiq... qxkYi и делает один шаг в вычисле- нии значения M(Xiq ... qxkqY\). Если за один шаг рбнаружи- лось Al (x\q ... qXkqY]) = 1, то работа АГ заканчивается, и пола- гаем АГ (Xiq ... qxk)= 1. На втором этапе (если на первом этапе работа не закончи- лась) машина АГ производит уже два шага в вычислении двух значений: M(xxq ...qxkqY{) и M(Xig... qxkqY2}- Если за два шага вычислений А1 обнаружится, что хоть одно из значений равно единице, то работу АГ заканчиваем и пола- гаем АГ(Х1У ... qx^ = 1. На третьем этапе (если на предыдущих этапах работа не закончилась) машина АГ производит уже три шага в вычисле- нии трех значений: M(x{q ...qXkqYC), M(xxq ...qxkqY2), M(xiq ...qxkqY3). Если за три шага вычислений Al обнаружится, что хоть одно из этих значений равно единице, то работу АГ заканчиваем и полагаем АГ (x{q... qxk) = 1,.... И так далее, выполняем этап за этапом. Если на некотором этапе вычислится значение М (x}q ...qXkqYj) =0, то мы вычеркиваем набор x{q...qxkqYj из списка подвергаемых испытанию, но из-за этого набора работу не заканчиваем, а переходим к следующему этапу в поисках набора, для которого М (x{q ... qxkqYj) = 1. Машина Al' и будет подтверждать рекурсивную перечислимость уР(х{,.... xk. у). Заметим, что М7 принимает лишь значение 1 или не опре- делена. Поэтому даже если P(xi,.... Xk, у) — рекурсивный пре- дикат, машина АГ подтверждает лишь рекурсивную перечисли- мость ^уР(Х[...., х&. у). И действительно, как мы увидим ниже, 68
может быть построен рекурсивный предикат Р такой, что пре- дикат ^уР уже только рекурсивно-перечислим, но не рекурси- вен. □ Лемма. Для всякого рекурсивно-перечислимого предиката Q(xb...,xfe) существует рекурсивный предикат Р(Х[, ...,xk, у) такой, что ^уР\хъ ...,xk, у). £> Пусть М — машина, фигурирующая в определении ре- курсивной перечислимости Q. Рассмотрим следующий преди- кат: P(xi,...,xfe, у) истинно -<=> у есть конечный протокол вы- числений машины М такой, что в начальной конфигурации у на ленте записан набор X\q ...qxk, а в конечной конфигурации у на ленте записана единица. Конечные протоколы М мы рас- сматриваем как слова в подходящем алфавите А так, что у<ЕЛ*. Можно убедиться, что предикат Р разрешим. Интуитивно очевидно, что по данному слову у можно эффективно выяснить, действительно ли у является протоколом вычислений машины М и что записано на ленте в различных конфигурациях протокола у. Аккуратное доказательство, которое мы опустим, состоит в громоздком построении соответствующей распознающей ма- шины. Теперь по свойству машины М имеем Q (хь ..., 3 уР (%1,..., xk, у). □ Последняя лемма оправдывает термин «перечислимый» в отношении рекурсивно-перечислимого предиката Q. Чтобы убе- диться в истинности Q(%i, следует последовательно пере- числять все слова Кь К2,... в некотором алфавите Д и последо- вательно проверять на истинность рекурсивный предикат Р: P(xi, ...,xh, У1), Р(Х1,...,хь У2),.... Если Q истинен, то этот процесс закончится и мы найдем со- ответствующее Yi. Если же Q ложно, то процесс будет продол- жаться неограниченно и мы можем так и не узнать, что Q ложно. 5. Отметим еще, что применение логических связок AV° П к рекурсивным предикатам дает рекурсивные же предикаты. Доказательство состоит в непосредственном построении рас- познающих машин для сложных предикатов по данным маши- нам составляющих предикатов. С интуитивной точки зрения метод распознавания истинности, например предиката Р(хь... —, xh) VQ (*i, •••> xh) очевиден, если известен метод распознава- ния истинности для Р и Q. Что касается рекурсивно-перечислимых предикатов, то при- менение связок AV к ним ведет вновь к рекурсивно-перечис- лимым предикатам. Однако в общем случае это уже неверно для связок зэ и ~]. Позже мы обсудим пример рекурсивно- 69
перечислимого предиката, отрицание которого не рекурсивно перечислимо. Если рассмотреть отношения, соответствующие предикатам, то из предыдущих замечаний следует, что объединение и пере- сечение любых двух рекурсивных (рекурсивно-перечислимых) множеств вновь рекурсивно (рекурсивно-перечислимо). Допол- нение рекурсивного множества слов в некотором алфавите (до множества всех слов в этом алфавите) вновь рекурсивно. Но дополнение рекурсивно-перечислимого множества может быть и не рекурсивно-перечислимо. В языке арифметики Аг естественно определить 3z(%+z = y), . х<у^ х<у/\~\(х=у). Если дан арифметический предикат Р(х, у\,...,уп), то можно определить новые предикаты, полученные путем применения ограниченных кванторов: (V x<z)P(x, У1,...,уп) У1,...,Уп))-, (3x<z)P(x, t/i,...,z/n) Зх(х<гДР(х, У1,...,у„)); (\fx<z)P(x, У!,...,уп) x(x<z=>P(x, ..., уп)); (3x<z)P(x, yi,...,yn) Зх(х<гДР(х, z/b уп)). Результирующие предикаты уже от аргументов z, yt,.... уп. За- метим “1 (\/х<г)Р(х, у1ууп) о (3x<z) “I Р Уъ Уп). Упражнение. Укажите аналогичные законы для преобразо- вания отрицаний остальных ограниченных кванторов. Применение ограниченного квантора к рекурсивному (ре- курсивно-перечислимому) предикату приводит к рекурсивному же (рекурсивно-перечислимому) предикату. Доказательство со- стоит в непосредственном построении соответствующих машин Тьюринга для результирующих предикатов по данным маши- нам Тьюринга. 6. Теорема Поста. Если предикаты Р и ~]Р одновре- менно рекурсивно-перечислимы, то они необходимо оба и ре- курсивны. > Пусть Р и —-предикаты типа Ai*X ... ХДь* и пусть JW] и М2 — машины Тьюринга, фигурирующие в определении рекурсивной перечислимости для Р и "\Р соответственно. Определим машину М', распознающую истинность, например, предиката Р. Как и раньше, мы не будем выписывать програм- му М', а лишь опишем, как М' работает. Рассмотрим набор (хь...,хл) и опишем процесс получения значения M'(x\q... ...qxh). Вычисление происходит этапами. На первом этапе ма- шина М' производит один шаг в вычислении значений МДх^... ... qxk) и M2(*i? - qxk). На втором этапе производятся два 70
шага вычисления ЛД (x^q ... qxk) и M2(x{q ... qxk). На третьем этапе — три шага вычисления этих двух значений и так далее. Вычисление заканчивается, как только вычислится одно из значений Afj ... qxk) или А12(Х17 ••• Если обнаружится, что Л11 = 1 или Л12 = 0, то положим М'=1. Если же окажется, что М1 = 0 или М2 — 1, то ЛГ=-0. Из определения машин Alj и М2 следует, что не может быть одновременно Ali = 1 и Л12=1 (это означало бы, что для набо- ра (xi,...,истинны одновременно Р и И10)- Также не мо- жет быть одновременно ЛД^О и (что означало бы, что набор (х'],..., Xk} не удовлетворяется ни Р, ни ~] Р). В то же время необходимо Л4, (xxq ... qxk) = 1 или M2(X\q ... qxk) = 1, так как Р(xj,..., Хц) или ~| Р(хь ...,хД. Отсюда следует, что алго- рифм ЛЕ действительно распознает истинность предиката Р. □ 7. Упомянем теперь предварительно о некоторых результа- тах теории алгорифмов, относящихся собственно к логике. Ясно, что формулы и термы такого логико-математического языка, как ZF+, можно трактовать как слова в подходящем ал- фавите S. В самом деле, как видно из определения гл. 1, § 2, п. 1, выражения ZF+ строятся с помощью символов: , (фор- мальная запятая), (,), Д, V, V> 9, {>}, h 0, со, Р, U, <-* и бесконечного набора переменных. Но переменные в свою очередь, можно рассматривать как слова, составленные из двух символов v и | и скобок, если положить х==Дс>|), у (v II), г Д’ | | |) и т. д. Аналогично выражения языков Аг, Аг2, ZF также можно трактовать как слова в некоторых алфавитах. Это происходит потому, что выражения рассматриваемых языков строятся из конечного числа явно указанных символов по строго фиксиро- ванным правилам. Такие языки назовем явно заданными. Мы не будем давать точного математического определения явно за- данного языка. Читатель, если угодно, под явно заданным язы- ком может понимать просто один из конкретных логико-мате- матических языков, описанных в книге [1] или в этой книге, хотя изложенные общие результаты верны и по отношению ко многим другим языкам. Следует иметь в виду, однако, что в принципе рассматриваются и логико-математические языки, выражения которых заданы некоторым косвенным теоретико- множественным способом. Для них представление выражений в виде слов некоторого алфавита может быть и невозможным. Таковы, например, языки, содержащие несчетное множество констант. Однако языки, используемые для построения фор- мальных аксиоматических теорий, обычно оказываются явно заданными. Таким образом, явно заданный язык Q определяет алфавит Sq такой, что выражения Q суть специальные слова в этом ал- фавите. Мы считаем, что множество Fmy всех формул языка Q и множество TmQ всех термов языка Q суть рекурсивные под- множества множества всех слов алфавита SQ. По отноше- 71
нию к конкретному языку, например ZF+, это может быть стро- го доказано путем построения соответствующей распознающей машины Тьюринга. Впрочем, интуитивно соответствующая рас- познающая процедура должна быть ясной и без этого громозд- кого построения: по каждому слову в алфавите языка всегда можно судить, является ли это слово формулой ZF+ пли не яв- ляется. Далее, множество AxQ всех аксиом исчисления предикатов явно заданного языка Й также является рекурсивным подмно- жеством SQ*, так как по формуле всегда можно судить, имеет ли опа вид аксиомы исчисления предикатов или нет (напри- мер, имеет ли рассматриваемая формула вид Azd(BzdA)). Дерево формул в языке Й мы определяли (см. введение) как некоторую двумерную фигуру, но должно быть ясно, что дерево формул явно заданного языка можно трактовать и как слово в некотором алфавите. Так, вместо Di, А можно писать (Pi, D2/A) и т. п. Существенно при этом, что множество всех деревьев выводов является рекурсивным под- множеством множества всех слов этого алфавита, так как по слову можно эффективно выяснить, являетсях ли оно деревом формул и выполняется ли в этом дереве необходимое структур- ное требование. Заметим теперь, что множество нелогических аксиом в рас- смотренных нами формальных аксиоматических теориях, та- ких, как Ar, Аг2, ZF, также является рекурсивным множест- вом, и это теории в явно заданных языках. Мы назовем такие аксиоматические теории явно заданными. Опять-таки не будем давать строгого математического определения явно заданной аксиоматической теории, читатель может считать, что это про- сто одна из рассмотренных нами теорий. Фиксируем некоторый обширный алфавит So такой, что вы- воды во всех явно заданных (интересующих нас) формальных аксиоматических теориях записываются в виде слов в алфави- те 50. Для явно заданной формальной аксиоматической теории Т рассмотрим предикат PrfT(z/, х), где х, у суть слова в алфави- те So. А именно Prfr(//, х) истинно тогда и только тогда, когда у есть дерево вывода теории Т с нижней.формулой х. Важный факт состоит в том, что это рекурсивный предикат. Для кон- кретной теории, например для ZF, это может быть аккуратно проверено, путем построения соответствующей машины Тью- ринга, но процедура распознавания истинности этого предика- та должна быть и без того ясной: по данному слову у следует сначала выяснить, является ли это слово выводом теории Г, и затем нужно определить, верно ли, что нижней формулой это- го вывода является формула х. 72
Для явно заданной теории Т рассмотрим предикат Ргт(х)„ где х — слово в алфавите S0- А именно Ргт(х) истинно тогда и только тогда, когда х есть формула, выводимая в теории Т. Очевидно, Ргт(х)^> 3vPrfrG/, *). Отсюда следует Теорема. Множество формул, выводимых в явно задан- ной формальной аксиоматической теории Т, рекурсивно-пере- числимо. В частности, рекурсивно-перечислимо множество фор- мул, выводимых в исчислении предикатов явно заданного языка, [> См. § 3, п. 4. □ Множество всех предложений, выводимых в теории Т, обоз- начим через [Т]. Для явно заданных теорий это — рекурсивно- перечислимое множество. Теория называется разрешимой, если это множество оказывается рекурсивным. Известно, что теории Аг, Ar2, ZF неразрешимы. Замечательно, что некоторые важ- ные формальные аксиоматические теории разрешимы. Такова,, например, элементарная теория действительных чисел (см. [5]). Обозначим через ТЬАг(со) множество всех предложений язы- ка Аг, истинных в стандартной модели to. Известно, что это- множество не является даже рекурсивно-перечислимым. В силу известной теоремы Геделя о полноте множество всех логических законов языка Q совпадает с множеством формул,, выводимых в исчислении предикатов этого языка. Таким обра- зом, для явно заданного языка множество всех его логических законов оказывается рекурсивно-перечислимым. Для рассмот- ренных нами до сих пор языков множество логических законов- не является рекурсивным. Но можно указать простые языки, для которых это множество рекурсивно. Таким например, бу- дет язык с одним сортом переменных, без констант и функцио- нальных символов и с конечным набором одноместных преди- катов (так называемая теория одноместных предикатов). § 4. ПРИМИТИВНО-РЕКУРСИВНЫЕ ФУНКЦИИ, ГЕДЕЛЕВА НУМЕРАЦИЯ, АРИФМЕТИКА С ПРИМИТИВНО-РЕКУРСИВНЫМИ ТЕРМАМИ 1. Определим теперь важный класс общерекурсивных ариф- метических функций. Функции этого класса называются при- митивно-рекурсивными. С этой целью введем индуктивно понятие примитивно-ре- курсивного (п. р.) описания. Каждое п. р. описание представ- ляет собой слово вида (fe, где /г, I — натуральные числа. Число I называется количеством аргументов описания, />0. Каждому п. р. описанию одновременно сопоставляется ариф- метическая функция — примитивно-рекурсивная функция, имею- щая данное описание. Определение содержит семь пунктов, 73
первые три пункта составляют базис индукции, а последние представляют собой индуктивный шаг, показывая, как можно строить новые п. р. описания из уже имеющихся. 1) (1, l),F(x)=x+l. 2) (2, l),F(x)=x. 3) (3, 1, m), F(x)=m для произвольного натурального чис- ла т. 4) Пусть />0, 1 </‘1,..., iscl и g— п. р. описание с s аргу- ментами, причем g сопоставлена функция G. Тогда можно определить новое п. р. описание (4, /, g, Ц,..., is), которому со- поставляется функция Мы говорим, что F получена из G путем перестановки, отож- дествления и введения фиктивных аргументов. 5) Пусть g — п. р. описание с I аргументами, которому со- поставлена функция G, и h — п. р. описание с р аргументами, которому сопоставлена функция И. Тогда можно определить новое п. р. описание (5, —1, g, ft), которому сопостав- ляется функция F (у^ур, х2,X/) = G(H(уъ ..., ур), х2,..., хО. Мы говорим, что F получена из G и Н подстановкой. 6) Пусть g — п. р. описание с двумя аргументами, которому сопоставлена функция G, и т — произвольное натуральное чис- ло. Тогда можно образовать новое п. р. описание (6, I, g, m), которому сопоставляется функция F, удовлетворяющая следую- щим тождествам: ( F(0)=m, lF(x+l)=G(x, F(x)). Мы говорим, что F получается из G и т с помощью примитив- ной рекурсии. 7) Пусть ft — п. р. описание с т аргументами и g — п. р. опи- сание с zn-f-2 аргументами. Тогда можно определить новое п. р. описание (7, m+l; g, h), которому сопоставляется функ- ция F такая, что | F(0, xi,...,xm) = Я(хь...,хт), I f (*+ 1, Xi, ..., Хщ) “ G (x, F (x, Xb •••> Xzn) , Xb ..., xm). В этой ситуации мы также говорим, что F получена из функций G и Н примитивной рекурсией. Арифметическая функция называется примитивно-рекур- сивной, если она сопоставлена по указанным выше правилам какому-либо п. р. описанию. Упражнение. Обозначим через + примитивно-рекурсивную функцию от двух аргументов, имеющую следующее п. р. опи- ро НИР * (7,2, (4,3, (1,1), 2), (2, 1)). 74
Убедитесь, что выполняются следующие тождества: у+о=у; y+(x+l) = (t/+.r) + l. Постройте естественное п. р. описание для функции умноже- ния Двух натуральных чисел. Совершенно ясно, что всякая и. р. функция является вычис- лимой, так как процесс определения такой функции с помощью примитивно-рекурсивного описания дает одновременно и спо- соб вычисления значений функции для любых числовых значе- ний ее аргументов. Точный математический факт состоит в том, что всякая примитивно-рекурсивная функция — общере- курсивна. Доказательство состоит в том, чтобы указать соот- ветствующую машину Тьюринга для каждого примитивно-ре- курсивного описания. Это построение осуществляется индук- цией по длине рассматриваемого п. р. описания. Обратное, как мы увидим дальше, неверно: существуют об- щерекуренвные функции, не являющиеся примитивно-рекур- сивными. Тем не менее п. р. функции образуют весьма обшир- ный класс вычислимых функций, замкнутый относительно мно- гих естественных операций: все практически определяемые об- щерекурсивные функции, как правило, оказываются примитив- но-рекурсивными. Арифметический предикат P(xi,...,xn) назовем примитивно- рекурсивным, если существует примитивно-рекурсивная функ- ция f (xi, ,,.,хп), принимающая в качестве значений лишь 0 и 1, и такая, что Р (хь..., х„) (xi,..., хп) = 1. Мы часто будем опускать громоздкую проверку того, что те или иные конкретные функции или предикаты являются примитивно-рекурсивными. Подробные методы для такой про- верки развиваются, например, в книгах [3, 4, 18]. 2. С помощью примитивно-рекурсивных функций можно определить взаимно-однозначное соответствие между парами натуральных чисел и натуральными числами. Точнее, можно определить три п. р. функции j(x, у), ji(z)„ jz(z) такие, что выполняются следующие тождества: Л (/'(*, Л)=Л-, h(i(x, у))=у, /Дз)) =z. Например, можно определить j(x, y) = (max2(x, у) + у) + (max (х, у) — х). Тогда дополнительно выполняются соотношения: /(О, 0) =0, хс/(х, у), y<j(x, у). 75
Далее, нумерация zi-ок натуральных чисел при каждом п может быть введена, например, с помощью следующих прими- тивно-рекурсивных функций: V] (х) = х, V2(Xi, х2) = j(Xlt х2), Vn+l(Xi, Х2.Хп+1)=/(Х1, У„(х2, ...,Х„)), для которых имеются соответствующие обратные п. р. функции б i (уп (*1, ^n) ) где 1, Наконец, можно ввести единое примитивно-рекурсивное взаимно-однозначное соответствие между //-ками натуральных чисел при всех п и натуральными числами. А именно для каж- дого натурального /г>1 определим С (Х0, *n-l) =j (/2—1, Vn (Х0, *п-1) ) + 1, а пустому набору натуральных чисел, при п = 0, сопоставим число 0. Таким образом, натуральные числа в зависимости от спосо- ба кодирования можно отождествлять с парами, тройками и произвольными кортежами натуральных чисел. Упомянем еще несколько примитивно-рекурсивных функций в связи с нашей нумерацией. Двухместная п. р. функция х*у соединения кортежей такова, что с (Хо, Xm-1) * С (//о, ..., Уп-\) = С (х0, ..., Xm_1} f/0, , х*0 = 0*х = х. Двухместная и. р. функция [х]2 «высекает» элемент кортежа х: [0]2 = 0, [с(х0, Xi,...,xn_i)]z = x2 при z<n и [с(х0, хь..., Хп-ОЬ^О при z^n. Примитивно-рекурсивная функция lh(x) определяет длину кортежа: lh(0) =0, lh(c(x0,x1,...,xn-i)) = п. 3. Мы намерены систематическим образом нумеровать на- туральными числами слова в различных алфавитах, и прежде всего нас интересуют слова в алфавите So (см. § 3, п. 7), ко- торый мы назовем основным алфавитом. Будем считать, что основной алфавит содержит буквы q и |, так что в нем можно естественно записывать наборы натуральных чисел, если отож- дествлять натуральные числа со словами в алфавите j. Фиксируем бесконечную последовательность различных символов-букв: а0, аг,;.., которую назовем основной после- довательностью букв. Алфавит иазовсхМ простым, если он со- стоит из конечного числа букв основной последовательности. Простой алфавит назовем приведенным, если он содержит бук- вы основной последовательности лишь с нечетными номерами. Будем считать, что алфавит 20 содержит ровно k букв и эти буквы встречаются в основной последовательности в качестве 76
первых k букв с нечетными номерами, т. е. алфавит So состоит в точности из букв аЛу аз,..., а2ь+ъ Таким образом, основной ал- фавит является приведенным. Пусть А — слово в простом алфавите, имеющее вид .. 0fm. Сопоставим этому слову натуральное число = im). Для пустого слова положим уЛ = 0. Натуральное число уЛ назовем геделевым номером слова А. Отображение у уста- навливает взаимно-однозначное соответствие между всеми сло- вами в простых алфавитах и натуральными числами. Далее мы желали бы нумеровать натуральными числами машины Тьюринга. Нас интересуют главным образом машины, обрабатывающие слова в основном алфавите, т. е. вычисляю- щие функции типа So*~>So*, но некоторая сложность возникает из-за того, что такие машины могут содержать и другие бук- вы, используемые, например, в промежуточных вычислениях. Машину Тьюринга назовем приведенной, если ее внешний ал- фавит и алфавит се внутренних состояний суть приведенные алфавиты. Лемма. Для каждой машины Тьюринга М, вычисляющей функцию f: может быть построена приведенная ма- шина Тьюринга М', вычисляющая ту оке самую функцию. |> Достаточно взаимно-однозначным образом заменить все буквы внутреннего и внешнего алфавитов машины М, отличные от букв основного алфавита, на некоторые буквы из основной последовательности с нечетными номерами. □ В частности, если Дь Д2,..., Д&, Д суть алфавиты, включен- ные в основной алфавит 20 -И не содержащие буквы q, а ма- шина М вычисляет функцию /: Д1*Х ... X Дл*->Д*, то может быть построена приведенная машина АГ, вычисляющая ту же функцию. Пусть теперь М— приведенная машина Тьюринга, М = (S, S, П, б/о, q\, а()). Можно тракювать тогда М как слово в простом алфавите. А именно будем считать, что буквы /?, L, участвующие в на- писании команд машины, входят в основную последователь- ность в качестве букв с четными номерами. Например, это есть соответственно буквы а0, 02, а^. Машина Л1 как слово в Простом алфавите получится, если написать подряд друг за другом следующие слова: 1) последовательность букв S (для определенности можно считать, что буквы записываются в порядке возрастания номе- ров в основной последовательности); 2) разделительная буква с четным номером (например, это может быть aQ); 3) последовательность букв S; 4) разделительная буква aG; 5) последовательность команд П, k[k2... km; 77
6) разделительная буква 7) слово 9o?i^o. Таким образом, каждую приведенную машину Тьюринга можно рассматривать как слово в простом алфавите, и, следо- вательно, каждая такая машина имеет определенный геделев номер. Далее, конечные протоколы работы приведенных машин Тьюринга также очевидным образом можно трактовать как слова в простом алфавите и, следовательно, приписать таким протоколам геделевы номера. 4. Пусть ДЬ...,А&, А — алфавиты, включенные в основной алфавит и не содержащие разделительной буквы q. Пусть /— функция типа Ai*X ...X Аь*->А*. Определим тогда функцию /Y: <оХ... Х(о-хо, «моделирующую» работу функции на геделе- вых номерах. А именно: 1) если набор mb...,mft натуральных чисел таков, что хоть одно из rrii не является геделевым номером слова алфавита Дь то f(mb..., mk) =0; 2) для всякого набора слов Ab..., Ahi А, где А^АД АеД, имеем f(Ab ..., Ak) =A<=>f^(yAx, ..., \Ak) = уА. Аналогично для всякого словарного предиката Р типа Ai*X... ХД&* можно ввести моделирующий арифметический предикат РУ такой, что 1) если набор тк таков, что хоть одно из натураль- ных чисел mi не является геделевым номером слова алфавита Дг-, то Р(гги,..., ть) ложно; 2) для всякого набора слов Ab..., Aft, А^А;*: Р(АЬ... ... ,Ай() <=>PY(yAb ..., уАл). Лемма. Функция f вычислима тогда и только тогда, когда вычислима функция ft Предикат Р рекурсивен (рекурсивно-перечислим) тогда и только тогда, когда рекурсивен (рекурсивно-перечислим) пре- дикат Pt Громоздкое доказательство, состоящее в построении необхо- димых машин по исходным машинам, мы опускаем. 5. Отождествим натуральные числа со словами в алфави- те |. Тогда геделев номер натурального числа как слова от- нюдь не совпадает с самим этим натуральным числом (за ис- ключением нуля). Но соответствие между натуральным числом и его геделевым номером является примитивно-рекурсивным. Точнее, могут быть построены две одноместные примитивно-ре- курсивные функции Gd и Gd-1 такие, что для всякого нату- рального числа т: Gd(m) = ут, Gd~1(ym)=m. 6. Геделева нумерация открывает возможность говорить о сложных конструктивных объектах на языке арифметики. Мы хотели бы записывать различные свойства этих объектов на языке Аг, а затем доказывать их в формальной аксиоматиче- 78
ской теории Аг. Основная трудность при осуществлении этой программы состоит в том, что в теории Аг мало функций — лишь сложение и умножение. Поэтому мы сформулируеАм бо- лее выразительную аксиоматическую теорию Аг+, в которой, грубо говоря, имеется функциональный символ для каждой примитивно-рекурсивной функции. Язык Аг+ содержит один сорт переменных х, у, г,..., кон- станту 0 и для каждого примитивно-рекурсивного описания р от I аргументов — функциональный символ от / аргументов. Для конкретности можно считать, что само п. р. описание р, как слово в алфавите (,),,, |, и является функциональным символом Аг+. В частности, в Аг+ имеются и все функциональ- ные символы Аг (см. введение). Например, S имеет п. р. опи- сание (1, 1), + имеет и. р. описание (7,2, (4,3, (1,1), 2), (2,1)). Термы языка Аг+ строятся последовательно из переменных и константы 0 с помощью функциональных символов. Точнее, индуктивное определение терма языка Аг+ состоит из следую- щих трех пунктов: 1) всякая переменная есть терм; 2) константа 0 есть терм; 3) если f— функциональный символ от I аргументов и уже построены некоторые термы /1,...,то можно построить новый терм ti). Атомарные формулы Аг+ имеют вид (/ = г), где /, г — про- извольные термы языка Аг+. Таким образом, язык Аг естественно рассматривать как часть языка Аг г: всякое выражение Аг является в то же время и выражением языка Аг+. Нелогические аксиомы Аг+, так же как и нслогические ак- сиомы Аг, делятся на три группы: аксиомы равенства, аксиомы Пеано и определяющие аксиомы для п. р. описаний. Аксиомы равенства и аксиомы Пеано имеют тот же вид, что и в Аг, с той лишь разницей, что в схеме аксиом индукции теперь до- пускается произвольная формула языка Аг+. Определяющие же аксиомы для п. р. описаний просто копируют тс тождества, которым должны по определению удовлетворять те п. р. функ- ции, которые имеют эти описания. Если т — натуральное число, то через т или через т~ обо- значим терм Аг вида SS...S0, где функциональный символ S берется т раз. Это естественное изображение числа т в языке Аг. Примерами аксиом теории Аг+ являются следующие фор- мальные равенства: (2, 1)(х)=х; (3, 1, т) (х) (6, 1,- g, m) (0) = пг\ (6, 1, g, m) (Sx) = g(x, (6, 1, g, tn) (x)), где g — произвольное п.р. описание с двумя аргументами. 79
Таким образом, теория Аг составляет часть теории Аг+: все^ что выводится в Аг, выводится и в Аг+ Аг+ является уже весьма выразительной теорией и позво- ляет записать и доказать практически все обычные факты, от- носящиеся к теории чисел. В частности, при наличии некоторо- го навыка в построении формальных выводов несложно уста- новить выводимость в Аг+ всех необходимых нам свойств геде- левых номеров слов в простых алфавитах. 7. Замечательно, что, как обнаружил Гедель, теории Аг и Аг+ оказываются по существу эквивалентными. Это объяс- няется тем, что, используя некоторые теоретико-числовые сооб- ражения, удается равенства сложных термов языка Аг+ изоб- разить формулами теории Аг, т. е. формулами, содержащими лишь сложение и умножение. Точнее, для всякой формулы А языка Аг+ определяется ее перевод — формула А0 языка Аг, содержащая те же парамет- ры, что и формула А. Далее, для каждого терма t языка Аг+ и переменной у определяется формула (y = t)* языка Аг с теми же параметрами, что и формула y = t. Этот перевод обладает многими свойствами, которые и следует от него ожидать. Мы перечислим их в следующих шести леммах. Лемма 1. Если А — формула Аг, t — терм Аг, то в Аг вы- водимы, эквивалентности: А°=А, (y = t)*==(y = t). Лемма 2. Если А — формула Аг+ и t — терм Аг+, то в Аг+ выводимы эквивалентности: А°^А, (y=t)*=(y=t). Лемма 3. Если А — формула Ar+, t — терм Аг+, то имеют место следующие эквивалентности: Аг+ н А^Аг Н А0, Аг+ н (y = t) -*=>Аг н (y=t) *. Л е м м а 4. Если А — формула Аг, то Аг+ [ А-^Аг н А. Последняя лемма показывает, что относительно узкого язы- ка Аг обе теории эквивалентны. Дополнительно можно отме- тить, что указанный перевод сохраняет логическую структуру формул. Это обстоятельство проявляется в том, что имеют ме- сто следующие две леммы. Л е м м а 5. В теории Аг выводимы эквивалентности (АЛВ)о=А°ЛЯ°, (А\ЛВ)°=А0\ЛВ°, 80
(V хД)°= V ХЛ°, ( 3 ХЛ)°Н5Е Здесь А, В — произвольные формулы языка Аг+. Лемма 6. В теории Аг выводимы следующие эквивалент- ности (t = r)G~ Зу((у^У*/\(У=г)*)> (A(x\\t))Q== (z = r (x|IO ) * = 3 tj ((z = r (x\\y)) * л (У = 0 *)' Здесь A — формула Ar+, t, г — термы Аг+ и переменная у не входит свободно в А, г, t. Мы не будем заниматься точной формулировкой перевода и доказательством лемм 1—6. Необходимую технику для этого заинтересованный читатель может найти в руководствах [3], HL Заметим в заключение, что теория Аг+, так же как и тео- рия Аг, является явно заданной. Формулы, термы, выводы тео- рии Аг+ естественно трактуются как слова в основном алфа- вите и, следовательно, имеют геделевы номера. § 5. НЕКОТОРЫЕ ТЕОРЕМЫ ОБЩЕЙ ТЕОРИИ АЛГОРИФМОВ 1. Универсальная функция. Для каждого рассмотрим (n-f-2)-местный предикат Клини, определенный на натураль- ных числах: Тп(е, Хь ...,хп, г). А именно T7t(e, xi,...,xn, -г) истинно тогда и только тогда, когда е есть геделев номер некоторой (приведенной) машины Тьюринга М, a z есть геделев номер конечного протокола вы- числений Z для машины Л1, на вход которой подан набор чи- сел Xi,...,xn (т. с. подано слово Xiq...qxn, где натуральные чис- ла рассматриваются как слова в алфавите |), причем Z содер- жит заключительную конфигурацию. Довольно очевидно, что Тп — разрешимый предикат, так как по данным е, xi,...,xn, z можно судить, верно Тп или нет. Важный факт (который мы оставим без проверки, детали чи- татель может найти, например, в [2]) состоит в том, что этот предикат примитивно-рекурсивен, т. е. существует примитивно- рекурсивная функция /п(е, Xi,...,xn, г), принимающая в каче- стве значений лишь 0 и 1, и такая, что А(с, Xi, ..., х„, z)^tfi(e, Xi, ..., х/2, z) = 1. Может быть построена также одноместная примитивно-ре- курсивная функция U(г) такая, что если z— геделев номер ко- нечного протокола вычислений Z некоторой (приведенной) ма- 81
шины Тьюринга М и Z содержит заключительную конфигура цию К такую, что на ленте К записано натуральное число k, то U(z)=k. Если же z не имеет указанного вида, то U(z) =0 Если P(yt —общерекурсивный (в частности, при* митивно-рекурсивный) предикат, то можно определить частич- но-рекурсивную функцию /(xb...,xs) следующей инструкцией: для данного набора Xi,...,xs выясняем последовательно, истин- но ли Р(0, xi,...,xs), P(l, X], ...,хЛ), Р(2, хьx.s),.... Как толь- ко дойдем до наименьшего т такого, что Р(т, хь..., x.s) истин- но, положим f (хь ...,xs) =т. Если же такого пг не существует, то функция f(xi,...,xs) по определению на наборе xb...,xs счи- тается неопределенной. Приведенную инструкцию можно офор- мить в виде программы некоторой машины Тьюринга и, таким образом, доказать частичную рекурсивность Будем говорить, что функция f получена из предиката Р операцией минимизации, а значение f(xb...,xs) обозначим через руР(у, хь...,х,) (читается: «наименьшее у такое, что Р(у, хь... ..., xj>). Уточним еще понятие подстановки для частично определен- ных функций. Пусть, например, g— одноместная, a f— s-мест- ная частичные функции. Рассмотрим функцию Л, определяемую следующим образом: /i(xb...,xs) определено тогда л только тогда, когда: 1) определено f (xb ...,xs) и 2) определено значе- ние g(f (xb ...,х$)), и в этом случае В такой ситуации мы говорим, что функция h получена под- становкой функции f в функцию g. Такое определение подста- новки для частичных функций обеспечивает, что функция h оказывается частично-рекурсивной, коль скоро таковы функции f и g. Кратко определение h можно записать в виде Л(хь..., xs)— g(f(xh...,xs)). Знак — (условное равенство) здесь и далее означает, что вы- ражение слева определено тогда и только тогда, когда опреде- лено выражение справа, и в случае определенности эти выра- жения совпадают. Определим теперь для каждого п>1 (п4-1)-местную частич- но-рекурсивную функцию °Un таким образом, что ^n(e, xi,...,xn) — U(iizTn(e, xit...,xn, z)). Основное свойство %п выражается следующей классиче- ской теоремой Клини о нормальной форме. Теорема. Для всякой частично-рекурсивной функции f найдется натуральное m такое, что для всех Х\,...,хп‘. f(xi,...,Xn)—CUn(m, Xi.хп). 82
[> В качестве такого m можно взять геделев номер маши- ны Тьюринга, вычисляющей функцию f. Требуемое утвержде- ние вытекает из определения предиката Тп и функции f. □ Пусть К — произвольный класс п-местных (вообще говоря, частичных) функций. Функция g(x, Xi,..., хп) называется уни- версальной для класса. К, если: 1) для всякого натурального tn соответствующая //-местная функция g(tn. хь ..., х/) принадлежит К; 2) для всякой функции f(xi,...,xn) из К найдется натураль- ное tn такое, что //-местная функция g(m, х\,...,хп) совпадает с /. Непосредственным следствием предыдущей теоремы яв- ляется следующая Теорема об универсальной функции. Частично- рекурсивная функция °Un является универсальной для класса всех п-местных частично-рекурсивных функций. Укажем сразу же и некоторый отрицательный результат. Теорема. Не существует (/г+1)-местной частично-рекур- сивной функции, универсальной для класса всех п-местных об- щерекурсивных функций. [> Ограничимся случаем /г = 1. Допустим, что такая функ- ция G(x, Xi) существует. Так как при каждом m функция G(m, X!) общерекурсивна, то функция G(x, Xi) определена при всех х, Xi и, таким образом, также является общерекурсивной. Но тогда общерекурсивна и функция g’(x) =G(x, х) + 1. Рас- смотрим m такое, что g(x) =G(m, х). Имеем G (tn, х) = g (х) = G (х, х) +1. Подставляя сюда вместо х число tn, получим противоречие. □ Идею этого доказательства можно использовать для по- строения общерскурсивной функции, не являющейся примитив- но-рекурсивной. Определим функцию g(y, х) следующей инструкцией: если у не есть геделев номер п.р. описания, то g(y, х)=0; если же у есть геделев номер п.р. описания функции F, то g(y, х) = = F(x). Указанную инструкцию можно преобразовать в машину Тьюринга и, таким образом, доказать, что g — общерекурсив- ная функция. Рассмотрим теперь общерекурсивную функцию F такую, что F(х) =g(x, х) + 1. Лемма. Общерекурсивная функция F не является прими- тивно-рекурсивной. |> Предположим противное, и пусть m — геделев номер п.р. описания функции F. Тогда g(tn, х) =F(x) = g(x, х) + 1. Подставляя вместо х натуральное //г, получим противоре- чие. □ 83
Для каждого натурального т соответствующую п-местную частично-рекурсивную функцию t/(pzTr}(zn, хь xn, z)) мы обозначим через {т}п. Число т назовем геделевым номером частично-рекурсивной функции {т}п. Таким образом, всякая ча- стично-рекурсивная функция имеет некоторый геделев номер. Индекс п в обозначении {т}п будем иногда опускать (и очень надеемся, что читатель не спутает это традиционное обозначе- ние частично-рекурсивной функции с обозначением одноэле- ментного множества в теории множеств). Из определения предиката Тп очевидно, что ! {z»)n (хь х„) •*=> 3 zTn (т, хьхп, z). Напомним, что выражение слева означает, что функция {т}п определена на наборе хь...,хп. Лемма. Для всякого рекурсивно-перечислимого множест- ва А натуральных чисел существует частично-рекурсивная функция g такая, что g принимает лишь одно значение 1, и для всякого х ! g(x) <^Х(=А. Г> Если А рекурсивно-перечислимо, то существует машина Тьюринга М, вычисляющая предикат х^А согласно определе- нию § 3, п. 3. Определим теперь функцию g инструкцией: g(x) = l тогда и только тогда, когда Л1(х)—1; во всех осталь- ных случаях g не определена. Эту инструкцию можно офор- мить в виде некоторой машины Тьюринга, вычисляющей g. □ Если пг — геделев номер функции g, о которой идет речь в лемме, то, очевидно, 3 гТДт, х, z). Натуральное т, для которого выполняется эта эквивалент- ность, мы назовем геделевым номером рекурсивно-перечисли- мого множества А. Рекурсивно-перечислимое множество с ге- делевым номером m обозначим через Ж9™. Таким образом, по определению xeFmo ^zTJm, х, г). 2. Невычислимые множества и функции. Теорема. Множество натуральных чисел {х | 3 z7\(x, х, z)} рекурсивно-перечислимо, но не рекурсивно. [> Рекурсивная перечислимость рассматриваемого множе- ства следует из леммы в § 3, п. 4 и рекурсивности предиката Если бы наше множество было рекурсивным, то рекурсив- но было бы и его дополнение Л = {х| х, z)}, а следо- вательно, А было бы и рекурсивно-перечислимым. Покажем, однако, что множество А отлично от всякого рекурсивно-пере- числимого множества. В самом деле, рассмотрим произвольное 84
рекурсивно-перечислимое множество Tfm и предположим, что Тогда для всякого х ^хТх(т, х, г)<=>хеУ,(^хеЛ П ЗгЛСх, X, Z). Подставляя в эту цепочку эквивалентностей вместо х число пгг приходим к противоречию. □ След с т в и е. Множество натуральных чисел {х| ПЗгЛ (х, х, z)} не является рекурсивно-перечислимым. |> Фактически это уже доказано нами выше, но следует также и непосредственно из формулировки предыдущей теоре- мы и теоремы Поста § 3, и. 6. □ С л ед ст в п е. Существует всюду определенная невычисли- мая функция. [> Определим функцию g следующим образом: для каждо- го натурального х положим g(x) = l, если ^zT\(x, х, г), и g(x)=0, если ПЗгТ](х, х, г). g— всюду определена и если бы была вычислимой, то оказалась бы общерекурсивной функ- цией. Но g(x) = 1<=> (х, х, z) и предикат справа оказался бы рекурсивным. □ 3. Проблема остановки. Мы говорим, что проблема оста- новки для машины Тьюринга М разрешима, если существует общерекурсивная функция ft, принимающая лишь два значения О или 1, и такая, что ft(x) = l тогда и только тогда, когда ма- шина Л4, работая на входе х, дает конечный протокол вычис- лений. Неформально говоря, проблема остановки разрешима, если существует «распознаватель остановки» ft, узнающий по х, ос- тановится машина Л1 на х или нет. Теорема. Существует машина Тьюринга М с неразреши- мой проблемой остановки. [> Пусть а(х)—общерскурсивная функция, тождественно равная нулю. Рассмотрим частично-рекурсивную функцию g(x), равную a(pzT}(x, х, г)). Тогда !g(х)<=> г) и =0. Пусть М'— приведенная машина Тьюринга, вычисляющая g. «Подправим» программу машины М' и полу- чим машину М такую, что 1) М также вычисляет g, 2) если машина АГ на входе х дает конечный протокол вы- числений без заключительной конфигурации или конечный протокол, в заключительной конфигурации которого на ленте записано непустое слово, то машина М на входе х не остано- вится, т. е. порождает бесконечный протокол вычислений. Такую модификацию машины М' всегда можно произвести, дописав несколько команд снизу в программе М', изменив ее заключительное состояние и расширив алфавит. Тогда ЗгЛ(х, х, z)^M остановится на х. Теперь невоз- можность соответствующей функции ft для М следует из тео- ремы п. 2. □ 85
Подчеркнем, что для М неразрешима именно массовая проблема остановки: не существует единого алгорифма h, ко- торый бы узнавал, остановится ли М на х для всякого нату- рального числа х. Если же исследователю предложить кон- кретное натуральное число т и спросить, верно ли, что М оста- новится на входе tn, то нет оснований полагать, что наш иссле; дователь не справится с этим вопросом по некотором размыш- лении. Невозможен лишь единый механический способ реше- ния этого вопроса для всех т сразу. 4. Рекурсивно-неотделимые множества. Напомним, что через со мы обозначаем множество всех натуральных чисел. Два мно- жества Ло, назовем рекурсивно-отделимыми, если суще- ствуют два рекурсивно-перечислимых множества Во, В{ такие, что AQ^B0, А^В), ВоПВ 1 = 0, BoU^5i = o). Про множества Во и Bi мы будем говорить, что они рекурсив- но отделяют множества До и А\. По теореме Поста (§ 3, п. 6) множества BQ и В} в этом случае необходимо являются и ре- курсивными. Упражнение. Если множества Ло, А{ рекурсивно-неотделимы и не пересекаются (т. е. ДоГИ1 = 0), то оба они не рекурсивны. Более того, всякое множество С такое, что А^С, С(\В = 0 так- же не рекурсивно. Определим два предиката: IF0(x, х, у)А(\/2«У) 1 Tiihx, х, г); Г1(х, y^TidtX, х, y)/\{yz^y)~\TiO2X, х, г). Можно проверить, что оба предиката примитивно-рекурсивны. Определим теперь два рекурсивно-перечислимых множества: Vo-{х| З^о(х, У)}', vt^{x\3yWdx, У)}- Теорема. Рекурсивно-перечислимые множества Vq, Vi не пересекаются и являются рекурсивно-неотделимыми. > Допустим, что хеИ0 и хеИь Тогда найдутся у0 и yt та- кие, что UMx, уо) и №|(х, уО, т. е. I) ТД/гХ, х, уо); 2) (Уг-суоПАОЗх, х, z); 3) Tid^x, х, yi); 4) (Vz<yi) \T}{j2x, x, г). Из 1) и 4) следует, что i/i<t/o, в то время как из 2) и 3) сле- дует уо<у\, и мы приходим к противоречию. Итак, множества Ио и И, не пересекаются. Рассмотрим теперь произвольные перечислимые множества Во Bi такие, что V0^B0, VjSBj, BoflBi = 0, и покажем, что в этом случае необходимо BoU^i^w- 86
Пусть Bq имеет геделев номер т0 и В\ — номер т}. Поло- жим >77 = у(/??0, пц). Мы утверждаем, что гпеёВо и т её В\. До- кажем, например, т е:В0 (т^ В{ доказывается аналогично). С этой целью предположим противное и пусть m^BQ. Тогда т. е. д уТ} (mQ, пг, //), и ввиду niQ = j{ni ЗуТ\(ууп, т, у). (1) Далее, ввиду m^Bq и 5оП#1 = 0 имеем (2) т. е. т^Ж?м, что означает "Л g), что, в свою очередь, ввиду tn}=^j2ni означает Vy~]T(j2m, т, у). (3) Из (1) и (3) следует 3 g (Л (Мт т, у) Л( Vz<g) ~] Г1 (/2'Щ т, z)), т. е. З'у№\(уп, у) и, следовательно, т^В{. Однако это проти- воречит утверждению (2). □ Теорема о н е п о п о л н имой функции. Существует частично-рекурсивная функция f, принимающая в качестве зна- чений лишь 0 и 1, и такая, что не существует общерекурсивной функции h, пополняющей f, т. е. такой функции h, что для вся- кого х, для которого определено /(х), имеет место /(х)=А(х). 1> Согласно лемме § 5 п. 1 найдутся частично-рекурсивные функции go и g{ такие, что xeVi^!g,-(x). Определим теперь частично-рекурсивную функцию f следующей инструкцией: для данного х вычисляем одновременно g0(x) и gi(x). Если опре- делено g0(x), то положим f(x)=O, если же определено g\(x)r то положим /(х) = 1. Если же не определены обе функции, то считается неопределенной и f(x). Заметим, что не могут быть одновременно определены оба значения go(x) и gi(x), так как Мы утверждаем, что функция f— искомая. Предположим, что существует общерекурсивное пополнение функции f. Пусть это будет общерекурсивная функция h. Пусть а —примитивно-рекурсивная функция такая, что а(0)=0, а(х+ +1) = 1 • Определим h'(х) =a(h(x)). Тогда Л' является общере- курсивной функцией, принимающей лишь значения 0 и 1 и так- же пополняющей f. Определим, далее, рекурсивные множества: 5оЧ*|Л'(х)=О}, B\~{x\h'(х) = 1}. Из определений легко видеть, что 50, В{ рекурсивно отделяют Множества Vo, Vi, что невозможно по предыдущей теореме. □ 5. Теорема о рекурсии. Фиксируем набор натуральных чисел. а = (<?, km ) и определим для этого набора натуральное число ta следую- щим образом. Построим приведенную машину Ма. А именно 87
для всякого набора уп натуральных чисел значение Ма(у{д ...ynq} определено тогда и только тогда, когда опреде- лена универсальная функция Шт+п(е, kh...,km, yh...,yn), и то- гда Ma(yxq... qyn) = Шт+п(е, kx,...,km, yx,...,yn). Теперь в каче- стве ta возьмем геделев номер машины Ма- Заметим теперь, что наша инструкция дает способ вычисле- ния по набору а соответствующего ta. Эту инструкцию можно оформить в виде машины Тьюринга. Таким образом, функция S п •••’ Хт>) = хе •• • ’ хгп> является общерскурсивной. Более тщательный анализ показы- вает, что Sn является даже примитивно-рекурсивной функ- цией. Таким образом, имеет место Лемма. Может быть построена примитивно-рекурсивная функция Sn от (m-f-1) аргументов такая, что для всякого на- бора натуральных чисел е, xi,...,xw, yi,...,yn имеем {#} (хЬ ..., Xw, Z/i, ..., Уп) (^, Хь ..., Хт) } (Уь ..., Уп) • Теорема Клини о рекурсии. Для всякой частично- рекурсивной функции ф(г, хь...,хп) можно построить нату- ральное число е такое, что {е}(хь ...,хл)—ф(е, xi,...,xn). [> Рассмотрим частично-рекурсивную функцию ф(у, хь ...,хп) — ф(3л (у, у), хь...,хл). Пусть f — ее геделев номер и e=Sn(f, f). Мы утверждаем, что это е — искомое. В самом деле, {е}(хь ..., х?1) —{Sn (f, f)}(xx,..., хп) — Xi, ...,Xn)— ф(/, Xi,...,Xn) — Ф(5« (Л f), Xi, ...,хп)“ф(е, хь ...,Xn). □
ГЛАВА III ЭЛЕМЕНТЫ ТЕОРИИ ДОКАЗАТЕЛЬСТВ § 1. НЕПОЛНОТА И НЕРАЗРЕШИМОСТЬ АКСИОМАТИЧЕСКИХ ТЕОРИИ Мы установим неполноту и неразрешимость некоторых ак- сиоматических теорий. Большую часть доказательств мы про- водим для конкретной аксиоматической теории Аг+, но разви- тые методы, как мы увидим, будут применимы и ко многим другим теориям. 1. Теорема о неподвижной точке. Напомним, что если А — слово в простом алфавите, то через уА мы обозначаем его ге- делев номер (гл. II, § 4, п. 3). Далее, если т — натуральное число, то через т или через m мы обозначим терм языка Аг+, естественно изображающий натуральное число в языке Аг+, т. е. терм вида SS ... SO, где функциональный символ S берется т раз (гл. II, § 4, п. 6). Таким образом, для каждого слова в простом алфавите можно определить терм — естествен- ное изображение этого слова в Аг+: Пусть t(x\,х„), г(хь..., хй)—термы Аг+, где Х\,...,хп— список различных переменных, среди которых содержатся все параметры термов t и г. Функциональные символы t и г за- дают примитивно-рекурсивные описания некоторых примитив- но-рекурсивных функций и, таким образом, сами термы есте- ственно определяют некоторые примитивно-рекурсивные функ- ции F(xl,...,xn) и G(xi,...,xn) соответственно. Лемма. Для всяких натуральных kly..., kn 1) если F(ki,..., kn) = G (ki,..., kn), to Аг+НЧ#ь •••, 6») =r(ku.... kn); 2) если F(klt...,kn)y=G(/ii.кп),то Аг+ b~] /(й1,...,й„)=г(й1,...,йп). Мы не будем доказывать эту техническую лемму (см., на- пример, [3], [4]). Суть ее состоит в том, что система Аг+ обла- дает достаточными выразительными возможностями: произ- вольное примитивно-рекурсивное вычисление с конкретными натуральными числами выразимо в Аг+. Заметим, что мы отнюдь не утверждаем, например, что если F(kl,...,kn) = G(ki,...,kn) для всех натуральных чисел kt,...,kn, 5 А. Н Колмогоров, А. Г. Драгалин 89
то Аг^|— /(хь ...,х„) = г(хь ...,хп) со свободными переменными Х[,...,хп. Как мы увидим позже, это и неверно в общем случае. Речь идет лишь о выводимости формальных равенств с кон- кретными натуральными числами k},...,kn. Вышеприведенную лемму называют леммой о нумерической выразимости примитивно-рекурсивных функций в Аг+. Слово «нумерической» как раз подчеркивает, что речь идет о выводи- мости конкретных числовых равенств. Если t, г — замкнутые термы, то в стандартной модели о они имеют определенное числовое значение. Из предыдущей леммы следует, что: если — то Аг+ н i = r\ если со = то Аг+ Теорема о неподвижной точке. Пусть А— фор- мула Аг+ и х — переменная. Тогда может быть построена фор- мула В такая, что Аг+ н В^/1([В]). Здесь А(х||[5]). [> Фиксируем переменную х. Рассмотрим примитивно-ре- курсивную функцию SUB (у, г) такую, что если у есть геделев номер некоторой формулы С, то SUB (у, z) есть геделев номер формулы C(x||z). Функция SUB имеет определенное примитив- но-рекурсивное описание, и, следовательно, можно определить соответствующий ей терм Sub (у, z) теории Аг+. Теперь по данной формуле А построим формулу A'^A(Sub(x, х)) (1) и определим В^А'([А']). (2) Отсюда следует, что yB = SUB(yA', уД'), и по предыдущей лемме тогда Аг+н[В]=$мй([Д'], [Д']). (3) Далее, мы видим, что в Аг+ выводима следующая цепочка эк- вивалентностей: В А' ([Д']) A (Sub ([Д'], [Д'])) = А ([В]). Здесь первая эквивалентность вытекает из определения (2) формулы В. Вторая эквивалентность имеет место ввиду опре- деления (1) формулы А'. Третья эквивалентность следует из выводимости (3). □ 2. Теорема Геделя о неполноте. С помощью геделевой нуме- рации выводимость в теории Аг+ может изучаться в рамках са- мой формальной теории Аг+ (см. по этому поводу гл. II, § 3^ п. 7 и § 4, п. 6). В частности, может быть построен примитив- но-рекурсивный предикат PRF(y, х), истинный тогда и только 90
тогда, когда у есть геделев номер вывода в Аг+ для формулы с геделевым номером х. Как всякий примитивно-рекурсивный предикат, он может быть выражен в форме F(y, х) = 1 для не- которой примитивно-рекурсивной функции F, принимающей лишь значения 0 и 1. Если f— п.р. описание функции F, то предикату PRF в Аг+ естественно соответствует формула f (у, х) =50, которую мы обозначим через Prf(y, х). Рассмотрим теперь формулу Рг(х) == 3yPrf(y, х), которая утверждает, что х есть геделев номер формулы Аг+, выводимой в Аг+. Пусть До — конкретная формула, отрицание которой выво- димо в Аг+. Например, можно взять в качестве До формулу 0=50. Рассмотрим замкнутую формулу Con ^y~\Prf(y, [0 = S0]). Эта формула утверждает, что теория Аг+ непротиворечива. С помощью теоремы о неподвижной точке определим теперь замкнутую формулу Геделя v таким образом, что Аг+ Н vs ”|Рг(М). (1) Исходя из этой эквивалентности, можно сказать, что форму- ла V «утверждает, что она сама не выводима». Лемма 1. Если теория Art непротиворечива, то формула у не выводима в Аг+. [> Предположим противное, и пусть р — геделев номер вы- вода формулы v в теории Аг+ Тогда имеет место- PRF(p, yv), и по лемме п. 1 отсюда Аг+ Prf(p, [v]) и, далее, Ar+ Н Pr([v]), что вйиду (1) влечет Аг+ Ь ~]v. С другой стороны, по допуще- нию Аг+ Ь v, и мы заключаем, что теория Аг+ противоречива вопреки предположению. □ Замечание. Напомним, что теория Т называется непро- тиворечивой, если не существует формулы Д теории Т такой, что одновременно Т н Л и Т н] Д. Теория Т непротиворечива тогда и только тогда, когда существует формула, не выводимая в Т. Читателю может показаться, что допущение о непротиво- речивости излишне в формулировке предыдущей леммы. Ка- жется очевидным, что это допущение и так имеет место. Теория Art, конечно, непротиворечива. В самом деле, все выводимые в Аг+ формулы истинны в стандартной модели со в то время, как, например, формула 0 = 50 ложна в стандартной модели и, следовательно, не выводима в Art Дело в том, что мы хотели бы, чтобы и формулировка, и доказательство леммы 1 естественно формализовались в теории Аг+, а, как мы увидим ниже, формула Соп как раз не выводи- ма в Art. Только что намеченное нами выше доказательство непротиворечивости Аг+ использует некоторые теоретико-мно- 5* 91
жественные соображения из теории моделей и не может быть непосредственно переведено в язык Аг+. Пусть Т — теория в языке Аг+. Будем говорить, что теория Т (^-непротиворечива, если не существует формулы А (у) с од- ной свободной переменной такой, что 1) Т Ь ЗуА(у), 2) для всякого натурального гп имеет место Т н ДА (/и). Упражнение. Докажите, что если Т «-непротиворечива, то теория Т и просто непротиворечива. Лемма 2. Если Аг+ (^-непротиворечива, то в Аг+ не выво- дима формула Д v. Г> Предположим противное, и пусть Аг]_ hД v. Согласно (1) тогда Ar+ Н Pr (fv]), т. е. Аг+ |- 3 yPrf (У, М). С другой сто- роны, возьмем произвольное натуральное гп. Имеем \PRF(m, yv), так как по лемме 1 формула v не выводима. По лемме в п. 1 отсюда Аг+ Ь Д Prf (m, [v]), и мы получаем «-противоре- чие в Аг+. □ Теорема Геделя о неполноте. Если теория Аг+ (^-непротиворечива, то формула v и формула Дт не выводимы в этой теории. \> Это следствие лемм 1 и 2. □ Замечание. Напомним, что теория называется полной^ если для всякой замкнутой формулы А имеем Т н А или Гн ДА. Теория Аг+ оказывается, таким образом, неполной. Формула v истинна в стандартной модели со, так как в силу леммы 1 не существует вывода v в Аг+ и, следовательно,, истин- на формула ДР^(М). Таким образом, v — пример истинного предложения, не выводимого в Аг+. Далее, неверно, что Аг+ ьДРг/Ду, [v]) со-свободной пере- менной у, так как иначе было бы нетрудно получить и Ar+ г. В то же время для всякого конкретного натурального числа пг имеем Аг+ 1-ДРг/(т, [v]). Теории Аг+ как бы не хватает «обобщающей абстракции», в силу чего и возникает ее непол- нота. Рассмотрим теорию Т = Аг++Дг, получаемую добавлением к Аг+ в качестве новой нелогической аксиомы (ложного*) пред- ложения ~|v. Теория Т непротиворечива, так как если бы в Т выводилось противоречие, то по законам логики Аг+ ь- v. Тем не менее теория Т «-противоречива. Действительно, ~]v экви- валентно ЗуРг{(у, М), так что Т Н 3yPrf(y> [у]). В то же вре- мя, для всякого натурального ш по лемме 1 ДР/?Р(ш, yv), и, значит, в Аг+ и тем более в Т выводимо ДРг/(т, [v]). 3. Вторая теорема Геделя. Как формулировка, так и дока- зательство леммы 1 предыдущего пункта касаются лишь кон- структивных объектов и после перехода к геделевым номерам допускают естественную формализацию в рамках теории Аг+. Проводя такую формализацию, мы получим, что имеет место утверждение Аг+ Н Сопи ДРг([у]). 92
Далее, имеет место следующее утверждение: yv)=>(Ar+ непротиворечива), |> В самом деле, пусть Аг+ противоречива. Тогда в Аг+ выводима всякая формула и, в частности, v. Если D — вывод v в Аг+, то имеет место PRF(yD, yv) и, следовательно, 3yP/?F(r/, yv) вопреки предположению. □ Только что проведенное доказательство допускает неслож- ную формализацию внутри теории Аг+, в результате чего полу- чаем утверждение Аг+ \-ЦуРг}(у, [v])^Con, т. е. Аг+ Н Д/V ([v]) Сопоставляя две полученные выводимости, заключаем Аг+ н Д Рг(М) =Соп. С другой стороны, по построению v имеем Ar+ Н v = Д Pr ([v]). Таким образом, окончательно Аг+Н Соп^=у. Теорема (вторая теорема Геделя). Если теория Аг+ непротиворечива, то формула Соп не выводима в Аг+. L> Это следствие предыдущей выводимости и леммы 1 предыдущего пункта. □ Вторая теорема Геделя утверждает факт принципиальной важности: непротиворечивость рассматриваемой теории не мо- жет быть доказана средствами самой теории. Для доказатель- ства непротиворечивости теории необходимо привлекать поня- тия, выходящие за ее рамки. Так, выше нам удалось установить непротиворечивость теории Аг+, привлекая теоретико-модель- ные соображения. Подобным образом можно показать, что не- противоречивость ZF не может быть установлена в рамках са- мой теории ZF. Очень интересной задачей является отыскание достаточно убедительных средств, выходящих за пределы ZF. 4. Теорема о неполноте в форме Россера. Как показал Рос- сер, с помощью подходящего подбора формулы в теореме 0 не- полноте можно заменить требование со-непротиворечивости на более слабое требование простой непротиворечивости. Рассмотрим примитивно-рекурсивную функцию NEGix) та- кую, что если х — геделев номер формулы Л, то NEG(x) есть геделев номер формулы ~]Л. По примитивно-рекурсивному описанию этой функции можно построить соответствующий терм Neg(x) теории Аг+. С помощью теоремы о неподвижной точке построим форму- лу р так, что Аг+н y(Prf(y, \p])z3(^z<.y)Prf(z, W([p]))). 93
Теорема Россера о неполноте. Если теория Аг4* непротиворечива, то в ней не выводимы ни формула р, ни фор- мула Д р. Предположим, что Аг4* н р. Тогда найдется tn такое, что PRF(tny ур). Если бы для некоторого i было бы PRF(i, у( Пр)), то теория Аг4* оказалась бы противоречивой вопреки предположению. Таким образом, имеем PRF(m, ур)Л(\/гс^) ~^PRF(z, AEG(yp)). Это примитивно-рекурсивное соотношение может быть выведе- но в Аг4*, и мы получаем Ar+ \-Prf(m, (p])/\(^z<.m)~\Prf(z, Aeg([p]))- Отсюда Аг+ Н3у (Prf (у, [р]) Л (\/z<y)^Prf (z, Neg([р]))). Но эта последняя формула логически эквивалентна Д р. Та- ким образом, Аг4* н Д р, что противоречит допущению Аг4* н р. Допустим теперь, что Аг4* i—Д р. Тогда найдется натураль- ное m такое, что PRF(m1 AEG(yp)), и по лемме п. 1 тогда Аг4* |- Prf (fh, Afeg([p])) • Отсюда по законам формальной арифметики получим Аг4* н(У y^ni) (^z^y)Prf(z, Aeg([p])), и, далее, ослабляя это утверждение, Аг+ЫО^Ж'Ш [р])=^(3 z^y)Prf(z, Aeg([p]))). (1) Кроме того, имеет место содержательное утверждение ( iy<rn) (PRF(yi y?)=>(3z^y)PRF(z, ArEG(Vp))) (2) просто в силу того, что для всякого у предикат PRF(y, ур) ло- жен (иначе было бы Аг+t— р и Аг4- оказалась бы противоре- чивой). Примитивно-рекурсивное соотношение (2) может быть вы- ведено в Аг4*, и таким образом: Аг+(V У(Prf (у, [y])^>(3z^y)Prf(z, Areg([p]))). (3) Сопоставляя (1) и (3), по законам формальной арифметики получим Аг+ y(Prf(y, [f>])^(3z<.y)Prf(z, Aeg([p]))), что есть не что иное, как Аг+ н р. Таким образом, Аг+ (— Р и Аг+ Н~|р, и мы опять приходим к противоречию. □ 5. Теорема Леба. Так называется следующая Теорема. Если Аг+ Н Рг([А])оА, то Аг+ н А > По теореме о неподвижной точке найдем формулу ф та- кую, что Аг+НФ=(^{[ф])^А). (1) 94
Лемма. Ar+ Н ф=>Аг+ |- А. |> Пусть Аг+j—ф и /« — соответствующий вывод. Тогда PRF(m, утр) и, значит, Ах+ — Prf(m, [ф]), отсюда Аг+Н Рг([ф]). Ввиду (1) тогда Аг+Нф=А. По допущению отсюда Аг~ь|— НА □ Формализуя доказательство этой леммы, получим Аг+нРг([ф])=эРг([А]). (2) Далее, по допущению теоремы имеем Аг+н Рг([А])=)Л. (3) Из (3) и (2) Аг+ Н Pr([ф])zdA, что ввиду (1) дает Аг+ Р-ф. Но тогда ио лемме имеем Аг+Н нА. □ 6. Неразрешимость. Обозначим через [Аг+]° множество всех геделевых номеров предложений, выводимых в Аг+ и через [Аг+J1 — множество всех геделевых номеров предложений, опро- вержимых в Аг+, т. е. [Аг+]1 {у В | Аг+ н ”] В, В — предложение}. Теорема. Множества [Аг4]0 и [Аг4-]1 всех номеров выво- димых и соответственно опровержимых предложений Аг+ ре- курсивно-неотделимы. 1> Рассмотрим примитивно-рекурсивные предикаты WQ(x, у) и у) (гл. II, § 5, п. 4). Они задаются арифме- тическими формулами, которые мы также будем обозначать через И70 и ^..Как было показано во второй главе, множества Vo = {xl 3yWQ(x, у)} и V} = {х| у)} не пересекаются, т. е. y)=>Wo(x. у)- Доказательство этого утверждения можно формализовать в Аг4 и получить Аг+ )~3yWi(x, у)=> ~13У^о(х, у). (1) Определим теперь формулу В(х) у). Если meV0, то существует k такое, что lVo(m, k), значит, Ar+ HlV0(/«, к), следовательно, Аг+i-jz/ IVo(in, у), т. е. Аг+|- J- B(iii) и, значит, yB(ni) е[Аг+]°. Итак, me V0=>yB (in) e[Ar+]°. (2) Пусть теперь meV)t тогда существует k такое, что W{(m, k). Отсюда Ar+I— W\(fn, к) и, далее, Аг+|— 3 t/№i(m, у). Ввиду (1) тогда Аг+ yWo(in, у), т. е. Аг+н ~]В(т), и, таким образом, В(т)е[Аг+]‘. Итак, meVI=>yB(/«)e[Ar+]1. (3) 95
Предположим противное, и пусть Во, В{ рекурсивно отде- ляют множества [Аг+]°, [Аг+]1, т. е. Во, Bi—рекурсивно-пере- числимы, |Аг+]°^Во, [Аг+]^ВЬ (4) Bof]Bi = 0, SoUBi = ox (5) Определим тогда рекурсивно-перечислимые множества В/ = = {m|yB(m)eBi}. Ввиду (2) —(4) имеем И<^В/, а в силу (5) Во'ЛВ/ = 0, BQ'()B{'= (1). Таким образом, оказывается, что мно- жества Vo, V] также рекурсивно-отделимы, что невозможно. □ Теорема о неразрешимости. Пусть Т — непротиво- речивая теория в языке Аг+, в которой выводятся все нелоги- ческие аксиомы Аг+ Тогда Т неразрешима. [> Все, что выводится в Аг4-, выводится и в Т, так что [Т]°^[Аг+]°. Ввиду непротиворечивости Т очевидно [7]°П[Аг+]1 = = 0. Если Т была бы разрешимой, то множество [Т]° было бы. рекурсивным. Тогда рекурсивным оказалось бы и дополнение соХ[Г]° этого множества. Но тогда множества [7]° и со рекурсивно отделяют множества [Аг+]° и [Аг+]1. □ Следствие. Если Аг+ непротиворечива, то Аг+ — нераз- решимая теория. 1> Достаточно в теореме взять Аг4' в качестве Т. □ 7. Распространение результатов на другие теории. Мы по- дробно исследовали теорию Аг+, но все теоремы настоящего параграфа имеют место и по отношению ко многим другим теориям. Достаточно, чтобы рассматриваемая теория Т обла- дала следующими двумя свойствами: 1) она должна быть явно заданной. Это нужно для того, чтобы на языке арифметики можно было бы говорить о выво- димости в теории, например, чтобы был общерекурсивен пре- дикат РРРт(у, *) и можно было построить соответствующую арифметическую формулу PrfT(y, х), утверждающую, что у есть геделев номер вывода в теории Т формулы с геделевым номером х; 2) теория Т должна содержать арифметику Аг+. Это нужно для того, чтобы в рамках теории Т можно было бы вывести не- обходимые свойства арифметических предикатов и, значит, до- казать внутри Т необходимые свойства предиката выводимости самой теории Т. Понятие «содержать арифметику» при этом мо- жет трактоваться очень широко. Достаточно, чтобы теория Аг+ в том или ином смысле интерпретировалась бы в теории Г, на- пример; достаточно, чтобы существовал некоторый перевод А° формул языка Аг+ в формулы теории 7, перевод, обладающий свойствами, аналогичными указанным в гл. II, § 4, п. 7. Теории Аг, Аг4', Аг2, ZF удовлетворяют этим требованиям. Следовательно, все эти теории, в случае их непротиворечиво- сти, неполны, неразрешимы и множества их выводимых и опро- вержимых предложений рекурсивно-неотделимы. Для каждой из указанных теорий Т можно рассмотреть арифметическую 96
формулу СопТ, утверждающую, что теория Т непротиворечива: СопТ^Д^уРг\т(у. [Ло]), где Ло — фиксированное предложение Г, отрицание которого выводимо в Т. Если теория Т непротиворечива, то формула СопТ (точнее, ее перевод в теорию Г) не выводится в Т. В этом и состоит вторая теорема Геделя, сформулированная применительно к теории Т. Мы не будем заниматься далее уточнением класса теорий, для которых имеют место наши теоремы, а упомянем еще об одном классическом результате. Внимательный анализ показывает, что результат о неразре- шимости Аг+ в п. 6 получается, если вместо всей теории Аг+ взять лишь фрагмент Аг~ теории Аг, содержащий лишь конеч- ное число нелогических аксиом из Аг. Обозначим конъюнкцию всех аксиом Аг~ через Л. Это — предложение языка Аг. Из определения выводимости следует, что Аг~Н В<=> — АтюВ, где справа стоит выводимость в логике предикатов. Теорема о неразрешимости исчисления пре- дикатов; Множество формул, выводимых в исчислении пре- дикатов (в языке Аг), не рекурсивно. !> Предположим, что это множество рекурсивно. Тогда су- ществует общерекурсивная функция f такая, что /(уВ) = 1^=> <=> Н В для всякой формулы В. Определим тогда общерекур- сивную функцию h следующей инструкцией: ft(x) равно 0 или 1 и h(x) = 1<=>х есть геделев номер некоторой формулы В языка Аг и f (у(ЛоВ)) = 1. Тогда й(у£?) = 1^Аг~ нВ, и теория Аг~ оказывается разрешимой. □ § 2. ТЕОРЕМА ГЕДЕЛЯ О ПОЛНОТЕ ИСЧИСЛЕНИЯ ПРЕДИКАТОВ 1. Нетрудно проверить, что всякая формула, выводимая в исчислении предикатов, является общезначимой, т. е. логичес- ким законом. Теорема Геделя о полноте утверждает, что верно и обратное, т. е. всякий логический закон необходимо выводит- ся в исчислении предикатов. Таким образом, исчисление пре- дикатов является адекватным инструментом для получения ло- гических законов. Напомним, что теория Т в языке Q называется непротиворе- чивой, если не существует формулы С языка Q такой, что одно- временно Т\~С, Т Основным результатом этого параграфа является следую- щая ниже фундаментальная теорема о существовании модели, также, по существу, доказанная Геделем. 97
Теорема. Всякая непротиворечивая теория Т в языке й первого порядка имеет модель. [> Пусть Й — язык первого порядка и Г — непротиворечи- вая формальная аксиоматическая теория в языке й. Мы опи- шем некоторую модель М для теории Т. Ограничимся случаем, когда язык й содержит лишь счетное или конечное множество символов. Теорема верна и для произ- вольных языков первого порядка, причем и метод доказатель- ства в основном остается тем же, но возникает необходимость в использовании некоторых специфически теоретико-множест- венных средств, например в так называемой трансфинитной индукции. Пусть X — множество всех нелогических аксиом теории Т. Фиксируем счетное множество V констант, не входящих в язык й, и рассмотрим язык W, получающийся Й добавлением множества V в качестве множества новых констант. Через SU обозначим множество всех предложений в языке Чг. Фикси- руем некоторое предложение С языка й и определим т^С\/ ~|С и ±^СД~]С. Пусть Г и А — конечные множества формул языка Чт, Г = {ЛЬ ..., Ат}> А = {В1, ..., В4- Через Г->А обозначим формулу ТДЛ1Л...ЛЛто51 V... WV _!_• Если k>0, m>0, то эта формула эквивалентна Л1Д...ДЛто zdBiV—VBk- Если m>0, й = 0, то Г->Д эквивалентна ~|(Л1Д... ...ДЛт). Если пг = 0, А>0, то эта формула эквивалентна BiV — Наконец, при т = 0, & = 0 эта формула эквивалентна _]_• Пару множеств У, Z^Stv назовем совместной, если для всяких конечных Г^У, A^Z формула Г->А не выводима в ис- числении предикатов. Пару множеств У, Z^Sty назовем полной, если 1) (ЛДВ)^У=>Л^У и ВеУ; 2) (А/\В) <=Z==>A(=Z или BeZ; 3) (Л\/5)^У=>Л^У или ВеУ; 4) (A\/B)<=eZ=>A<==Z и B^Z; 5) (ЛзэВ)<=y=>A^Z или ВееУ; 6) (ЛэВ)е2=>ЛеУиВе2; 7) JAeeY=>-A^Z; 8) Л <=Z=^ Л<= У; 9) \/ хА(х)^У=> для всякого замкнутого терма t языка Т, Л(/)енУ; 10) \/xA(x)^Z=> существует константа c^V, A(c)^Z; 11) 3%Л(х)еУ=Ф- существует константа ceeV, А(с)^У; 12) 3^(x)eZ=> для всякого замкнутого терма I языка Т, A(t)c=Z. Лемма. Существует полная и совместная пара множеств У, Z такая, что Х<=АУ. [> Множества У, Z будем строить постепенно. На каждом этапе будут возникать множества Уп, Zn и мы определим У — 98
= L) Yn, Z— \JZn. При переходе к следующему этапу мы увели* ngco чиваем запас формул, так что Уп^Уп+ь Добавление формул производится таким образом, чтобы обеспечить условия полноты 1) —12) в окончательных множествах У, Z. Чтобы сис- тематически обрабатывать все формулы, входящие в У«, Zn, удобно занумеровать формулы натуральными числами и рас- сматривать их в порядке номеров. Перейдем теперь к точным определениям. Нумерованным, множеством формул назовем всякое множество F пар вида {п, Л), где п — натуральное число и Л — предложение языка 4е. При этом выполняются условия: а) (/г, Л)^/7, (п, В) ^F=>A = B\ b) существует лишь конечное число нечетных п таких, что (п, A) <=F. Если (/г, A)^F, то число п назовем очередью формулы Л в множестве F. По условию, очередь полностью определяет формулу А в F. Кроме того, лишь конечное число формул име- ет нечетную очередь. По нумерованному множеству F можно образовать множе- ство формул Рх = {Л^5к| ( ((/г, A)^F)}. Нумерованная пара множеств есть по определению пара нумерованных множеств F, G такая, что из (п, Л) eF, (т, В) eG следует п^т. В этом случае F\}G есть нумерован- ное множество. Элемент (/г, A}^F[}G с наименьшей очередью назовем очередным в F, G. Вес пары F, G есть натуральное число /г, определяемое следующим образом. Если BUG не со- держит элементов с нечетной очередью, то h = 0. Если же 2k—1 есть наибольшая нечетная очередь в FUG, то определим h = k. Таким образом, если h вес F, G, то FUG заведомо не содержит элементов с очередями 2Л+1, 2/i+3 и т. д. Занумеруем все замкнутые термы языка 4х в единую после- довательность: Л» ^2> •••> •••> а также все константы из V — в последовательность £1> ^2> •••> ••• • Приступим к доказательству леммы. Построим нумерован- ную пару Fi, G] такую, что Fi'—X, G/ = {CA3Q> перенумеро- вав все формулы из F/, G/ четными числами. Вес hi этой пары равен нулю. Кроме того, каждая из формул FiT)G/ не содер- жит констант из V, так как принадлежит языку Q. Пара мно- жеств Fi', Gi совместна, так как множество X непротиво- речиво. Далее, индуктивно определим последовательность нумеро- ванных пар Fi, Gi; F2, G2\ Fn, Gn', — таким образом, что 99
каждое множество формул Fn'\]Gn' содержит лишь конечное множество констант из V и пара Fn', Gn' совместна. Вес пары Fn, Gn обозначим через hn. Итак, пусть уже построена пара Fn, Gn, покажем, как следует определить F«+i, Gn+i- Пусть (m, А) есть очередной элемент пары Fn, Gn. Выбросим элемент (т, Д') из того множества Fn или G„, куда (т, А) входит, и добавим в это же множество новый элемент (2h„+\, А). Полученную пару обозначим через Рп, Qn- Очевидно, Pn=Fn, Qn'~Gn'. Далее, разберем случаи в зависимости от вида элемента {т, А) . I) ( т, A)<=Fn, А = А|ДА2. Тогда Fn+1 = Pn|J{ (2/i„+3, At), (2йя + 5, А2)}, Gn+t = Qn. Заметим, что пара F'n-н. G'n+1 совместна, так как в против- ном случае нашлись бы конечные множества TsF/, AsG,/ такие, что1-{А1, А2}иГ->Д. Тогда по правилам исчисления пре- дикатов н {А1ЛА2}иГ->-Д и, так как At/\A2^Fn', пара Fn', Gn' оказалась бы несовместной. 2) (hi, A)eG„, А = А|ДА2. Заметим, что одна из пар Fn', Gn'U{At) или Fn, Gn/U{A2} необходимо совместна. Действительно, в противном случае най- дутся конечные множества Fs/V и AsG/ такие, что f- Г-> -•>-Ди{А1} и ь Г->-Аи{А2}. А тогда по правилам исчисления пре- дикатов I- r->A(J{At ДА2), и, так как At ДА2еС/, пара Fn', Gn' оказалась бы несовместной. Пусть совместна пара Fn', G/JIA}- Положим Fn+\~Pn, Gn+1 = Q«U{ (2/i„ + 3, A,)}. 3) (m, A)^.Fn, A — AtVA2. Заметим, что одна из пар {AJU/'V, Gn или {AaJU^п , Gn необходимо совместна! Действительно, в противном случае найдутся конечные множества. Г и. A, TsF/, AsGn', такие, что НМ1ЮГ->-Д и |-{А2}иГ->А. А тогда I-{А,Ч/АгЮТ-М, и пара Fn, Gn оказалась бы несовместной. Пусть совместна пара {AJU/V, Gn. Определим Д+1 = Рпи{ (2/Д+З, A,)}, G«+i = Qn. 4) {т, A)^Gn, А = А,\/А2. Тогда Fn+i — Pn, Gn+1 = QnU U{ (2/1.+3, Ai), <2ft„+5, A2)}. 5) {m, A) (=Fn, A = AjS)A2. Заметим, что одна из пар {A2)U/V, Gn' ioo
или Fn\ G/U{Ai} необходимо совместна. В противном случае для некоторых A^G/ было бы |- {А2}ЦГ->А и н Г-^Аи{Л}- Но тогда Н {Л11эЛ2}иГ->Л и пара Fn', Gn' оказалась бы несовместной. Если совместна пара {A2}U/V, Gn\ то определим Fn±i~ = Ptt|J{ (2/zn + 3, А2)), Gn+i = Qn. Если же совместна пара Fn. G/UMiL то определим Fn+I = Pn, G„+i = Qnll{ <2/u4-3, Ai)}. 6) (m, A)(=Gn, A = Ai=>A2. Тогда ^4-i = ^U{ <2ftn + 3, Ai)}, G«+l = Qzz|J{ (2Лп + 5, A2)}. 7) (m, A) ^.Fn, A= ^]АЬ Тогда Fn±\ = Pn, Gn+i = Qn(J{ (2/in4-3, Ai)}. 8) (m, A)^Gn, A= Ai. Тогда Fn+i= PrcU{ (2/zn4~ 3, Aj)}, Gn+\ = Qn- 9) (m, A)(=Fn, A=\/xA](x). Пусть G, ..., tn — первые n термов в последовательности всех замкнутых термов языка гР. Тогда (2(/ъг4-/)4-1, Ai(tj))\j=\, п}, Gn+i = Qn. 10) (m, A) eGn, A=V*Ai(x). Выберем первую константу a^V, не встречающуюся в Fn'{jGn'. Положим Fn+l = Pn, Gn+\ = = QnU{(2/zn+3, АДа)) }. Заметим, что пара Е'п+ь G'n+i совме- стна. В противном случае’для некоторых Г^/V, A^G/ было бы [— r->AU{Ai(а)}. Так как константа а не встречается в Г и А, то в выводе Ь F-*A|J{Ai(a)} ее можно заменить на новую переменную г, не входящую в вывод, и получить вывод н Г-> A|J{Ai(z)} и затем по правилам исчисления предикатов полу- чить н Г->АЮ xAJx)}, что влечет, ввиду \/xA1(x)^G/ несов- местность пары Fn, Gn- 11) ( m, A}(=Fn, А=ЗхАДх). Выберем первую константу deV, не встречающуюся в F/UG/. Положим Pn4-i = PnU{ (2hrt + 4-3, Ai(a))}, Gn+i = Qn. Заметим, что пара F'n+i, Gzn+i совме- стна. 12) (m, A)eGn, A=3xAW- Пусть G, ...» tn — первые n термов в последовательности всех замкнутых термов языка Т. Тогда Fn+i = P„, Gn+i = Qn|J{ ( 2(//н4-/) 4-1, А{ (t}) ) | j = 1, ..., /г}. Наконец, если для элемента ( т, А ) не выполняется ни один из случаев 1) —12), то определим Fn+i = Pn, Gn+\ = Qn- Та- ким образом, по сравнению с Fn и Gn в этом случае происходит лишь изменение очереди у очередного элемента, в то время как F'n+i = FG/n4-i = Gn,« Теперь остается положить U Fn\ Z= U Gn'- 101
Каждая пара Fn', Gn' была совместной, откуда и следует совме- стность У, Z. Нетрудно проверить и полноту У, Z. Проверим, например, выполнение требования 6) полноты. Пусть (A^>B)<=Z. Тогда (т, A^B}<=Gn для некоторых nt и п. Увеличивая в случае необходимости номер п, можно до- биться, чтобы элемент (т, А^>В) был очередным в Gn- По по- лостроению тогда ЛеГл+1, т. е. Ле У и BeZ. Лемма доказана. □ Теперь мы можем описать искомую модель ЛТ В качестве объектов модели возьмем множество всех выражений вида [/], где t — произвольный замкнутый терм языка V. Константе с языка Q сопоставим объект [с] модели М. Далее, ш-местному функциональному символу / языка Q сопоставим функцию J в модели. А именно для произвольных объектов [Л], ..., [tm] мо- дели М определим f([M, ..., [A]) =[f (А, ..., fm)L где справа в квадратных скобках стоит замкнутый терм языка ЧС Наконец, пг-местному предикатному символу Р языка Q сопоставим предикат Р модели М. А именно P([/i]..., [tm]) ис- тинно тогда и только тогда, когда формула P(ti, ..., tm) принад- лежит множеству У, указанному в лемме.. Описание М закончено. Необходимо проверить, что предло- жения из множества X истинны в М. С этой целью докажем следующие два утверждения, устанавливающие связь множеств У, Z с истинностью в модели М. Пусть А — формула, оцененная в модели М, и А* — предложение языка Ч’’, которое получается из А сти- ранием всех квадратных скобок. Тогда a) A*^Y=>Mt=A, b) A*^Z=> неверно, что Л1[=А. Оба утверждения будем доказывать одновременно индук- цией по построению формулы А. Если А — атомарна и А*еУ, то Л1к=А по определению ис- тинности в М. Если A*eZ, то ввиду совместности У, Z имеем А* ~?У, и значит, не М£=А. Пусть Л=А1ЛА2- Если А*еУ, то ввиду полноты А{*, А2*^ еК. Тогда по индуктивному предположению М|=А|, ЛП=Л2, т. е. ЛП=Л1ЛА2- Если A*eZ, то, опять-таки ввиду полноты, Ai*eZ или A2*sZ. По индуктивному предположению тогда не М1= Aj или не ЛЦ=Д2, что означает не Мё=Л1ДА2. Подобным образом рассматриваются и остальные случаи строения А. Рассмотрим еще, например, случай, когда А = = 3 xAi (х). Если А*еУ, то ввиду полноты А[*(а)еУ для не- которой константы из V. По индуктивному предположению М1= Ai ([а]), т. е. М|= 3 хА (х). Если A*(=Z, то ввиду полноты для всякого замкнутого терма t языка Чг. По индук- тивному предположению не Л1{=А1(И) для всякого t и, следо- вательно, не М|=ЭхА1(х). Теперь, так как Х<=¥, из утверждения а) следует, что Mf= А для всех А^Х и, значит, М есть модель теории Т. □ 102
2. Отметим некоторые следствия основной теоремы п. 1. Теорема (Мальцева о компактности). Пусть X — множество предложений языка Q. Если каждое конечное подмножество множества X имеет модель, то и все множество X также имеет модель. 1> В самом деле, в условиях теоремы X образует непроти- воречивую аксиоматическую теорию, так как если бы в X вы- водилось противоречие, то нашлось бы конечное множество Г^Х, Гн СДП С и конечное множество Г не имело бы моде- ли. По основной теореме X имеет модель. □ Теорема (о полноте исчисления предика- тов). Если формула А есть логический закон, то А выводится в исчислении предикатов. [> Можно считать, что А есть предложение, замыкая в слу- чае необходимости А кванторами общности. Если А не выво- дится в исчислении предикатов, то теория Т с единственной не- логической аксиомой ~]А непротиворечива (так как из Д А Н СДД С следует Н А). По основной теореме тогда Д А име- ет модель М. Но тогда неверно, что М |= А, и, значит, А не есть логический закоп. П 3. Добавим к языку Аг новую константу с и к теории Аг добавим бесконечную серию нелогических аксиом 0<с, 1<с, 2<Zcf ... . Здесь п есть терм вида SS ... SO, соответствующий на- туральному числу п. Каждая конечная подтеория полученной теории Т имеет модель. В самом деле, если в конечную подтеорию входят лишь аксиомы n<Z.c с числами /г, меньшими /, то достаточно взять стандартную модель со и сопоставить константе с чис- ло (/ + 1). По теореме о компактности вся теория Т имеет модель. Эта модель будет, конечно, и моделью Аг, но это будет нестан- дартная модель, неизоморфная со. Действительно, константе с в этой модели соответствует объект, больший, чем все стан- дартные объекты, соответствующие обычным натуральным числам 0, 1, 2, ... . Заметим, что это имеет место, несмотря на известную тео- рему о категоричности натурального ряда. Мы уже обсуждали этот эффект в главе о теории множеств. 4. Если язык первого порядка Q содержит не более чем счетное множество символов, то модель М для непротиворечи- вой теории Г, описанная в основной теореме, оказывается счет- ной. Отсюда следует факт, являющийся вариантом так назы- ваемой теоремы Левепгейма—Сколема. Теорема. Пусть Q — язык первого порядка со счетным множеством символов и Т — непротиворечивая теория в языке U. Тогда теория Т имеет модель со счетным носителем. В частности, если Q — язык первого порядка со счетным множеством символов и М — произвольная модель для языка 103
Q, то существует и счетная модель М' такая, что Th0(Al)=ThQ(M'). Здесь через ТЬ0(Л1) мы обозначаем множество всех предложе- ний языка Q, истинных в модели М. В общепринятой терминологии это замечание можно сфор- мулировать следующим образом: всякая модель в счетном язы- ке элементарно-эквивалентна счетной модели. 5. Из полученных результатов следует, что если теория мно- жеств ZF непротиворечива, то она имеет счетную модель. И это несмотря на то, что в ZF можно доказать существование не- счетного множества! Это и есть так называемый парадокс Ско- лема, который мы уже обсуждали (гл. I, § 6, п. 5). Еще раз подчеркнем, что указанное обстоятельство не является пара- доксом в собственном смысле этого слова и никакого проти- воречия в полученном результате нет. § 3. ТЕОРЕМА ОБ УСТРАНЕНИИ СЕЧЕНИЯ 1. Ключевую роль в теории доказательств играет понятие выводимости в исчислении предикатов. Поэтому важно преоб- разовать выводы в исчислении предикатов к виду, удобному для обнаружения выводимости. Это существенно и потому, что в настоящее время актуальна задача автоматического поиска вывода в аксиоматических теориях с привлечением вычисли- тельных машин. Основой большинства методов поиска вывода в исчислении предикатов является знаменитая теорема Г. Ген- цена об устранении сечения, полученная в 1934 году, вариант которой мы изложим в этом параграфе. Фиксируем некоторый логико-математический язык Q. Набором формул мы назовем конечное множество формул языка Q, в котором допускаются повторения формул. Порядок формул в наборе Г не имеет значения, но для каждой формулы указано, в скольких экземплярах она присутствует в Г. В соот- ветствии с этим следует трактовать и операции над наборами. Например, при объединении DJA наборов количество экземпля- ров каждой формулы суммируется. Объединение Г11А мы бу- дем коротко записывать в виде ГА, так что ГА и АГ есть один и тот же набор. Набор ЛГ получается из набора Г присоедине- нием одного экземпляра формулы А. Секвенцией назовем фигуру вида Г->А, где Г и А — наборы формул. Сформулируем теперь некоторое исчисление, в котором бу- дут выводиться секвенции. Аксиомы этого исчисления суть про- извольные секвенции вида ЛГ->АЛ, где Л — произвольная атомарная формула Q. 104
Правила вывода исчисления секвенций построены весьма симметрично и вводят логические связки слева и справа: , . ВГ->-Д;Г->ЛЛ , х ЛГ->ДВ (Z2: -►)----:; v ’ (Л гэ В) Г —» A v Г->Д(Л = В) /л ЛДГ->-Л . , д. Г-^ ДЛ;Г-»ДВ (Л^) (ДДВ)Г-.Д ’ Г-Д(ЛД5) ’ (V ЛГ~Л;ДГ~Д ; (- V) ; V 1 (Л V Г -> А 7 Г -> А (Л V #) I ~1 Г --> АЛ , ЛГ-> А пДГ-^А ’ Г->А-]Л; (v УлЛГ->А . Гк (А (у \\ х)) 7 У*ЛГ->Л ' ' 77 Г->А^Л ’ z-i .ч Л (t/Ц х) А . , Г->АЗ%Л (А (х||/)) U 7 Эг/ЛГ->Д ’ k d7 Г->АЛМ Здесь в правилах (~>У), (3^) переменная х не входит свободно в нижнюю секвенцию рассматриваемого правила вы- вода. Выводы в исчислении секвенций мы будем записывать в виде деревьев аналогично выводам в исчислении предикатов (см. введение). Высота вывода по-прежнему есть количество секвенций в наиболее длинной ветви вывода. Кроме того, мы не будем делать различия между формулами и секвенциями, отличающимися лишь переименованием связанных переменных. Таким образом, если имеется вывод с нижней секвенцией 5, то этот же вывод считается автоматически и выводом любой секвенции, полученной из S переименованием связанных пере- менных. Будем писать Н Г->Д, если секвенция Г->Д выводима в на- шем исчислении секвенций. Выводы в исчислении секвенций имеют замечательную осо- бенность: секвенции, расположенные выше всякого правила вывода, состоят лишь из подформул формул в секвенции, рас- положенной в заключении правила вывода. Коротко говоря,, при рассмотрении правил вывода «снизу вверх» формулы в сек- венциях лишь дробятся, никакие посторонние формулы не по- являются. В этом и состоит так называемое свойство подфор- мульности исчисления секвенций. Это обстоятельство во мно- гих случаях чрезвычайно облегчает поиск вывода данной сек- венции. Основной результат параграфа состоит в том, что описан- ное исчисление секвенций эквивалентно обычному исчислению предикатов, й таким образом поиск вывода в исчислении пре- дикатов эквивалентен поиску вывода в нашем исчислении сек- венций. Для доказательства основного результата нам придет- ся подробно исследовать исчисление секвенций. Ключевым 105
фактом здесь является теорема об устранении правила сечения. Так называется следующее правило вывода: Г -> АЛ ; ЛГ -> А Г-+А Теорема утверждает, что это правило допустимо в исчислении секвенций, т. е. если в исчислении секвенций выводимы посыл- ки Г—МЛ и ЛГ-М этого правила, то необходимо выводима и секвенция Г—М, являющаяся заключением рассматриваемого правила. Таким образом, если в выводах использовать наряду с другими и правило сечения, то теорема утверждает, что все применения правила сечения можно затем устранить и полу- чить вывод без сечений. Заметим, что наша версия исчисления секвенций несколько отличается от той, которую использовал Генцен (см. [15]). 2. Л е м м а. Для всякой формулы А языка Q имеем Н ЛГ—МЛ. > Доказательство проведем индукцией по количеству ло- гических символов в А. Если А — атомарная формула, то наша секвенция является просто аксиомой. Рассмотрим не- сколько случаев индукции, оставляя остальные случаи чита- телю. Пусть А = В/\С. По индуктивному предположению Н ВСГ ^\В и ЬЙСТ-МС. Тогда по правилу (-^Д) имеем н ВСГ ->Д(ВДС) и затем по правилу (Д-^) г- (ВДС)Г->А(ВДС). Пусть Д=У хВ(х). Пусть z — переменная, не входящая свободно в секвенцию V хВ (х) Г->А \/ хВ (х). По индуктивному предположению Д В (г) V хВ (х) Г-МВ (г). По правилу (V отсюда имеем н V хВ (х) Г-МВ (z) и затем по правилу (~>V) окончательно получаем н УхВ(х)Г — АУхВ(х). □ 3. Если S — секвенция, то через S(x||Z) обозначим резуль- тат правильной подстановки терма t вместо свободных вхож- дений переменной х в каждую формулу, член этой секвенции. Лемма. Если |- S, z — переменная и t — терм, то hS(z1|0, причем вывод результирующей секвенции имеет ту же высоту и то же количество секвенций, что и данный вывод. [> Доказательство проведем индукцией по построению дан- ного вывода нВ. Если S — аксиома, то S(z||Z) — также ак- сиома. Далее следует рассмотреть все случаи, когда S получена по одному из правил вывода. Рассмотрим для примера , лишь случай, когда S получена по правилу (~>У). Тогда S имеет вид Г->Д \/ у А и получена из секвенции вида Г-МЛ(г/||х), где переменная х не входит свободно в S. Выберем переменную и, отличную от всех переменных, фи- гурирующих в рассматриваемых формулах и термах. По ин- дуктивному предположению из выводимости Г->ДЛ(у||х) сле- дует выводимость секвенции Г->Д (Л(у||х) (x||u)), т. е. секвен- 106
ции Г->АД(у||ц). Вновь используя индуктивное предположение, получим, что выводима секвенция Г(г||/)->Д(г|10^ (*/!!**) (г1Ю- Применяя затем правило (-*у), заключаем, что Г(г||/)-> ->A(z|H) V u(A(y\\u) (z||/)). Но с точностью до переименования связанных переменных формула п(Д(//||и) (z||0) совпадает с ( У"уА) (z\\t). Таким образом, полученный вывод доставляет и вывод секвенции Г(г||/)->А(гД) ( ууА) (г||/). □ 4. Лемма. В исчислении секвенций допустимы следующие правила добавления: г А Г-^А ЛГ-^А ’ Г—>АЛ Допустимость означает, что из выводимости секвенции Г->А вытекает, что и обе секвенции ДГ-^А и Г-^АД также выводи- мы. Более того, можно утверждать при этом, что результирую- щие выводы имеют не большую высоту и не больше секвен- ций в своем составе, чем данный вывод. |> Доказательство ведем индукцией по высоте данного вы- вода К- Г->А. Если Г->А — аксиома, то аксиомами являются и обе секвенции ЛГ->Д, Г->ДД. Далее следует разобрать все случаи, когда Г->А получена по одному из правил вывода. Пусть, например, Г->А получена по правилу (З-^)- В этом случае Г~>А имеет вид 3 У^ГХ->А и получена из секвенции вида 5(г/||А:)Г/->А. Выберем новую переменную и, не фигури- рующую в рассматриваемых секвенциях. По предыдущей лемме имеем Н В(у\\х) (x[|w)r'-^A, т. е. ь В(г/||п)Г/^А, причем высота и количество секвенций в полученном выводе не меняются. По индуктивному предположению далее \-В(у\\и) ЛГ7->А и Н 5(г/||ц)Г/->АЛ. Отсюда по правилу (3“^) выводим 3 г^(В(г/||п))ДГ/->А, 3 и(В (у||н))Г/->АД, что с точностью до. переименования связанных переменных совпадает с искомыми секвенциями. Переименование переменной х в новую перемен- ную и в этом рассуждении нам понадобилось, чтобы после до- бавления формулы А выполнялись бы ограничения на пере- менные в применении правила (3^)- О 5. Лемма. В исчислении секвенций обратимы все правила вывода. Это означает, что если выводимо заключение какого- либо правила вывода нашего исчисления секвенций, то выво- димы и (обе) его посылки. При этом вновь можно утверждать, что результирующие выводы имеют не большую высоту и не большее количество секвенций, чем данный вывод. [> Для правил (V ->) и (->3) это следует непосредствен- но из допустимости правила добавления (п. 4). Для каждого из остальных правил вывода лемму доказываем отдельно ин- дукцией по высоте вывода заключения. Рассмотрим, например, правило (о->). Пусть дано Н (До В)Г~>А, докажем, что Н ВГ->-Д и нГ->АД индукцией по вы- 107
соте данного вывода. Если исходный вывод есть аксиома, то обе результирующие секвенции также являются аксиомами (здесь существенно, что формула АиВ не атомарная, в то вре- мя как формулы, фигурирующие явно в формулировке акси- ом, атомарны). Далее следует рассмотреть случай, когда сек- венция (АюВ)Г->Д получена по одному из правил вывода. Здесь существенны два подслучая: а) указанное правило нс относится к явно выписанной формуле AzdB; Ь) когда это пра- вило относится к указанной формуле. В случае а) рассуждения однотипны. Пусть, например, (Д=)В)Г->Д получена по правилу (->у). Тогда эта секвенция имеет вид (ЛоВ)Г — Д' \/уС и получена из секвенции (До оВ)Г~>Д/С(//||х). По индуктивному предположению выводимы секвенции ВГ->Д'(С(г/||х)) и Г->Д'Л (С (у\\х)). Применяя к ним правило (~*У), получим искомые секвенции. В случае Ь) утверждение тривиально. Искомые секвенции являются посылками правила вывода (о->) и, следов.ательно, выводимы. □ 6. Лемма. В исчислении секвенций допустимы правила сокращения: ЛАГ -> А Г -> ААА АГ -> А ’ Г - АА ’ т. е. из выводимости посылок этих правил следует и выводи- мость их заключений, причем опять-таки высота и количество секвенций в выводах заключений не превосходят этих же по- казателей в выводах соответствующих, посылок. [> Для всякого натурального п установим следующее ут- верждение: если дан вывод секвенции S такой, что либо слева, либо справа в S повторяется некоторая формула А (т. е. S имеет вид ЛЛГ->-Д или Г->ДЛА), причем данный вывод имеет высоту то выводима и секвенция S', полученная заменой двух отмеченных экземпляров формулы А одним экземпляром (т. е. S' имеет вид АГ->Д или соответственно Г->ДД); при этом вывод S' имеет не большую высоту и не большее количе- ство секвенций, чем данный вывод S. Указанное утверждение докажем индукцией по п. При п=1 секвенция S оказывается аксиомой. Но тогда S' также, очевид- но, является аксиомой. Далее следует разобрать все случаи, когда секвенция S получена по одному из правил вывода. Здесь существенны два подслучая: а) правило, по которому получена S, не касается ни одного из рассматриваемых экземпляров сокращаемой формулы А; Ь) правило, по которому получена S, касается одного из эк- земпляров сокращаемой формулы А. В случае а) рассуждения однотипны. Пусть например, S имеет вид АЛГ->Д'(С=>Ь) и получена по правилу (-^=>) из секвенции ЛАСТ->Д7). Из выводимости этой последней сек- 108
венции и индуктивного предположения следует, что выводима секвенция ЛСТ->Д'Р. Затем, применяя правило (->=)) к этой секвенции, получим вывод секвенции S'. В случае Ь) существенна обратимость правил вывода. До- пустим, например, что А имеет вид (СюО) и секвенция S имеет вид (С=)Р) (CzdD) Г—^А и получена по правилу вывода (=>->) из двух секвенций Р (CzdP) Г->А и (Сг>Р)Г->ДС. Используя обратимость правила (зэ->), из выводимости последних двух секвенций заключаем, что выводимы и секвенции DDV-+& и Г->АСС, причем с помощью выводов не большей сложности, чем соответствующие выводы предыдущих секвенций. По ин- дуктивному предположению отсюда заключаем, что выводимы и секвенции РГ->Д и Г—»-ДС. По правилу (zd->) отсюда полу- чим вывод (СзэР)Г->-Д. Рассмотрим еще случай, когда секвенция S имеет вид Г-> А ^уВ(у) ЗуВ(у) и получена из секвенции Г-> АВ (0 АуВ(у) ^уВ(у) по правилу вывода (~->j). Тогда по индуктивному предположению н Г->АВ (t) 3 уВ (у) и к этой последней секвенции достаточно применить правило (-> 3)- чтобы получить вывод S'. □ 7. Теорема Генцена. В исчислении секвенций допус- тимо правило сечения: Г АГ-» А Г-Д [> Утверждение докажем индукцией по количеству логиче- ских связок в формуле Л. При фиксированной сложности А утверждение будем доказывать индукцией по сумме высот данных выводов Г->ДЛ и ЛГ->Д. Начало этой двойной индукции состоит в рассмотрении случая, когда А — атомарная формула и обе выводимые сек- венции суть аксиомы. Мы утверждаем, что в этом случае Г->Д также является аксиомой. В самом деле, если ЛеГ и Л&А, то это очевидно. Пусть, например, Ле^Т. Тогда ввиду того что Г—’-АЛ является аксиомой, найдется атомарная формула В такая, что Вен Г и Но тогда Г-^А является аксиомой. Разберем теперь несколько случаев индукции. Пусть Л имеет вид (CzdP) и дано Ь Г—>-Aи F (СззР) Г—>-Д. Ввиду обратимости правил (->=э) и (zd->) выводимы секвенции СГ-^AD, РГ->Д, Г->АС. Применяя прави- ло добавления к РГ-^Д, получим Т Z)CT-^A. Из ьСГ->ДР и Ь РСГ^-А по правилу сечения (его можно применить в силу индукции по сложности формулы) получим ь- СГ->-Д. Затем применим правило сечения с секвенцией Н Г^-ДС и получим Ь Г->Д. Пусть Л имеет вид ^хВ(х) и дано нГ-^-ДЗхВ(х) и Ь- 3 хВ(х)Г->Д. Если Г-кА ^хВ(х) есть аксиома, то Г->Д — также аксиома, и поэтому н Г->А (мы пользуемся тем, что 3 хВ(х) — не атомарная формула). Пусть Г->А 3 ХВ(х) иолу- 109
чена по некоторому правилу вывода. Здесь следует разобрать два подслучая: а) это правило вывода не относится к рассмат- риваемому вхождению ^хВ(х) и Ь) это правило вывода есть (->3). относящееся к рассматриваемому вхождению 3 хВ(х). В случае а) рассуждения однотипны для всех правил. Пусть, например, r->A3*B(x) имеет вид Г-*Д'~|£>3 (х) и получена из £>Г->Д'^хВ(х) по правилу (~>~|).Из данной вы- водимости ~| D ввиду обратимости правила заключаем I- ЗхВ(х)/)Г->Д', причем высота этого пос- леднего вывода не больше, чем высота вывода секвенции 3 хВ (х) Г-»-Д'”] D. По индуктивному предположению (индукции по сумме высот выводов) применим сечение к ОГ—>-A'ЗхВ (х) и 3 хВ (х) ОГ-*Д' и получим в результате н ВГ-*-Д'. После это- го применим (->“]) и получим I- Г—>-Л. В случае Ь) секвенция Г—>-Д ^хВ(х) получена по правилу (-> 3) из секвенции Г->ДВ(/) ^хВ(х). Из данного вывода Н 3хВ (х) Г-э-Д по правилу добавления получим н Зх5(х)Г-> —>ДВ(/), причем высота результирующего вывода не увеличи- вается. По индуктивному предположению (индукции по сумме высот выводов) применим сечение к Г->ДВ(0 ЗхВ(х) и ЭхВ(х)Г->ДВ(0 и получим F- Г->-ДВ (/). Далее, из 3хВ (х) Г->А ввиду обратимости правила (3~>) получим 1-В(у)Г-^Л с новой переменной у. Затем по лемме о подстановке (п. 3) отсюда получим Н В(/)Г->Д. По предпо- ложению индукции (индукции по сложности формулы) можно применить сечение к Г~>ДВ(/) и В(^)Г->Д и таким образом по- лучить Н Г->Д. □ 8. Теперь мы готовы установить эквивалентность исчисления предикатов и нашего исчисления секвенций. Эта эквивалент- ность формулируется в двух следующих леммах. Лемма. Если в исчислении предикатов выводится формула А, то в исчислении секвенций выводится секвенция ->А. [> Доказательство проведем индукцией по построению вы- вода и- А в исчислении предикатов. Сначала следует вывести в исчислении секвенций все аксиомы исчисления предикатов. Это несложное упражнение на выводимость в исчислении сек- венций. Рассмотрим лишь два примера. Установим I—>(А^эС)ц>. (В^>С)т:> (Д\/ВгэС). В самом деле, по лемме п. 2 г- (А=эС),(Вг5С)->(АюС). Ввиду обратимости правила (->-=з) тогда Н А=)С, В=>С, А-+С. Аналогично имеем Н А=)С, ВтэС, В->С. Из этих двух секвенций по правилу (V-*) выводим Н А=>С, В=>С, А\/В-+С. но
Применяя несколько раз правило (->=>), выведем требуемую секвенцию. Установим I--> \/х(С=эЛ (х)) зэ. С^>\хА(х), где С не со- держит свободно х. По лемме п. 2 ^Ух(С=эЛ(х)), СзДхДСзДх). По правилу (\/->) отсюда Н\/х(С=>Л(х))->С=>Д(х). Ввиду обратимости правила (->=>) имеем ну х(СэЛ(х)), С->Д(х). Применяя (->У), получим нУх(СоЛ(х)), С->У%Л(х) (заметим, что ограничения па переменные в этом правиле вы- полнены именно потому, что С не содержит свободно х). При- меняя к последней секвенции несколько раз правило (->ю), получим выводимость требуемой секвенции. Далее необходимо проверить, что правила вывода исчисле- ния предикатов сохраняют выводимость в исчислении секвен- ций. Пусть, например, 1—>Л и |-—>-(ЛоВ). Покажем, что в этой ситуации н -+В. Ввиду обратимости правила (~>:э) из I—>(ЛюВ) следует Л->В. Из I—>Л по правилу добавления получим f—Л. Теперь остается применить сечение к выводимым секвенциям Л и Л~>В, в результате чего и получим секвенцию -+В. □ Для каждой секвенции Г->Д определим некоторую формулу (Г—>-А)° — перевод секвенции в формулу исчисления предика- тов. А именно перевод Ль ..., Ап-+В{, ..., Вт есть по определе- нию формула Ax/\.,./\An^B\\J ...\/ Вт. Перевод секвенции —Вт есть формула B}\J...\JВт. Перевод секвенции Ль ..., Л„-> есть формула Д(Л|Д...ЛЛП). Наконец, перевод секвенции -> есть формула АД Д А для некоторой фиксирован- ной формулы Л. Лемма. Если секвенция S выводится в исчислении секвен- ций, то формула S0 выводится в исчислении предикатов. [> Необходимо убедиться, что перевод всякой аксиомы ис- числения секвенций выводится в исчислении предикатов и что перевод всякого правила вывода допустим в исчислении преди- катов. Проверить все эти факты можно с помощью техники ес- тественного вывода в исчислении предикатов (см. нашу книгу [1]), но можно воспользоваться и теоремой о полноте исчисле- ния предикатов и убедиться, что если переводы посылок не- которого правила вывода исчисления секвенций являются логи- ческими законами, то логическим законом является и заклю- чение. □ 111
§ 4. О ПРОГРАММЕ ГИЛЬБЕРТА ОБОСНОВАНИЯ МАТЕМАТИКИ 1. Пример наивной теории множеств показывает, что при- влекательная математическая теория может оказаться внутрен- не противоречивой. Причины этого можно искать в своеобра- зии а) объектов исследования в математике, б) способов рассуждения относительно этих объектов. Объекты исследования в математике не являются, как пра- вило, экспериментально наблюдаемыми, это мысленные объек- ты, возникающие как результат сложной многоступенчатой абстракции действительности. В самом деле, в каком именно смысле существуют иррациональные числа, неизмеримые, мно- жества действительных чисел, функция Дирихле, нигде не плотное совершенное множество Кантора и т. п.? Способ рассуждения относительно таких сложных объектов также получается путем сложной экстраполяции способов рассуждения, применяемых в обыденной жизни или по крайней мере в обычном научном обиходе. Однако так применяемые способы рассуждения по отно- шению к мысленным объектам могут вести к неожиданным следствиям. Например, математик, склонен, по-видимому, счи- тать, что множество точек в трехмерном координатном евкли- довом пространстве {(х, у, г} |yx2+y2+z2<l} служит хорошей моделью геометрического тела — шара в трехмерном простран- стве. Тем не менее в ZFC можно доказать, что этот «шар» можно разбить на четыре подмножества, из которых с по- мощью движений в евклидовом пространстве можно сложить два шара, равных первоначальному! Такого рода следствия вызывают подозрение, что ряд фак- тов, полученных в рамках определенной математической тео- рии, даже непротиворечивой, просто не имеет никакого отно- шения к физической реальности и является результатом слиш- ком далеко зашедшей экстраполяции! Это, в свою очередь, вы- зывает ряд трудных философских вопросов, касающихся цен- ности математического рассуждения, убедительности математи- ческого рассуждения, соответствия между установленными ма- тематическими фактами и законами окружающего нас мира. Далее, может вызывать беспокойство принципиальная не- полнота математических теорий. Как мы уже отмечали, дока- зано, что многие интересные теоретико-множественные утверж- дения (например, континуум-гипотеза) не могут быть ни выве- дены, ни опровергнуты в системе ZFC. При этом не видно ни- каких интуитивно очевидных принципов, которые следовало бы добавить к ZFC, чтобы решить вопрос об истинности таких ут- верждений. Напротив, эксперименты показывают, что можно предложить равно содержательные и математически интерес- ные аксиоматики, расширяющие ZFC, в которых вопрос об ис- 112
тинности рассматриваемых утверждений решается по-разному. Это вновь наводит на мысль, что принципиально неверно ста- вить вопрос о том, истинна ли континуум-гипотеза «на самом деле». Никакого «самом деле» нет. Континуум-гипотеза есть утверждение о мысленных объектах, и вопрос об ее истинности существенно зависит от способов рассуждения, применяемых к таким объектам. Гедель доказал, что всякая достаточно богатая и эффектив- но аксиоматизированная формальная аксиоматическая теория необходимо неполна. Таким образом, невозможно эффективно описать в виде формальной аксиоматической теории даже та- кую сравнительно узкую область математики, как теория нату- ральных чисел. Более того, при попытке такого описания най- дутся суждения, независимые от построенной теории, т. е. та- кие, что без противоречия можно присоединить как суждение, так и его отрицание. По теореме о существовании модели (§ 4) тогда и теория с присоединенным суждением, и теория с отрицанием суждения обе имеют модели, что вновь можно рассматривать как довод в пользу отсутствия некоторой «нас- тоящей, единственно правильной» теории. Наконец, классический способ рассуждения часто ведет к тому, что доказывается существование объектов и в то же время не указывается никакого способа построения этих объ- ектов, даже если речь идет об объектах простой природы, которые в принципе можно было бы эффективно задавать. Например, доказывается, что всякая непрерывная на отрезке функция достигает максимума в некоторой точке, однако пред- лагаемое доказательство-не дает никакого способа отыскания этой точки. В пользу этой теоремы часто приводят два следую- щих довода: во-первых, эта теорема кажется геометрически очевидной, во-вторых, никому не удалось пока придумать при- мер непрерывной функции, не имеющей на отрезке максимума, и тем самым опровергнуть теорему. На первый довод можно ответить, что он не имеет отношения к делу. Факт может быть геометрически и очевиден, но мы в этой теореме имеем дело не с интуитивной геометрией, а с некоторой точной теоретико- множественной моделью непрерывности, и вопрос состоит в том, достаточно ли соответствует эта модель интуиции. При- водимое довольно хитроумное теоретико-множественное дока- зательство как раз и призвано убедить нас, что модель выбра- на удачно. Но мы оспариваем сейчас именно это доказательст- во, а не интуитивную очевидность факта. Что касается второго довода, то мы и без этой теоремы знаем, что некоторые непре- рывные функции имеют максимум. Весь смысл теоремы состоит в том, что для всякой непрерывной функции найдется точка, в которой достигается максимум. Но что значит слово «найдет- ся» в этой теореме и в чем ценность такого доказательства су- ществования объекта, когда не дается никакого способа его по- строения? 113
2. Мы видим, что как объект исследования, так и способ рассуждения традиционной математики, и прежде всего теоре- тико-множественной математики, вызывают серьезную критику. Неограниченное использование теоретико-множественных концепций ведет к парадоксам. Неясно, в какой мере объект исследования в математике адекватно соответствует реальности. Способ рассуждения в математике приводит к неэффектив- ным доказательствам существования даже в случае простых объектов исследования. Причины парадоксов можно видеть в способах образования понятий, например в использовании неограниченной аксиомы свертывания. Чтобы избежать парадоксов, достаточно пользоваться ог- раниченной теорией множеств, например в рамках системы Цер- мело—Френкеля. Труднее справиться с остальными возраже- ниями. Кроме того, остается неясным, будет ли система Цер- мело—Френкеля непротиворечивой. Пока у нас имеется лишь прагматическое наблюдение, что известные парадоксы обычным образом не выводятся в этой системе. Неэффективность в математике связана с тем обстоятель- ством, что способы рассуждения, относящиеся к конечным мно- жествам, были экстраполированы на бесконечные совокупнос- ти. Действительно, пусть, например, Р(х) некоторый предикат, где переменная х рассматривается как пробегающая натураль- ные числа. Утверждение 3 х? (*) V П 3 х? (*) рассматривается как безусловно верное (это частный случай закона исключен- ного третьего), но как узнать, что именно верно ^хР(х) или ~|3 хР(х)? Мы можем последовательно перебирать натураль- ные числа 0, 1, 2, ... и убеждаться последовательно, что ~|Р(1), ..., но ввиду бесконечности множества натуральных чи- сел таким способом невозможно убедиться Д jxP(x). Надеж- да может состоять лишь в удачном отыскании натурального п, для которого Р(п). Можно отметить также, что современные физические пред- ставления не дают оснований считать, что в природе имеются актуально существующие бесконечные множества. Математи- ка же довольно часто оперирует с бесконечными множествами, такими, как со, Р((о) и т. д., как с некоторыми законченными и данными объектами исследования. В этом состоит применение абстракции актуальной бесконечности в математике. Многие математики, начиная с Гаусса, возражали против применения этой абстракции, тем не менее актуально бесконечные множе- ства широко и существенным образом используются в совре- менной математике. Более осторожным является применение в математике абст- ракции потенциальной осуществимости, когда мы признаем лишь возможность неограниченного продолжения построений, отвлекаясь от технических, временных трудностей, но не счита- 114
ем, что существует множество всех результатов этого построе- ния. Такого рода абстракции вполне достаточно, например, для построения большей части теории натуральных чисел. 3. Радикальный подход к решению обсужденных выше труд- ностей был предложен Гильбертом в серии работ 1926—1928 гг. Он предложил разделить суждения классической математи- ки на действительные (или реальные) и идеальные. Только действительные предложения рассматриваются как имеющие содержательный смысл. Действительные предложения должны относиться только к простым конструктивным объектам, не должны использовать актуальной бесконечности. Понимание, в каких случаях действительное предложение истинно, не долж- но вызывать возражений с точки зрения предыдущей критики. Идеальные же предложения могут быть сколь угодно сложны- ми, они присоединяются к действительным только с целью си- стематизации теории, для облегчения выводов действительных предложений. Сами по себе идеальные предложения могут и не иметь содержательного смысла. Рассматриваемая математическая теория позволяет выво- дить как идеальные, так и реальные суждения. Важно лишь, чтобы для теории выполнялся следующий принцип корректнос- ти; всякий раз, когда в рассматриваемой теории выводится действительное суждение, оно оказывается истинным с точки зрения содержательного смысла. Конкретизируем эту идею следующим образом. Рассмотрим формальную аксиоматическую теорию ZF. Это очень богатая выразительными возможностями теория, имеющая дело с очень сложными объектами исследования, в том числе и с актуально бесконечными множествами. Как нам хорошо известно, в теории ZF интерпретируется теория Аг — формальная арифметика. Фиксируем в языке Аг класс S предложений вида ... xnA(xb ..., xn), где А — разрешимый предикат. Например, А может иметь вид равенства (t = r) или более сложный вид, но допускающий эф- фективную проверку для конкретных натуральных чисел. Так, хорошо известно, что в языке Аг можно построить формулу А(п, х, у, г) с четырьмя параметрами, естественно выражаю- щую предикат xn+3 + yn+3#=zn+3. Тогда великая теорема Ферма yxyzn (хп+3+y”+3=^z”+3) может быть элементом S. Каждому предложению В^$ соответствует формула В* языка ZF, полученная интерпретацией В в языке ZF. Формулы вида В* для ВбЕВ и назовем реальными предложениями ZF. Реальным предложениям можно приписать содержательный смысл естественным образом. Если В= Xj...хп Л(хь ..., хп), то В содержательно истинно, если для всех натуральных чисел 115
mb ..., mn результат проверки оцененной формулы Л(ть тп) на истинность всегда дает истину. Указанное определение со- держательной истинности реальных предложений полностью формулируется в терминах натуральных чисел, не требует при- влечения актуально бесконечных множеств и использует лишь абстракцию потенциальной осуществимости: требуется, чтобы для всякого осуществимого набора ..., тп можно было до- вести процесс вычисления значения Л(ть ..., тп) до конца. Множество всех натуральных чисел как актуально завершен- ная совокупность при этом не используется. Элементарность этого определения подтверждается и тем, что оно легко фор- мализуется в теории Аг. Таким образом, логические средства, используемые для определения содержательной истинности ре- альных суждений, не вызывают, по-видимому, предыдущей критики. Отметим теперь важный факт. Если теория ZF непротиво- речива, то она удовлетворяет принципу корректности, т. е. вся- кое выводимое в ZF реальное предложение содержательно ис- тинно. В самом деле, пусть ZF — непротиворечивая теория. Возь- мем произвольный набор чисел ..., пгп и вычислим истинно- стное значение А(ть ..., тл). Мы утверждаем, что это окажет- ся истина. В самом деле, иначе разрешимый предикат ~~]А на наборе mi, ..., шп принимает значение «истина». Путем гро- моздкого, hosb принципе несложного рассуждения (привлекаю- щего машину Тьюринга, участвующую в определении разреши- мого предиката А) можно показать, что тогда в Аг выводится пгп) и, значит, ••• » х«) (здесь mt есть S...S0 пи раз) и затем V хх... хпА (хь ..., хп). Используя ин- терпретацию в ZF, получим вывод ~j(Vxi — хлА(хь ..., хп))*- Если (\/Xi... хпА(хь ..., Хп))* было бы выводимо в ZF, то ZF оказалось бы противоречивой теорией. Подобное рассуждение применимо и ко многим другим тео- риям. Таким образом, особое значение приобретает непротиво- речивость рассматриваемой теории. Отметим еще, что внимательный анализ показывает, что ут- верждение о непротиворечивости ZF (и многих других теорий) может быть само записано как реальное утверждение. Поэтому, даже если мы не в состоянии доказать непротиворечивость теории, мы можем понимать это утверждение в некотором со- держательном смысле и, следовательно, искать содержательные основания для того, чтобы доверять ему или не доверять. 4. Каким же образом можно доказывать непротиворечивость теорий? Классическим методом здесь является метод интерпретаций, с помощью которого вопрос о непротиворечивости одной теории сводится к такому же вопросу относительно другой теории. Фактически метод этот возник задолго до развития точных спо- собов описания теорий методами математической логики. Ана- пе
литическая геометрия Декарта (1619) может рассматриваться как интерпретация геометрии средствами анализа. Кэли и Клейн (1871) предложили известную интерпретацию геометрии Лобачевского в геометрии Евклида. С современной точки зрения метод интерпретаций состоит в построении относительной интерпретации одной формальной аксиоматической теории в другой. При этом, как мы уже от- мечали, из непротиворечивости второй теории вытекает непро- тиворечивость первой. Но как доказывать непротиворечивость мощных теорий, та- ких, как ZF и арифметика высокого порядка, для которых уже трудно найти надежную математическую теорию для их обос- нования? Гильберт предложил метод доказательства непротиворечи- вости, не требующий непосредственно применения интерпрета- ций. Можно заметить, что хотя ZF описывает и сложную теорию, сама формулировка этой формальной аксиоматической теории требует очень элементарных средств. Кроме того, само понятие непротиворечивости формальной аксиоматической теории ZF очень элементарно и не требует упоминания об актуально бес- конечных множествах: непротиворечивость ZF означает просто, что всякая строчка символов языка ZF не является выводом формулы вида Но если формулировка проблемы столь элементарна, то можно надеяться и доказать ее столь же эле- ментарными средствами, не вникая в содержание теории, а изу- чая лишь формальную структуру выводов теории. Суть программы Гильберта обоснования математики состо- ит в том, что сначала изучаемую теорию следует формализо- вать, а затем уже установить ее непротиворечивость логичес- кими средствами, не вызывающими сомнений, финитными ме- тодами. Например, непротиворечивость ZF можно выразить в языке Аг, и было бы заманчиво вывести это утверждение в формаль- ной теории Аг. Тогда вопрос о непротиворечивости ZF свелся бы к вопросу о приемлемости гораздо более простой теории Аг, К сожалению, эта программа не осуществима в полной ме- ре. Как показал Гедель в 1932 г., непротиворечивость всякой достаточно богатой и эффективно аксиоматизированной теории не может быть доказана средствами самой этой теории. Отсюда следует, в частности, что непротиворечивость ZF нельзя установить даже в ZF и подавно нельзя установить в Аг (при условии, конечно, что эти теории непротиворечивы). Для доказательства непротиворечивости теорий следует ис- кать логические средства, достаточно убедительные, но не фор- мализуемые в рамках исходной теории. Такие логические сред- ства должны иметь интуитивный смысл с некоторой содержа- тельной точки зрения. Необходимые логические средства были разработаны в рамках теории неклассических логик, и, прежде 117
всего, математического интуиционизма [16]. В настоящее время непротиворечивость теорий Аг или Аг2 можно считать надежно установленной. Непротиворечивость такой теории, как ZF, го- раздо более проблематична. Независимо от проблемы установления непротиворечивости метод формализации математических теорий, предложенный Гильбертом, является центральным методом в современной теории доказательств.
ЛИТЕРАТУРА 1 Колмогоров А. Н., Драгалип А. Г. Введение в математическую логику. — М.: Изд-во Моск, ун-та, 1982. 2. Клини С. К. Математическая логика. — М.: Мир, 1973. * 3. Клини С. К. Введение в метаматематику. — М.: ИЛ, 1957. 4. Мендельсон Э. Введение в математическую логику. — М.: Наука,. 1976. 5. Шенфилд Дж. Математическая логика. — М.: Наука, 1975. 6. Г уд ст ей н Р. Л. Математическая логика. — М.: ИЛ, 1961. 7. Гильберт Д., Бернайс П. Основания математики, т. 1, 2. — М.: Наука, 1979, 1982. 8. Н о в и к о в П. С. Элементы математической логики. — М.: Физматгиз,, 1959. 9. Е р ш о в Ю. Л., Палютин Е. А. Математическая логика. — М.: Нау- ка, 1979. 10. Бурбакн Н. Теория множеств. — М.: А\ир, 1965. И. Френкель А., Б а р - X и л л е л И. Основания теории множеств. — М.: Мир, 1966. 12. Коэн II. Дж. Теория множеств и континуум-гипотеза. — М.: Мир, 1969. 13. Йех Т. Теория множеств и метод форсинга. — М.: Мир, 1973. 14. Та к сути Г. Теория доказательств. — М.: Мир, 1978. 15. Математическая теория логического вывода. Сборник переводов. — М.: Наука, 1967. 16. Драгалип А. Г. Математический интуиционизм. Введение в теорию доказательств. — М.: Наука, 1979. 17. Мальцев А. И. Алгоритмы и рекурсивные функции. — М.: Наука, 1965. 18. Роджерс X. Теория рекурсивных функций и эффективная вычисли- мость. — М.: Мир, 1972. 19. Лавров И. А., Максимова Л. Л. Задачи по теории множеств, ма- тематической логике и теории алгорифмов. — М.: Наука, 1975..
Андрей Николаевич Колмогоров, Альберт Григорьевич Драгалин МАТЕМАТИЧЕСКАЯ ЛОГИКА Дополнительные главы Зав. редакцией С. И. Зеленский Редактор А. А. Локшин Мл-. редактор О. Е. Силантьева Художественный редактор Л. В. Мухина Технический редактор К. С. Чистякова Корректоры В. П. Кададинская, С. Ф. Будаева Тематический план 1984 г. № 96 ИБ № 1920 Сдано в набор 22.07.83 Подписано к печати 20.12.83 Л-96363 Формат 60X90%» Бумага тип. 3 Гарнитура литературная. Высокая печать Усл. печ. л. 7,5 Уч.-изд. л. 7,6 Тираж 13 150 экз. Заказ 170 Цена 25 коп. Изд. № 2799 Ордена «Знак Почета» издательство Московского университета 103009, Москва, ул. Герцена, 5/7. Типография ордена «Знак Почета» изд-ва МГУ. Москва, Ленинские горы