WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!

Pages:     || 2 |
-- [ Страница 1 ] --

Санкт-Петербургский Государственный Институт Точной Механики и Оптики (Технический Университет) Факультет Информационных Технологий и Программирования Кафедра Компьютерных технологий М. А. Коротков Е. О.

Степанов Основы формальных логических языков Санкт-Петербург 2003 УДК 510.62, 510.63, 510.65, 510.675, 510.676.

Коротков М. А., Степанов Е. О. Основы формальных логических языков.

СПб: СПб ГИТМО (ТУ), 2003. 84с.

Данное учебное пособие посвящено основам формальных логических языков.

В нем дается краткое изложение языков логики первого и второго порядков, эле ментов теории доказательств, теории моделей и формальной теории множеств.

Пособие основано на курсе лекций, читаемом на кафедре Компьютерных тех нологий Санкт-Петербургского Государственного Института Точной Механики и Оптики.

Пособие предназначено для студентов компьютерных и математических спе циальностей.

Утверждено к печати Ученым Советом факультета Информационных Техно логий и Программирования, протокол №5 от 09.01.03.

ISBN 5-7577-0122- © Санкт-Петербургский Государственный Институт Точной Механики и Оп тики (Технический Университет), 2003.

© М. А. Коротков, Е. О. Степанов, 2003.

Оглавление 1 Введение.................................. 2 Языки логики предикатов первого порядка.............. 2.1 Алфавит и сигнатура....................... 2.2 Синтаксис языка первого порядка................ 2.3 Свободные и связанные переменные............... 2.4 Семантика языков логики первого порядка.......... 3 Языки логики второго порядка..................... 4 Логические языки с равенством..................... 5 Арифметика Пеано............................ 6 Элементы теории доказательств..................... 6.1 Формальные cистемы....................... 6.2 Естественная дедукция...................... 6.3 Подстановки в термах и формулах............... 6.4 Корректность и полнота естественной дедукции........ 7 Основы теории моделей.......................... 8 Сравнение языков логики разных порядков.............. 9 Формальная теория множеств...................... 9.1 Аксиоматика Цермело-Френкеля. Основные аксиомы..... 9.2 Отношение порядка........................ 9.3 Аксиома регулярности...................... 9.4 Аксиома бесконечности...................... 9.5 Ординалы и стандартная модель арифметики......... 9.6 Аксиома выбора.......................... 9.7 Теория множеств и основания математики........... 4 Введение 1 Введение Формальная логика. Дать краткое, но исчерпывающее определение той или иной науки – задача, как правило, не простая. В особенности это относится к таким наукам, которые, как, например, математика или физика, содержат в себе большое число различных специальных дисциплин. В значительной мере отно сится это и к логике, которая фактически пронизывает всю современную матема тику и информатику, а также является фундаментом многочисленных естествен нонаучных и гуманитарных дисциплин, от “абстрактных”, таких как философия, до “прикладных”, таких как юриспруденция. Поэтому мы попробуем подойти к понятию о предмете современной логики, не претендуя ни на полноту, ни на точ ность.

Общепринятым является понимание логики как науки о правильном умоза ключении (“логическом рассуждении”). Чтобы понять смысл этого определения, стоит конкретизировать, что такое умозаключение, а главное, что следует по нимать под правильностью. Существует только два способа, которыми человек приобретает новые знания – в результате опыта и путем умозаключения. При этом первым способом получена только малая часть всех используемых людь ми знаний. Заметим, что всякое рассуждение основывается на опытных фактах (“посылках”), которые сами по себе могут соответствовать или не соответствовать действительности. Однако истинность или ложность посылок никак не влияют на правильность рассуждения.

Вот очень простой, но показательный пример. Умозаключение “страус – пти ца, все птицы имеют крылья, следовательно страус имеет крылья” несомненно правильное, а все использованные посылки соответствуют действительности, по этому истинным является и заключение. А вот в умозаключении “кит – морская рыба, все рыбы в море селедки, следовательно кит – селедка” обе посылки лож ны, заключение также ложно, но само рассуждение следует признать правиль ным, ибо оно ничем, кроме входящих в него опытных фактов, не отличается от предыдущего. По сути дела, оба рассуждения – это всего лишь две разные мо дификации одной и той же логической конструкции “y обладает свойством P, все x, имеющие свойство P, имеют и свойство Q, следовательно y имеет свой ство Q”. Здесь уже нет никаких опытных фактов, на их месте осталась только абстрактная конструкция, которая является общепризнанно правильной, и мы очень часто используем ее в самых разных логических рассуждениях.

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

Строго говоря, логика несколько шире формальной логики – например, по следняя не отвечает на вопросы, какие рассуждения считать “элементарными” и почему. Для ответа на них приходится углубляться в философию и психологию.

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

Символьная и математическая логика. В конце XIX – начале XX века логика, являющаяся одной из наиболее древних наук (по современным представ лениям, рождение логики связано с деятельностью софистов в Древней Греции в 4-5 веке до н.э. – именно они создали логику как науку и активно использо вали ее, в частности, для обучения ведению судебных споров;

к этой же эпохе относится и деятельность первого ученого, систематизировавшего разрозненные логические знания – “отца логики” Аристотеля) пережила невиданную по своим масштабам и значению революцию. Вначале преобразования казались несуще ственными и заключались в активном использовании в логических исследовани ях символьной записи. Разработанная в 40-70х гг. прошлого века Дж. Булем, а затем развитая другими учеными (в основном математиками, в т.ч. Г. Кантором) символьная запись логических рассуждений оказалась очень удобной и быстро завоевала популярность, превратив формальную логику в символьную логику.

Например, рассмотренное выше логическое рассуждение “y обладает свойством P, все x, имеющие свойство P, имеют и свойство Q, следовательно y имеет свой ство Q”, в современной записи выглядит очень компактно P (y), x(P (x) Q(x)) Q(y).

При этом P (y) обозначает “y обладает свойством P ”, P (x) Q(x) обознача ет “если x имеет свойство P, то x имеет свойство Q”, x(...) обозначает “для всех x верно (...)”, а обозначает “доказывает”. “Символьная” революция в ло гике совпала по времени со столь же революционными преобразованиями в ма тематике. Основными вехами этих преобразований было появление созданной 6 Введение Г. Кантором теории множеств, качественным повышением требований к строго сти доказательств, прежде всего в математическом анализе в результате работ К. Вейерштрасса, активным поиском общих теоретикомножественных оснований математического анализа и математики в целом. Возникшие на этом пути труд ности оказались принципиальными и потребовали значительной формализации оснований математики с использованием методов символьной логики. В свою очередь, произошедшее таким образом соприкосновение логики и математики привело к их взаимопроникновению настолько, что считавшаяся ранее частью философии логика оказалась пропитанной математическими методами, которые оказались эффективными и в применении к чисто логическим задачам. В ре зультате современная логика полностью базируется на математических методах и часто находит приложение в задачах математики и прикладных математиче ских дисциплин, включающих теоретическую информатику, и является, таким образом, математической логикой. Однако нет никакого смысла в противопо ставлении “логики” и “математической логики”, так как математическая логика представляет собой современное развитие классической логики, основы которой заложены еще Аристотелем.

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

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

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

Чтобы задать язык, необходимо прежде всего задать его алфавит – множе ство объектов (“символов”), из которых составляются тексты языка. Алфавитом языка может, вообще говоря, служить произвольное множество. Например, ал фавит английского языка состоит из букв латинского алфавита, арабских цифр и знаков пунктуации, письменный язык индейцев майя – из узелков. Также из букв латинского алфавита, арабских цифр и некоторых специальных символов (например, #) состоит алфавит большинства распространенных языков програм мирования.

Далее мы будем говорить только о формальных языках. Пусть задано множе ство V – алфавит языка. Элементы этого множества мы будем называть симво лами алфавита. Цепочками (string) будем называть конечные позиционные на боры символов алфавита с учетом порядка следования символов. В дальнейшем мы, как правило, будем иметь дело с довольно распространенной ситуацией, ко гда символы алфавита представляют собой знаки, которые могут быть записа ны на бумаге. В этом случае цепочки символов будем записывать так, как это принято в европейских языках – слева направо в порядке следования символов.

Пустая цепочка символов это пустое множество символов. Множество всех це почек, включая пустую, будем обозначать V. Формальный язык с алфавитом V это просто заданное подмножество L V. Элементы этого множества могут называться по-разному для разных языков. Например, элементы языков логики предикатов принято называть формулами, элементы языков программирования – программами, элементы языка шахматной записи – ходами (или записями хо дов), а элементы языков, в той или иной мере моделирующих естественные – предложениями или фразами.

Задать формальный язык (т.е. правило, по которому формируется множество L V ) можно по-разному. Чаще всего для этой цели используют формальные грамматики. Нас будет интересовать только один весьма распространенный тип формальной грамматики – контекстно-свободная грамматика, записываемая в форме Бэкуса-Наура.

Язык и метаязык. Для описания синтаксиса и семантики формального язы ка мы, как правило, будем пользоваться естественным (в данном случае русским) языком. Например, фраза “Ход e2–e4 состоит в передвижении пешки с поля e на поле e4”, является предложением русского языка, объясняющим смысл записи e2–e4 на формальном языке шахматной записи. Использовать для этой же цели можно было бы и другой язык, как естественный, так и формальный, специаль но предназначенный для описания синтаксиса и семантики данного формально го языка. В таком случае будем называть тот язык, который используется для описания данного формального языка, метаязыком для последнего, а “описыва емый” язык предметным языком. Приставка греческого происхождения “мета”, в прямом переводе означающая “следующий за”, имеет здесь значение “над”.

Стоит отметить, что предметный формальный язык и метаязык, как прави ло, отличаются друг от друга. Метаязык обычно в некотором смысле богаче, например, его алфавит часто строго содержит алфавит предметного языка. Де ло в том, что многие формальные языки, в том числе и те, которые мы будем рассматривать в дальнейшем, недостаточно богаты, чтобы использовать их в ка честве метаязыков для себя самих (это или просто невозможно, или по меньшей мере весьма неудобно). При этом все естественные языки достаточно богаты, чтобы с их помощью можно было бы описать их собственную грамматику (“син таксис”), а также проводить рассуждения о смысле тех или иных фраз этого же языка (т.е. о семантике языка). Например, мы обучаемся русскому языку на 8 Языки логики предикатов первого порядка русском (который в процессе обучения служит, таким образом, метаязыком для самого себя. В то же время книжки по обучению формальным языкам, таким как, например, языки программирования, написаны также на естественном (рус ском, английском и т.п.) языке, а не на самом изучаемом формальном языке (представьте себе, можно ли было бы научиться программировать на C++, если бы соответствующие учебники не были написаны на привычном русском языке).

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

2 Языки логики предикатов первого порядка Языки логики предикатов представляют собой основной класс языков, с ко торыми приходится иметь дело в формальной логике. Разные языки этого класса используются для описания различных предметных областей. Наибольшее при менение в силу ряда причин, которые мы рассмотрим позднее, получили язы ки логики предикатов первого порядка. Главная их особенность состоит в том, что они достаточно выразительны (например, на языке логики первого порядка можно описать всю математику) и в то же время легко поддаются формальному анализу.

2.1 Алфавит и сигнатура Алфавит A любого языка логики предикатов первого порядка состоит из шести подмножеств A = Const Func Pred Var Log Aux, где • Const – множество символов предметных констант, • Func – множество функциональных символов, • Pred – множество предикатных символов, • Var – множество символов предметных переменных, • Log := {¬,,,,, } – множество логических символов, • Aux := {, ()} –множество вспомогательных символов (запятая и круглые скобки).

2.2 Синтаксис языка первого порядка Объединение = Const Func Pred множеств символов предметных кон стант, функциональных и предикатных символов называется сигнатурой язы ка и определяется той конкретной предметной областью, для описания которой предназначен язык. Язык логики первого порядка, таким образом, определяется своей сигнатурой, поэтому говорят об алфавите и языке сигнатуры (если необ ходимо подчеркнуть зависимость от сигнатуры, ее указывают в верхнем индексе, например, алфавит A, язык L).

Как правило, для обозначения символов предметных констант, переменных и функциональных символов принято использовать малые латинские буквы, а для предикатных символов – большие латинские буквы. Кроме того, все функ циональные и предикатные символы делятся на унарные, бинарные, тернарные, n-арные и т.п. (если символ n-арный, то это значит, что он используется в записи с n аргументами). Множества n-арных функциональных и предикатных символов будем обозначать, соответственно, Funcn и Predn.

Множество логических символов состоит из следующие элементов:

• ¬ – символ отрицания (логическое “не”), • – символ конъюнкции (логическое “и”), • – символ дизъюнкции (логическое “или”), • – символ импликации (логическое “следствие”), • – квантор существования, • – квантор всеобщности.

Первые четыре из перечисленных символов (символ отрицания, символ конъюнк ции, символ дизъюнкции и символ импликации) называются также логическими связками, оставшиеся квантор существования и квантор всеобщности про сто кванторами. Иногда определяют языки логики предикатов первого порядка с другими логическими связками, либо с меньшим числом связок – сделать так можно без ущерба для выразительной силы языка, как мы покажем в дальней шем.

2.2 Синтаксис языка первого порядка Язык L логики предикатов первого порядка с сигнатурой определяется как формальный язык с алфавитом A, порождаемый следующей грамматикой (в 10 Языки логики предикатов первого порядка форме Бэкуса-Наура):

< формула > ::= < атомная формула > | (¬ < формула >) |(< формула > < формула >) |(< формула > < формула >) |(< формула >< формула >) |( < переменная >< формула >) |( < переменная >< формула >), < атомная формула > ::= < n - арный пред. символ > (< терм >,...), < терм > ::= < константа > | < переменная > | < n - арный функ. символ > (< терм >,...), где < константа >, < переменная >, < n - арный функциональный символ > и < n - арный предикатный символ > – произвольные символы из Const, Var, Funcn и Predn, соответственно.

Элементы L называются формулами. Согласно приведенному выше опреде лению, формулы бывают атомными и составными. Последние, в свою очередь, составляются из атомных формул с помощью логических символов. Атомная формула представляет собой предикатный символ с соответствующим количе ством аргументов-термов (для n-арного предикатного символа – n термов). На конец, терм языка L это или предметная константа, или выражение, в которое входит функциональный символ и соответствующее число (n для n-арного сим вола) термов. Это можно выразить и с помощью следующего эквивалентного определения.

Определение 2.1 (i) Множество термов TER(L) языка L определяется по следующим правилам:

• любой символ предметной переменной или константы является тер мом;

• если f Funcn, а t1,..., tn TER(L), то f(t1,..., tn) TER(L);

• других термов, кроме построенных по приведенным выше правилам, нет.

(ii) Множество формул L определяется по следующим правилам:

• если A Predn, а t1,..., tn TER(L), то A(t1,..., tn) – формула, называемая в этом случае атомной формулой;

• если P, Q – формулы, то (¬P), (P Q), (P Q), (P Q) – формулы;

2.2 Синтаксис языка первого порядка • если P – формула, а x – символ предметной переменной, то ((x)P), ((x)P) – формулы;

• других формул, кроме построенных по приведенным выше правилам, нет.

Пример 2.1 Пусть A1 и B2 – унарный и бинарный предикатные символы, со ответственно, f – бинарный функциональный символ, а c – символ предметной константы, а все остальные малые латинские буквы – символы предметных переменных. Тогда цепочки символов c, x, f(c, x), f(x, f(c, f(x, x))) являются термами, а цепочки символов A1(f(c, x)), B2(c, f(c, x)), и (((x)(A1(x) A2(y))) ((y)(B2(c, f(c, c)) A1(x))) являются формулами.

Упражнения.

1. Докажите, что в условиях предыдущего примера цепочки символов c(f(A1(x) )), (())(c не являются ни формулами, ни термами.

2. Докажите следующие теоремы об индукции по структуре термов и формул:

Теорема 2.1 (об индукции по структуре термов) Пусть такое подмножество TER(L), что (i) содержит все предметные константы и переменные;

(ii) Если содержит t1,..., tn TER(L), то содержит и f(t1, t2,..., tn), где f – произвольный n-арный функциональный символ.

Тогда содержит все термы.

Теорема 2.2 (об индукции по структуре формул) Пусть такое подмножес тво L, что (i) содержит все атомные формулы;

(ii) Если P, Q, то (¬P), (P Q), (P Q), (P Q) ;

(iii) Если P, то ((x)P), ((x)P) для произвольного символа предметной переменной x.

Тогда содержит все формулы.

12 Языки логики предикатов первого порядка 3. Докажите, что любая формула языка логики предикатов первого порядка содер жит одинаковое количество открывающих и закрывающих скобок.

Указание. Воспользуйтесь доказанными теоремами об индукции по структуре тер мов и формул.

Приоритеты операций. Запись формул можно сократить путем некоторого уменьшения количества ненужных скобок. Для этого введем следующие приори теты логических символов:

P r () = P r () = P r (¬) > P r () > P r () > P r (), где символ P r (A) обозначает приоритет операции A.

Таким образом, самый высокий приоритет имеют кванторы, далее в порядке убывания приоритета следуют символы отрицания, конъюнкции, дизъюнкции, и, наконец, импликации. С учетом этого правила, например, цепочки символов x(A1(x) B1(x)) и x¬A2(x, y) являются сокращенным обозначением формул ((x)(A1(x) B1(x))) и ((x)(¬A2(x, y))), соответственно. Впредь мы будем за писывать все формулы в сокращенном виде с использованием введенных прио ритетов.

2.3 Свободные и связанные переменные Определим множество свободных переменных Free(P) и множество связанных переменных Bound(P) формулы P L. Здесь и далее var (t), var (P) обозначает множество символов предметных переменных, входящих, соответственно, в терм t и формулу P.

Определение 2.2 Множество свободных переменных Free(P) и множество связанных переменных Bound(P) формулы P L определяются по следующим правилам:

• если P – атомная формула, то Free(P) := var (t), где объединение бе t рется по всем термам, входящим в формулу P, и Bound(P) := ;

• если P = (¬Q), то Free(P) := Free(Q) и Bound(P) := Bound(Q);

• если P = (Q S) или P = (Q S), или P = (Q S), то Free(P) := Free(Q) Free(S) и Bound(P) := Bound(Q) Bound(S);

• если P = ((x)Q) или P = ((x)Q), то Free(P) = Free(Q) \ {x} и Bound(P) = Bound(Q) {x}.

2.4 Семантика языков логики первого порядка Иначе говоря, переменные “связываются” кванторами,. Заметим, что вовсе не обязательно Free(P) Bound(P) =. Например, если P := x(Q(x, y) R(x)) y(¬Q(x, y) zR(z)), то для данной формулы Free(P) = {x, y}, Bound(P) = {x, y, z}, а значит, Free(P) Bound(P) = {x, y} =. Тем не менее, каждое конкретное вхожде ние переменной в формулу может быть либо свободным, либо связанным.

Определение 2.3 Формула P называется замкнутой (или предложением), ес ли у нее нет свободных переменных.

2.4 Семантика языков логики первого порядка До сих пор мы занимались исключительно вопросами синтаксиса языков логики предикатов первого порядка, рассматривая эти языки совершенно формально как наборы цепочек символов, построенных по определенным правилам. Теперь нашей задачей будет придать смысл введенным синтаксическим конструкциям.

Формулы языков первого порядка будем интерпретировать как утверждения о некоторой предметной области, заранее не фиксированной при рассмотрении каждого конкретного языка. Так, например, любая формула может восприни маться как утверждение о натуральных числах, о геометрических фигурах, о крокодилах в Южной Америке и т. п. При этом одна и та же формула может представлять истинное утверждение в одной предметной области и ложное в другой. Например, формула xA(x) может представлять истинное утверждение о крокодилах (например, “все крокодилы являются рептилиями”, если A(x) ин терпретируется как “x – рептилия”) и ложное утверждение о натуральных числах (“все натуральные числа являются четными”, если A(x) интерпретируется как “x – четное число”). И даже в одной и той же предметной области формула может оказаться как истинной, так и ложной, в зависимости от того, какой смысл при писывается символам констант, функциональным и предикатным символам, а также символам свободных переменных. Например, приведенная выше формула может представлять и истинное утверждение о натуральных числах, если A(x) интерпретируется как “x – натуральное число”.

Прежде чем вводить формальные определения, сделаем еще одно важное за мечание. Мы будем рассматривать только классическую двузначную семантику (как правило, принято говорить о двузначной логике), в которой каждая фор мула языка первого порядка интерпретируется как истинное либо ложное утвер ждение. При этом говорят, что формула имеет истинностное значение: 1 (отож дествляемом с истиной) или 0 (отождествляемом с ложью). Существует и много значная семантика, в которой истинностное значение формулы может принимать 14 Языки логики предикатов первого порядка более двух значений. Наиболее широко известной является трехзначная логика Лукасевича, в которой допускается наряду с 0 и 1 истинностное значение 1/ (интерпретируемое, например, как “вероятно”). Можно рассматривать и конти нуальную многозначную семантику, в которой истинностное значение формулы может быть любым числом от 0 до 1 и интерпретироваться, например, как сте пень правдоподобности. Особенно интересны приложения таких многозначных логик. Например, в языке логики предикатов, предназначенном для описания действий с абстрактными множествами, можно записать формулу, выражающую утверждение “данный элемент принадлежит заданному множеству”. В класси ческой однозначной семантике такая формула может считаться либо истинной (истинностное значение 1), либо ложной (истинностное значение 0). Однако в только что упомянутой континуальной семантике эта формула может иметь лю бое истинностное значение в промежутке [0, 1], которое логично интерпретиро вать как степень принадлежности элемента множеству. Таким образом, в теории множеств, базирующейся на такой семантике, элемент может принадлежать мно жеству в большей или меньшей степени. Эта теория получила название теории нечетких множеств (fuzzy set theory) и нашла широкое применение в методе экспертных оценок.

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

Определение 2.4 Алгебраической системой для сигнатуры называется на бор M следующих объектов:

• непустого множества M, называемого универсумом, • для каждого символа предметной константы c Const выделенного эле мента универсума cM M, • для каждого n-арного функционального символа f Funcn выделенной функции fM: Mn M, где Mn := M M... M, n раз • для каждого n-арного предикатного символа A Predn характеристиче ской функции выделенного n-местного отношения AM: Mn {0, 1}.

Определение 2.5 Интерпретацией в алгебраической системе M называется пара (M, ), где функция : Var M.

2.4 Семантика языков логики первого порядка Таким образом, алгебраическая система для языка L определяет тот “мир”, о котором “говорят” формулы L. Символы предметных констант представле ны в ней элементами универсума, функциональные символы – функциями на универсуме, а предикатным символам соответствуют отношения на универсуме.

Интерпретация нужна, чтобы поставить в соответствие символам предметных переменных элементы универсума.

Пользуясь введенными определениями, мы можем связать элементы универ сума и термы языка L. Для этого, фиксировав интерпретацию (M, ), введем в рассмотрение функцию [ ]: TER(L) M “значения” терма в соответствии со следующими правилами:

• если t = c Const, то [t] := cM, • если t = x Var, то [t] := (x), • если t = f(t1, t2,..., tn), где t1,..., tn TER(L), то где f Funcn, то [t] := fM([t1],..., [tk]).

Заметим, что приведенные правила корректно определяют функцию [ ] на всем множестве TER(L).

Теперь мы можем наконец определить понятие истинностного значения фор мулы P L в интерпретации (M, ).

Определение 2.6 Истинностным значением формулы P L в интерпрета ции (M, ) называется число v(P) {0, 1}, определяемое по следующим правилам:

1. если P – атомная формула, т. е. P = A(t1,..., tn), A Predn, t1,... tn TER(L), то v(P) := AM([t1],..., [tk]), 2. если P = ¬Q, то v(P) := 1 - v(Q), 3. если P = Q S, то v(P) := min{v(Q), v(S)}, 4. если P = Q S, то v(P) := max{v(Q), v(S)}, 5. если P = Q S, то v(P) := max{1 - v(Q), v(S)}, 6. если P = xQ, то v(P) := min{v[a/x](Q) : a M}, где va(Q) – ис тинностное значение формулы Q в интерпретации (M, [a/x]), а функция [a/x]: Var M определена соотношениями [a/x](y) := (y) при y = x, и [a/x](x) := a, 16 Языки логики предикатов первого порядка 7. если P = xQ(x), то v(P) := max{v[a/x](Q) : a M}, где v[a/x](Q) – истин ностное значение формулы Q в интерпретации (M, [a/x]), определенной выше.

Определение 2.7 Будем говорить, что формула P истинна в интерпретации (M, ), если v(P) = 1, и ложна, если v(P) = 0.

Будем писать (M, ) |= P, если v(P) = 1 в интерпретации (M, ).

Определение 2.8 Будем говорить, что формула P:

• выполнима в алгебраической системе M, если (M, ) |= P для какой-либо интерпретации (M, );

• выполнима, если она выполнима в какой-либо алгебраической системе;

• тавтология, если она выполнима в любой алгебраической системе;

• противоречива, если она невыполнима.

Определение 2.9 Алгебраическая система M называется моделью формулы P, если (M, ) |= P для любой интерпретации (M, ). При этом пишут M |= P. Формула P называется истинной, если у нее есть модель.

Определение 2.10 Формула P называется семантическим следствием мно жества формул, если из того, что (M, ) |= Q для всех одновременно Q, следует (M, ) |= P. В этом случае принято писать |= P.

Определение 2.11 Формулы P, Q называются семантически эквивалентны ми, если v(P) = v(Q) в любой интерпретации. В этом случае пишут P Q.

Пример 2.2 Пусть = {c, f1, g2, A2, B1}, где c – символ предметной константы, f, g – одноместный и двуместный функциональные символы, соответственно, A – двуместный предикатный символ, B – одноместный предикатный символ. В качестве универсума выберем множество Z+ = N {0} неотрицательных целых чисел. Зададим алгебраическую систему для L, положив:

cM := 0, fM(n) := n + 1, gM(m, n) := m + n, 1, m > n AM (m, n) := 0, m n, 1, n простое число BM (n) := 0, n составное число 2.4 Семантика языков логики первого порядка Пусть (y) := 2. Тогда формула P := xA(x, f(x)) B(g(c, y)) истинна, т. е.

v(P) = 1. В данной алгебраической системе формула P выражает следующее утверждение о натуральных числах: “Либо n + 1 < n для любого числа n, либо y +0 – простое число”. Если в той же алгебраической системе положить (y) := 4, то в такой интерпретации формула P окажется ложной, т. е. v(P) = 0.

Заметим, что истинностное значение формулы P не зависит от интерпретации связанной переменной.

Рассмотрим еще один любопытный пример.

Пример 2.3 (Парадокс брадобрея) В одном городе жил брадобрей, который брил всех тех, и только тех, кто не брил самого себя. Кто брил брадобрея? Па радокс заключается в том, что попытка дать ответ на этот вопрос приводит к замкнутому кругу рассуждений. А именно, если брадобрей брил себя сам, то он не мог брить себя сам, так как он брил только тех, кто не брил самого себя, и наоборот. Объяснение состоит в противоречивости основного утверждения.

Запишем на формальном языке логики первого порядка формулу, выража ющую “парадокс брадобрея”. Для этого в сигнатуре нам понадобится бинарный предикатный символ, выражающий отношение “бреет”: R(x, y) значит x бреет y. Рассмотрим сигнатуру = {b, R}, где символ константы b – это брадобрей.

Утверждение “брадобрей бреет тех и только тех, кто не бреет самого себя” запи сывается тогда в виде формулы:

P := x(¬R(x, x) R(b, x)) x(R(b, x) ¬R(x, x)) Достаточно простого подсчета в соответствии с определением истинностного зна чения, чтобы убедиться в том, что эта формула не выполняется ни в какой ал гебраической сестеме.

Упражнение 2.1 Покажите справедливость следующих утверждений:

¬xP (x) x¬P (x), ¬xP (x) x¬P (x) Определение 2.12 Будем называть замыканием формулы P со свободными пе ременными Free(P) = {x1, x2,..., xk} формулу Cl(P) := x1, x2,..., xkP Теорема 2.3 Алгебраическая система M являeтся моделью формулы P, если и только если M является моделью замыкания P, т. е. M |= P если и только если M |= Cl(P).

18 Языки логики второго порядка Упражнение 2.2 Доказать теорему о замыкании.

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

3 Языки логики второго порядка Языки логики второго порядка отличаются от языков логики первого порядка наличием в алфавите дополнительно символов предикатных переменных (для которых мы резервируем большие латинские буквы X, Y, Z, возможно, с цифро выми индексами), а также наличием дополнительных формул вида X Q, X Q с использованием символов предикатных переменных.

Множество предикатных переменных алфавита A языка логики второго по рядка будем обозначать VarPred. Если надо подчеркнуть, что речь идет о мно жестве k-арных предикатных переменных, то будем писать VarPredk. Таким образом, A = Const Func Pred VarPred Var Log Aux.

Термы языкa логики второго порядка определяются так же, как и термы язы ка логики первого порядка, а формулы отличаются возможностью использовать предикатные переменные после кванторов:

< атомная формула > ::= < n - арный пред. символ > (< терм >,...) | < n - арная пред. переменная > (< терм >,...), < формула > ::= < атомная формула > | (¬ < формула >) |(< формула > < формула >) |(< формула > < формула >) |(< формула >< формула >) |( < переменная >< формула >) |( < переменная >< формула >) |(( < пред. переменная >< X >) < формула >) |(( < пред. переменная >< X >) < формула >), < терм > ::= < константа > | < переменная > | < n - арный функ. символ > (< терм >,...).

Чтобы не писать лишних скобок, мы применяем ранее введенное правило при оритетов операций:

P r () = P r () = P r (¬) > P r () > P r () > P r ().

Очевидно, чтобы интерпретировать формулы языка логики второго порядка, достаточно лишь слегка скорректировать сформулированные правила для семан тики языков первого порядка, добавив возможность интерпретировать “новые” формулы с предикатными переменными. Приведем поэтому только те определе ния, которые существенно меняются по сравнению с семантикой языков первого порядка.

Определение 3.1 Интерпретацией для языка логики второго порядка назы вается тройка (M,, ), где M – алгебраическая система, : Var M, :

VarPredk Bk, Bk := : L {0, 1} L Mk.

Таким образом, если символ предметной переменной интерпретируется эле ментом выбранного универсума, то символ k-арной предикатной переменной ин терпретируется характеристической функцией k-арного отношения на универсу ме.

Для вычисления истинностного значения формул языка логики второго по рядка необходимо в дополнение к соответствующим правилам, сформулирован ным для логики первого порядка, использовать следующие правила:

(i) v(Xk(t1,..., tk)) := (Xk)([t1],..., [tk]), где Xk VarPredk, а все ti TER;

(ii) v(Y (P)) := min v (P) : Bk, Y (iii) v(Y (P)) := max v (P) : Bk, Y где символом v (P) обозначено истинностное значение формулы P в интерпре Y тации (M,, Y ), Bk, X = Y Y (X) := (X), X = Y.

4 Логические языки с равенством Очень часто в алфавит языков логики первого или второго порядка, предназна ченных для формализации математических или естественнонаучных утвержде ний, включается двуместный предикатный символ равенства, обозначаемый, как правило, символом =. Такие языки будем называть языками с равенством. За метим, что вместо = (x, y) принято писать x = y.

20 Логические языки с равенством Пусть задана алгебраическая система M для интерпретации формул языка с равенством. Вообще говоря, если ничего дополнительно не требовать, то преди катному символу равенства может соответствовать в ней двуместное отношение, никак не соотносящееся с привычным для нас понятием равенства. Чтобы избе жать такой ситуации, принято требовать, чтобы в M был выполним набор пред ложений, называемых аксиомами равенства, характеризующих особые свойства отношения равенства.

Для языка первого порядка аксиомы равенства следующие:

(R) x (x = x), (S) xy(x = y y = x), (T ) xyz(x = y y = z x = z), (F ) x1... xny1... yn((x1 = y1 x2 = y2... xn = yn) (n(x1,..., xn) = n(y1,..., yn)), (P ) x1... xny1... yn((x1 = y1 x2 = y2... xn = yn) (Pn(x1,..., xn) = Pn(y1,..., yn)).

Здесь (R), (S), (T ) – аксиомы, выражающие, соответственно, рефлексивность, симметричность и транзитивность отношения равенства. (F ) и (P ) – это схе мы аксиом, т.е. “шаблоны” бесконечного, вообще говоря, множества аксиом. От дельные аксиомы получаются из схем (F ) и (P ) подстановкой вместо n любой выразимой в рассматриваемом языке n-местной функции (т.е. терма с n различ ными символами переменных), а вместо Pn – любого выразимого в этом язы ке n-местного предиката (т.е. атомной формулы с n свободными переменными).

Получаемые таким образом аксиомы называются вариантами соответствующих схем аксиом. Схемы аксиом (F ) и (P ) выражают, соответственно, неразличимость “равных” объектов (элементов универсума) при помощи выразимых в данном языке функций и предикатов.

Для языка логики второго порядка набор аксиом равенства состоит из ак сиом (R), (S), (T ) и аксиом (F ) и (P ), заменяющих схемы аксиом (F ) и (P ) соответственно:

(F ) fn x1... xny1... yn((x1 = y1 x2 = y2... xn = yn) (fn(x1,..., xn) = fn(y1,..., yn)), (P ) Xn x1... xny1... yn((x1 = y1 x2 = y2... xn = yn) (Xn(x1,..., xn) = Xn(y1,..., yn)).

Заметим, что в (P ) используется символ n-арной предикатной переменной Xn, а в (F ) используется символ n-арной функциональной переменной fn. Строго говоря, согласно данному нами определению, в алфавите языков логики второго порядка нет специально зарезервированных символов для функциональных пе ременных. Однако это никак не ограничивает выразительной силы языка второго порядка: на самом деле функциональные переменные можно заменить предикат ными переменными.

Действительно, функцию можно отождествить с ее графиком, а графики функций это частный случай отношений. Например, “формулу” f (P (f(x))) (где f – символ унарной функциональной переменной) можно считать просто сокра щенным написанием формулы X (func(X)(y(X(x, y) P (y)))), где формула func(X) := x!y X(x, y) выражает то факт, что X – график функции. Здесь использовано весьма распро страненное сокращение ! (“существует и единственно”):

!xP(x) := xP(x) xy(P(x) P(y) x = y).

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

Тем не менее, хотя истинность аксиом равенства в выбранной алгебраиче ской системе и означает, что предикатный символ равенства будет интерпрети роваться “разумно”, но она все-таки не гарантирует того, что он будет интер претироваться именно равенством, т.е. совпадением элементов универсума. По этому в дальнейшем, имея дело с языками с равенством, будем дополнительно требовать, чтобы в выбранной алгебраической системе предикатному символу равенства соответствовало бы отношение равенства (совпадения) элементов уни версума. Естественно, аксиомы равенства при этом автоматически оказываются истинными.

5 Арифметика Пеано Рассмотрим в качестве первого содержательного примера языков логики преди катов языки для описания арифметических действий с натуральными числами.

Для этой цели зададим сигнатуру ar := (0, s, +, ·, =), 22 Арифметика Пеано где 0 – символ константы “нуль”, s – символ унарной функции выделения следую щего по порядку числа, + и · – символы бинарных функций суммы и произведе ния, и, наконец, = – предикатный символ равенства. Как и в случае с символом равенства, для символов + и · будем в дальнейшем писать (x + y) и (x · y) вместо +(x, y) и ·(x, y), соответственно, а так же не писать “лишние” скобки, приписы вая символу · более высокий приоритет по сравнению с +, как это и принято в математике. Эта сигнатура задает два языка логики предикатов с равенством ar ar – первого L и второго порядка LI соответственно, которые мы будем назы I I вать языками арифметики Пеано (по имени итальянского математика Giuseppe Peano, впервые рассмотревшего формальные языки для описания арифметики).

Эти языки описывают только самые простые действия с натуральными числа ми “в пределах начальной школы”, в число которых, например, даже не входит возведение в степень. И все же даже такие простые на первый взгляд языки обладают, как мы в дальнейшем покажем, весьма неожиданными свойствами.

Возникает вопрос: какие формулы языка арифметики Пеано имеют смысл?

Очевидно, лишь те из них, которые верны для натуральных чисел (ведь именно для действий с ними предназначен этот язык). Выражаясь точнее, осмыслен ными разумно считать только формулы, выполнимые в алгебраической системе N, универсум которой есть множество натуральных чисел (с нулем), символ соответствует нулю (т.е. 0N := 0), символ s соответствует функции прибавле ния единицы (т.е. sN (n) := n + 1), а символы + и · соответствуют функциям сложения и умножения двух чисел (т.е. +N (m, n) := m + n, ·N (m, n) := mn). Ал гебраическую систему N будем в дальнейшем называть стандартной моделью арифметики.

Например, формулы x = s(0) или xy(¬y = 0 ¬x = x + y) языка арифме тики Пеано (заметим, что это формулы первого порядка, поэтому они принадле ar ar жат как L, так и L ), являются осмысленными утверждениями о натураль I II ных числах, иначе говоря, выполнимы в N, а формула x(x = 0), невыполнима в N, т.к. будучи “прочитанной” как утверждение о натуральных числах, она оче видно неверна.

Назовем множество формул языка арифметики Пеано первого или второго по рядка, соответственно, истинных в N, теорией элементарной арифметики T hi(N ) (соответствующего порядка, указываемого индексом i = I или i = II). В даль нейшем, если из контекста ясно, о каком языке арифметики – первого или вто рого порядка – идет речь, либо это не имеет значения, мы будем говорить просто о языке арифметики Пеано и о теории элементарной арифметики, не указывая порядок. Таким образом, теория элементарной арифметики ar T hi(N ) := {P L : N |= P}, i = I, II i является набором формул соответствующего порядка, выражающего истинные факты для натуральных чисел. Легко заметить, что введенные понятия весьма неконструктивны. А именно, они не заключают в себе никакого способа проверки, принадлежит ли данная формула языка арифметики Пеано теории элементарной арифметики (т.е. действительно ли она описывает некоторое свойство натураль ных чисел). Конечно, такой алгоритм, пусть и очень сложный, найти было бы весьма заманчиво. Ведь тогда творческую работу математиков, доказывающих все новые теоремы теории чисел, можно было бы заменить на программу, ра ботающую по такому алгоритму. Кстати, то же самое можно сказать и о любой другой математической (или даже шире – любой вообще научной) теории.

Попытаемся найти такой алгоритм. Для этого проанализируем, как на са мом деле математики проверяют истинность утверждений, например, из теории чисел. Конечно, не путем “прямого перебора” всех возможных наборов чисел, поскольку такая проверка в силу бесконечности множества натуральных чисел никогда бы не завершилась! Для проверки истинности данного утверждения ма тематик ищет его доказательство, исходя из некоторого набора аксиом. Иначе говоря, математик имеет в виду некоторый набор утверждений (называемых ак сиомами), не просто истинных в данной модели M, но и в каком-то смысле вполне ее характеризующих, иначе говоря, таких, что можно надеяться, что лю бое истинное утверждение о данной модели является логическим следствием этих аксиом. Часто говорят при этом, что – система аксиом для модели M.

Далее он пытается проверить, является ли данная формула P логическим след ствием аксиом (в этом и состоит процесс доказывания). Если |= P, то P истинно в данной модели, поскольку любая модель всех одновременно формул, в частности и M, является и моделью P.

О том, как устроен процесс доказывания, речь еще впереди. Сейчас же от метим, что успешность подобного рода действий во всяком случае должна за висеть от того, насколько удачно подобрана система аксиом. Действительно, обозначим |= множество всех логических следствий, а T h(M) – множество всех утверждений, истинных в модели M. Если выбрано корректно, то есть так, что все формулы из истинны в M, то |= T h(M). Но нам бы, есте ственно, хотелось, чтобы все формулы, истинные в M, были бы логическими следствиями. Но как это обеспечить? Иначе говоря, как выбрать множество, чтобы |= = T h(M)? Вопрос об удачном подборе такой системы аксиом для алгебраической системы M часто называют вопросом аксиоматизации M).

На поставленный вопрос есть, конечно, и тривиальный ответ: := T h(M), очевидно, удовлетворяет этому требованию. Но этот ответ совершенно не инте ресен: ведь вся затея с аксиомами нужна была как раз для того чтобы, “кон структивно” (т.е. алгоритмически) описывать множество T h(M), например, най ти алгоритм проверки того, является ли данная формула истинной в модели M.

Для этого множество должно быть в определенном смысле “обозримым” (же 24 Арифметика Пеано лательно вообще конечным или уж во всяком случае таким, которое может быть построено при помощи некоторого алгоритма), и конечно, не может совпадать с T h(M).

Вернемся к рассмотрению элементарной арифметики. Попытка предложить для нее разумную систему аксиом была осуществлена Пеано. Он показал, что практически все основные теоремы теории чисел (т.е. истинные утверждения о натуральных числах), записываемые в языке арифметики первого порядка, яв ляются логическими следствиями аксиом (P A1) x ¬(s(x) = 0), (P A2) x y (s(x) = s(y) x = y), (P A3) x (x + 0 = x), (P A4) x (x · 0 = 0), (P A5) x y (x + s(y) = s(x + y)), (P A6) x y (x · s(y) = x + x · y), (P A7) P(0) x (P(x) P(s(x))) y P(y), где ar P – любая формула языка L с одной свободной переменной.

I Мы будем называть формальной арифметикой Пеано первого порядка P A|= мно I жество всех логических следствий аксиом (P A5)–(P A7). Формальной арифмети кой Пеано второго порядка P A|= будем называть множество всех логических II следствий аксиом (P A1)–(P A6) и аксиомы X (X(0) x (X(x) X(s(x))) x X(x)) (IND).

Сами эти аксиомы мы также будем называть аксиомами Пеано. Аксиома (P A1) утверждает, что нуль – первый по порядку элемент натурального ряда. Аксиома (P A2) утверждает, что функция выбора следующего по порядку элемента инъ ективна, иначе говоря, что за каждым числом непосредственно следует только одно число. (P A3) и (P A4) задают правила прибавления нуля и умножения на нуль, а (P A5) и (P A6) связывают между собой функции сложения и умножения с функцией выбора следующего по порядку элемента. Наконец, (P A7) представ ляет собой схему аксиом (т.е. “шаблон” бесконечного числа аксиом) и выражает принцип математической индукции. Тот же самый принцип выражает и аксиома второго порядка (IND). Стоит еще раз подчеркнуть, что отличие формальной арифметики Пеано первого и второго порядка состоит только в написании прин ципа математической индукции. В первом случае он записывается при помощи бесконечного числа аксиом, объединенных в одну схему аксиом, а во втором – в одну аксиому второго порядка.

Очевидно, что стандартная модель N является моделью для арифметики Пе ано (как первого, так и второго порядка). А есть ли у арифметики Пеано другие модели? Стоит отметить, что заданный вопрос весьма глубокий, и по сути де ла является вопросом о том, что вообще следует понимать под натуральными числами. В самом деле, действия с натуральными числами являются для нас настолько привычными, что мы и не задумываемся об их смысле, а именно, о том, что такое число, что следует понимать под суммой и произведением чи сел и т.п. В окружающем нас мире натуральные числа отсутствуют – это лишь абстракция, “идея”, присутствующая только в нашем сознании (хотя, конечно, при построении этой, как и всякой другой, абстрактной конструкции, человече ство использует идеализацию свойств реальных объектов окружающего мира).

Значит, ответить на вопрос о том, что такое число, просто указав на какой-то объект или явление природы, невозможно. Поэтому математики, в особенности те из них, которые с особым трепетом относятся к строгости рассуждений, как правило, дают другой, весьма естественный и вместе с тем достаточно строгий (хотя и не вполне очевидный) ответ на этот вопрос. А именно, натуральные чис ла и действия с ними можно определить просто как элементы алгебраической системы, являющейся моделью всех “осмысленных утверждений о числах”. Сло ва “осмысленные утверждения о числах” взяты в кавычки, так как под этим на самом деле понимается некоторый набор утверждений языка арифметики Пеано первого или второго порядка, которые мы условимся считать таковыми. Раньше мы говорили об осмысленности формул языка арифметики, если они были вы полнимы в стандартной модели N. Но если мы хотим строго определить сами понятия натуральных чисел и действий с ними, то на такое понимание “осмыслен ности” опираться уже нельзя, так как, строго говоря, пока не определено даже само множество натуральных чисел N, являющееся универсумом алгебраиче ской системы N. Поэтому осмысленными в данном случае естественно считать лишь все логические следствия выбранной “разумной” системы аксиом, напри мер, в нашем случае формальную арифметику Пеано первого или второго по рядка. Тогда определение натуральных чисел и действий с ними как элементов соответствующей модели формальной арифметики становится уже достаточно строгим, поскольку оно не ссылается на интуитивное понятие числа как коли чества объектов любого сорта. Кстати, именно таким способом обычно строго определяют все другие базовые математические понятия, которые мы привыкли считать интуитивно ясными и неопределимыми. Например, в геометрии такими базовыми и неопределимыми понятиями принято считать точки, прямые и плос кости. “В природе” геометрических точек, прямых и плоскостей не существует.

Эти понятия получены в результате систематизации многотысячелетнего опыта 26 Арифметика Пеано обращения людей с реальными предметами очень маленьких размеров (в случае точек), очень тонкими и длинными предметами (в случае прямых) и очень плос кими предметами больших размеров (в случае плоскостей), а именно, в результа те абстрактизации (идеализации) свойств такого рода предметов. Полученная в результате умственная конструкция – мир геометрических точек, прямых и плос костей – далее описывается при помощи подходящего набора аксиом, т.е. такого, который бы адекватно нашему интуитивному представлению описывал свойства объектов этого мира и, по возможности, был бы достаточно полным в том смыс ле, что все (или, по крайней мере, значительная часть) истинные (опять-таки в соответствии с нашим интуитивным представлением) утверждения о таких объ ектах были бы логическими следствиями этих аксиом. Выбор системы аксиом, естественно, при этом соответствует только нашим интуитивным представлени ям об “адекватности” и “полноте” и поэтому никак не может быть формализован.

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

Итак, натуральные числа и действия с ними будут пониматься как элементы алгебраической системы, являющейся моделью формальной арифметики Пеано первого или второго порядка, в зависимости от того, какую систему аксиом – первого или второго порядка – мы будем выбирать. В связи с этим возникают два связанных между собой вопроса. Во-первых, насколько выбор набора аксиом влияет на получаемое понятие натуральных чисел (a priori это понятие зависит от выбранных аксиом)? Во-вторых, сколько вообще различных “версий” нату ральных чисел определяются выбранной системой аксиом (т.е. сколько разных моделей у выбранных аксиом). Простой ответ на второй вопрос очевиден: ни аксиомы Пеано первого, ни второго порядка не определяют натуральные чис ла и действия с ними однозначно. Действительно, предположим, что формаль ная арифметика Пеано (безразлично какого порядка) имеет модель. Элементы универсума этой модели мы считаем “настоящими” натуральными числами, т.е.

таким образом эта модель становится стандартной моделью арифметики. Но то гда очевидно, что моделью формальной арифметики Пеано будет являться и любая алгебраическая система M, универсум которой – произвольно выбран ная последовательность {xi}, 0M := x0, sM(xn) := xn+1, +M(xm, xn) := xm+n, i= ·M(xm, xn) := xmn). Однако более пристальное рассмотрение всех таких моделей убеждает, что все они между собой весьма схожи, а именно, они изоморфны в смысле следующего определения.

Определение 5.1 Пусть A и B алгебраические системы для языка L. A на зывается изоморфной B (пишут A B), если существует биекция : A B, удовлетворяющая условиям (i) (cA) = cB для всех c Const, (ii) (fA(t1, t2,..., tn)) = fB((t1), (t2),..., (tn)) для всех f Funcn, A B (iii) P (t1, t2,..., tn) = P ((t1), (t2),..., (tn)) для всех P Predn.

Очевидно, что отношение изоморфности моделей является отношением экви валентности, т.е. оно симметрично, рефлексивно и транзитивно (проверьте это!).

Не менее тривиально проверяется и следующее свойство.

Упражнение 5.1 Пусть A и B алгебраические системы для языка L, и пусть A B. Докажите, что для любого P верно A |= P, если и только если B |= P.

Данное упражнение показывает, что изоморфные алгебраические системы неразличимы при помощи языков логики первого и второго порядка. Поэто му уточним поставленный выше вопрос о существовании моделей формальной арифметики Пеано, отличных от стандартной, следующим образом: существуют ли модели формальной арифметики Пеано, неизоморфные стандартной? Ока зывается, ответ на этот вопрос различен для формальной арифметики первого и второго порядка. Для формальной арифметики второго порядка ответ дает следующая теорема.

Теорема 5.1 (Дедекинд) Любые две модели формальной арифметики Пеано второго порядка изоморфны между собой.

Доказательство: Пусть A |= P A|=. Докажем, что A N. Определим функ II цию : N A следующим образом:

(i) (0) := 0A, (ii) (n + 1) := sA((n)).

В силу принципа математической индукции функция, таким образом, коррект но задана на всем множестве N. Заметим, что в силу аксиомы (IND) принцип математической индукции действует во всех моделях P A|=.

II 28 Арифметика Пеано Выполнение условий (i)–(iii) определения изоморфизма алгебраических си стем при таком определении очевидно (проверьте это!). Осталось только прове рить, что таким образом определенная функция действительно является биекци ей.

Шаг 1. Докажем, что – инъекция, то есть из m = n следует (m) = (n).

Поведем доказательство по методу математической индукции в N.

• База индукции. Пусть n = 0, m = 0. Тогда m = k + 1 для некоторого k.

Этот факт верен, вообще говоря, только для стандартной модели. Тогда (m) = (k + 1) = sA((k)) = 0A = (0N) в силу (P A1). База индукции доказана.

• Шаг индукции. Пусть m = n + 1. Докажем, что при этом (m) = (n + 1).

Рассмотрим два случая.

Случай 1. m = 0. Тогда (n + 1) = sA((n)) = 0A = (0N ) = (m).

Случай 2. m = k +1. Из предположения m = n+1 следует k = n. Но тогда (k) = (n) в силу предположения индукции, а значит, sA((k)) = sA((n)) в силу (P A2). Поэтому (m) = (k + 1) = sA((k)) = (n + 1) = sA((n)).

В силу принципа математической индукции, таким образом, доказана инъек тивность функции.

Шаг 2. Докажем, что сюръективна, то есть, что для всех a A выполнено a Im(). Для этого воспользуемся принципом математической индукции, но на этот раз в A. Напомним, что этот принцип действует во всех моделях P A|= II в силу (IND). База индукции в этом случае тривиальна: 0A Im() по опре делению. Пусть теперь b Im(), то есть b = (n) для некоторого n N.

Тогда и sA(b) = (n + 1) Im() в силу определения, т.е. доказан и шаг индук ции. В силу произвольности b по принципу математической индукции все a A принадлежат образу, иначе говоря, функция сюрьективна.

В дальнейшем мы покажем, что утверждение, аналогичное теореме Дедекин да, неверно для формальной арифметики Пеано первого порядка, а именно, по следняя имеет бесконечно много разных с точностью до изоморфизма моделей.

Более того, среди этих моделей можно найти и такие, которые обладают универ сумом сколь угодно большой наперед заданной мощности. Иначе говоря, фор мальная арифметика Пеано первого порядка допускает бесконечно много прин ципиально разных “версий” натуральных чисел и действий над ними, в том числе и таких, в которых “множество натуральных чисел” несчетно (т.е. неизоморфно “стандартному” множеству натуральных чисел N)! Почему же доказательство теоремы Дедекинда не работает для формальной арифметики Пеано первого по рядка? Анализируя доказательство, мы видим, что в первом шаге нет никаких рассуждений, которых нельзя было бы провести для арифметики первого поряд ка (на этом шаге мы пользовались лишь аксиомами (P A1), (P A2) и принципом математической индукции в N ). Проблема, таким образом, во втором шаге, где мы воспользовались уже принципом математической индукции в A, а именно, тем, что для любого свойства X элементов универсума A верно следующее: если 0A обладает свойством X (база индукции), а также для любого b A из облада ния b свойством X следует обладание sA(b) тем же свойством, то свойством X обладают все элементы A. Для арифметики второго порядка выполнимость этого принципа в любой модели гарантирована аксиомой (IND). Однако в арифмети ке первого порядка вместо этой аксиомы имеется гораздо более слабый набор (схема) аксиом (P A7). Он гарантирует выполнение вышеприведенного принципа не для всех свойств X, а лишь для тех из них, которые можно записать при помощи формул P языка арифметики Пеано первого порядка с одной свободной переменной. Заметим, что множество таких свойств очевидно счетно, так как алфавит языка конечен. В то же время всех вообще свойств элементов множе ства A гораздо больше. Действительно, такие свойства можно тривиально отож дествить с подмножествами универсума A (каждому свойству X соответствует подмножество элементов A, обладающих этим свойством, а каждому подмноже ству A соответствует свойство принадлежности этому подмножеству). Так как A не может быть конечным множеством (в силу (P A1) и (P A2)), то множество всех свойств элементов A более чем счетно! Таким образом, обязательно найдут ся свойства, невыразимые формулами первого порядка с одной свободной пере менной, и таким вполне может оказаться свойство принадлежности множеству Im(), а значит, второй шаг доказательства становится необоснованным.

Еще одно важное замечание: в доказательстве теоремы Дедекинда мы вос пользовались тем, что в стандартной модели арифметики из m = 0 следует m = k+1 для некоторого натурального k. Никакая аксиома Пеано не гарантирует выполнение этого свойства во всех моделях формальной арифметики Пеано. Тот же факт, что это свойство верно для стандартной модели арифметики, следует из наших знаний именно об этой модели, а не из аксиом арифметики. Кстати, и само существование такой стандартной модели арифметики тоже не обеспечи вается аксиомами Пеано. Строго обосновать существование стандартной модели арифметики, обладающей привычными для нас свойствами, можно только при помощи введения специальных “более сильных” аксиом, например, аксиом теории множеств, речь о которой впереди.

30 Элементы теории доказательств 6 Элементы теории доказательств 6.1 Формальные cистемы В предыдущей главе мы отложили вопрос о том, как проверять, является ли данная формула P L логическим следствием заданного множества формул L. Очевидно, что осуществить такую проверку в соответствии с определе нием не представляется возможным. Действительно, нельзя просто перебрать всевозможные модели всех одновременно формул множества, чтобы прове рить, являются ли они моделями формулы P, т.к. число таких моделей может быть бесконечно, за исключением разве что некоторых тривиальных случаев.

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

Будем различать семантические и формальные истины, определяемые для формул. Семантические истины это те формулы, которые семантически сле дуют из, формальные – те, которые выводятся из данного набора при помощи принятых правил доказывания. Важно отметить, что истина, полученная при по мощи формального вывода (доказательства) существенно зависит от того, какие правила доказывания мы считаем допустимыми. В любом случае хотелось бы, чтобы формулы выводимые (доказуемые) были истинны семантически. Иначе правила вывода получаются некорректны (они существуют для вывода семанти ческих истин, а не всякой ерунды). Но, конечно, желательно, чтобы наши пра вила были в определенном смысле полны, то есть формально выводились бы все семантические истины.

Рассмотрим формальный язык L V над алфавитом V. Будем называть секвенцией выражение вида V1, V2,..., Vn V, где Vi L, i = 1,..., n и V L, либо выражение вида V, где V L. В первом случае будем читать секвенцию V1, V2,..., Vn V как “V1, V2,..., Vn выводит (или доказывает, если L – какой-либо логическийязык) V ”, или “из V1, V2,..., Vn следует V ”. Во втором случае секвенцию V будем чи тать как “V выводима”, или выводима из пустого множества посылок (доказуема, если L – какой-либо язык логики). Теперь введем следующее определение.

6.1 Формальные cистемы Определение 6.1 Будем говорить, что задана формальная система, если заданы (i) набор секвенций вида V, где V L, называемых аксиомами формальной системы;

(ii) набор секвенций вида V1, V2,..., Vn V где V L и Vi L, i = 1,..., n, называемых простыми правилами вывода;

0 (iii) набор условных правил вывода вида “из 0 V и 1 V следует V ”, 0 где 0, 1, конечные подмножества L, и {V, V, V } L.

Определение 6.2 Слово (формула) V L называется непосредственным след ствием слов (формул) {V1, V2,..., Vn} L, если либо V1, V2,..., Vn V, где V1, V2,..., Vn V – одно из простых правил вывода в формальной системе, либо если найдутся такие конечные множества 0 L, 1 L и такие сло 0 1 0 ва (формулы) V L и V L, что правило “из 0 V и 1 V следует V1, V2,... Vn V ” является одним из условных правил вывода формальной си стемы.

Определение 6.3 Слово (формула) V L выводимо (доказуемо) из {V1, V2,..., Vn} L, если найдется такая последовательность формул {Wi}k, i= где k N, где Wk = V и каждое из слов Wi L, где i = 1,..., k является (i) либо аксиомой формальной системы ;

(ii) либо одной из формул V1, V2,..., Vn;

(iii) либо непосредственным следствием некоторого подмножества слов (фор мул) {W1, W2,..., Wi-1}.

В этом случае будем писать V1, V2,..., Vn V, причем индекс, указывающий на используемую формальную систему, будем опускать, если это не ведет к неясности.

Определение 6.4 Формальная система называется корректной, если для любого множества L и для любого P L из P следует |= P, то есть все формальные истины, получаемые при помощи данной формальной системы, являются семантическими истинами.

32 Элементы теории доказательств Определение 6.5 Формальная система называется полной, если для любого множества L и для любого P L из |= P следует P, то есть все семантические истины можно получить формально.

Таким образом определенное понятие формальной системы применимо вовсе не только к языкам логики. Это просто инструмент для операций с цепочками символов заданного формального языка.

Приведем простейший пример формальной системы.

Пример 6.1 Рассмотрим язык L, совпадающий со множеством всех слов над алфавитом {a, b}, и формальную систему, содержащую две аксиомы • a, • b, и бесконечное количество правил вывода, объединенных в две группы • A aAa, • A bAb, где A – любое непустое слово языка. Для этой формальной системы, например, можно получить aaa, bab, babab. В частности, из пустого множества выводимы любые палиндромы нечетной длины (цепочки символов, которые чи таются одинаково слева направо и справа налево). Этот же пример показы вает и различие семантической и формальной истин. К примеру, условимся считать “осмысленными” (семантически истинными) все палиндромы, а фор мальными истинами – всё, что выводимо из пустого множества. Тогда не все семантические истины оказываются формальными (то есть формальная система неполна), но формальные истины всегда являются семантическими, иначе говоря, формальная система корректна.

Другой пример формальной системы, не имеющей отношения к логике: фор мальная система для языка записи шахматных позиций. У неё одна аксиома – это начальная позиция, а правила вывода – правила ходов. Стоит отметить, что в по нятие позиции входит не только положение фигур на доске, но также и признаки того, делал ли игрок ход королем и кто из игроков сделал последний ход.

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

6.2 Естественная дедукция Логические заключения, которые используют люди в своих рассуждениях, опре деляется рядом элементарных правил, которые сформулированы ещё Аристоте лем. Формализация этих правил приводит к различным формальным системам 6.2 Естественная дедукция для логических языков. Впредь мы будем рассматривать одну из таких фор мальных систем для языка логики предикатов первого порядка, называемую естественной дедукцией (Natural deduction). Аксиом в ней нет, а правила вы вода можно разделить на две группы: правила введения (обозначаются буквой i – "introduce", слева соответствующий значок отсутствует, справа присутствует), и правила исключения (обозначаются буквой e – "eliminate", справа соответству ющий значок отсутствует, слева присутствует) для каждого логического значка и квантора (,,, ¬,, ). При формулировке этих правил мы покажем их за пись в строчной форме и в форме столбца (дерева), а именно, строчную запись A A B можно заменить записью в столбец (в виде дерева).

B правило A B (e1) A B A исключения “и” A правило A B (e2) A B B исключения “и” B правило A B (i) A, B A B введения “и” A B правило введения A (i1) A A B “или” слева A B правило введения A (i2) A B A “или” справа B A [A]1 [B] Если A C правило C C A B (e) и B C, исключения “или” то A B C C Иначе говоря, последнее правило можно “прочесть” так: если C доказано с использование допущения A, и C доказано с использованием допущения B, и при этом мы знаем, что верно A B, то можно считать доказанным C (уже без пред положений о верности A и B). В последнем правиле использовалось следующее обозначение: посылка в квадратных скобках означает, что её можно исключить из рассмотрения. Можно представить себе это как “обрывание” листьев дере ва доказательства, соответствующих тем посылкам, которые можно исключить.

Индексом около квадратных скобок показывается то место в дереве, где “обо рванный лист” был использован (то есть посылки, заключенные в квадратные скобки, стали ненужными). Дерево доказательства можно читать так: необорван ные листья доказывают корень. Читателю предоставляется возможность самому 34 Элементы теории доказательств разобраться, какой формой записи пользоваться удобно, а именно, запись в виде дерева весьма компактна, но не всегда легко читаема. Зато запись в строчку (с подробными комментариями), как правило, легко читается, но редко получается компактной.

A A B правило исключения импликации ( e) A, A B B или modus ponens (m.p.) B [A] B Если A B ( i) правило введения импликации то A B A B Обратимся к правилам, имеющим дело с логическим значком отрицания. Вве дем псевдоформулу “ложь”, истинностное значение которой во всех интерпре тациях будем считать нулем. С помощью такой псевдоформулы можно, напри мер, весьма легко записать противоречивость множества формул следующим образом:

|=.

Теперь можно сформулировать правила для значка отрицания и константы "ложь":

(e) правило исключения константы ложь. A A Данное правило допускает простую интерпретацию: из лжи следует все что угод но (ex falsum sequitor quodlibet). Даже несведущим в формальной логике людям это правило хорошо известно;

например, оно применяется в житейском споре в виде восклицания “если это (очевидно ложное для собеседника утверждение) верно, то я Папа Римский”.

¬A A (i) правило введения константы “ложь” ¬A, A [A] Если A (¬i) правило введения отрицания то ¬A ¬A [¬A] правило сведения к противоречию Если ¬A (RAA) (reductio ad absurdum) то A A 6.2 Естественная дедукция Наиболее “нетривиальное” правило – последнее. При использовании этого пра вила непонятно, как конструктивно выписать A, что породило два крупных направления в логике – классическая и интуиционистская (не принимает послед него правила). Чтобы доказать какое-либо утверждение, в интуиционистской ло гике необходимо предъявить цепочку доказательства.

Теорема 6.1 Правило сведения к противоречию (RAA) эквивалентно закону исключенного третьего (tertium non datur) (A ¬A) (T ND) Доказательство:

1. Докажем, что из правила сведения к противоречию (RAA) следует закон исключенного третьего (TND). Доказательство удобно записать в виде следую щего дерева.

[A]1 [A ¬A] ¬A ¬A ¬A A ¬A [¬(A ¬A)] A ¬A 2. Докажем, что из закона исключенного третьего (TND) следует правило сведе ния к противоречию (RAA).

Пусть ¬A, тогда [¬A] [A] A ¬A A A A Таким образом нами была доказана эквивалентность закона исключенного тре тьего и правила сведения к противоречию.

Подход интуиционистов нельзя отметать сразу, поскольку уверенными можно быть в истинности только проверяемых утверждений. Рассмотрим в качестве примера утверждение о бесконечной последовательности бит, например (i) данная последовательность состоит только из единиц;

(ii) в данной последовательности есть хотя бы один нуль.

36 Элементы теории доказательств Очевидно, что ни одно из этих утверждений не может быть проверено (для про верки их понадобилось бы бесконечное время). Классическая логика тем не ме нее утверждает, что ровно одно из утверждений (i) и (ii) является истинным (в силу закона исключенного третьего (TND)). Интуиционистский же подход в данном случае является более осторожным: поскольку ни одно из рассматривае мых утверждений практически проверено быть не может, то нельзя утверждать истинность того, что “верно либо (i), либо (ii)”.

6.3 Подстановки в термах и формулах Для того, чтобы сформулировать правила введения кванторов всеобщности и существования, будем считать неразличимыми формулы, которые отличаются только именами связанных переменных. Например, yP (x, y) и zP (x, z) будем считать одной и той же формулой.

Нам также понадобится ввести операцию замены переменных в формуле. В дальнейшем будем понимать под обозначением P[t/x], где P L, x Var, и I t TER(L) замену всех вхождений переменной x на терм t. Мы определим I замену переменных для языка логики первого порядка следующим образом.

Определение 6.6 (Замена переменных для термов). Пусть s, t TER, x Var. Определим замену s[t/x] следующим образом.

(i) Если s = c Const, то s[t/x] := c.

(ii) Если s = y Var, причем y отлично от x, то s[t/x] := y.

(iii) Если s = x Var, то s[t/x] := t.

(iv) Если s = fk(t1,..., tk), где fk k-арный функциональный символ, и t1,..., tk TER(L), то s[t/x] := fk(t1[t/x],..., tk[t/x].

I Пример 6.2 Пусть c символ константы, x, y символы предметных пере менных, а f тернарный функциональный символ. Тогда f(x, s(x, y), y)/ = f(s(f(x, s(x, y), y), c), c, y) f(s(x, c), c, y) x Определение 6.7 (замена переменных для правильных формул). Пусть t TER(L), x Var, P, Q, Ak k-арный предикатный символ. Определим I замену так:

(i) Если P атомная формула, т. е. P = Ak(t1,..., tk), то P[t/x] = Ak(t1,..., tk)[t/x] := Ak(t1[t/x],..., tk[t/x]).

6.3 Подстановки в термах и формулах (ii) Если P = (¬Q), то P[t/x] := (¬Q[t/x]).

(iii) Если P = (R Q), то (P)[t/x] = (R[t/x] Q[t/x]), где это один из символов, или.

(iv) Если P = (yQ), где один из кванторов или, то 1. Если y = x и y V AR(t), то (yQ)[t/x] = (yQ[t/x])., где V AR(t) – множество всех символов предметных переменных в терме t.

2. Если y = x, но y V AR(t), то (yQ)[t/x] = (rQ[r/y][t/x]), где r V AR(t) (см. пример).

3. Если y = x, то замена не делается, т. е. (xQ)[t/x] = (xQ).

Пример 6.3 Пусть < – бинарный предикатный символ (вместо < (x, y) будем писать x < y), f – унарный функциональный символ, x и y – символы предмет ных переменных. Тогда f (y)/ = z (f (y) < z) y (x < y) x (а не y (f (y) < y)).

Теперь мы можем сформулировать правила введения и исключения для кван торов всеобщности и существования:

xA правило исключения xA A [y/x] (e) квантора всеобщности где y T ER(L) A [y/x] I Если A [y/x] то xA A [y/x] правило введения (i) если y free(Q) / квантора всеобщности xA Q Заметим, что в последнем правиле весьма важно предположение о том, что y не входит свободно ни в одну из формул множества (иначе говоря, y – “произ вольная” переменная). Это правило иногда формулируют так: если A [y/x] для произвольного y, то A для любого x. Опустить “предположение” о произ вольности y здесь нельзя. Например, введем в арифметике Пеано две формулы с одной свободной переменной: Odd(x) и Even(x), означающие по смыслу, что x соответственно “нечетное” или “четное” число. Запишем их следующим образом Even(x) := y(2 · y = x), 38 Элементы теории доказательств где 2 := s(s(0)), Odd(x) := Even(s(x)) Тогда в силу доказанного правила (id) имеем Odd(y) Even(S(y)) Однако неверно, что Odd(y) xEven(s(x)). То есть из нечетности некоторого y не следует четность всех чисел! Правило введения квантора всеобщности было применено неправильно, поскольку символ предикатной переменной y, входящий в формулу, не являлся произвольным (он входил свободно в формулу-посылку).

Правила введения и исключения для квантора существования следующие:

правило введения A[t/x] A[t/x] xA (i) квантора где t T ER(L) xA I существования [A[y/x]] Если, A[y/x] C xA правило исключения C то, xA C (e) квантора C где y free(Q) / существования QC В качестве примера докажем следующую метатеорему:

Теорема 6.2 x (A (x) yA(y)) для любой формулы A L с одной свобод ной переменной.

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

Доказательство: Сначала докажем, что ¬A(x) x(A(x) y(A(y))). Дока зательство представим в виде дерева [¬A(x)]2 [A(x)] (i) e y(A(y)) (1, i) A(x) yA(y) (i) x(A(x) yA(y)) Теперь предположим дополнительно, что ¬x(A(x) yA(y)). Получим 6.3 Подстановки в термах и формулах x(A(x) yA(y)) [¬x(A(x) yA(y))] (i) (e) A(x) (i) yA(y) (i) A(x) yA(y) (i) x(A(x) yA(y)) При доказательстве было использовано новое правило вывода B A B. Спра ведливость такого правила вывода доказывается так:

[A]2 B B(2 i) A B Таким образом доказано, что x (A (x) yA(y)).

В интуиционистской теории данная метатеорема неверна (использован закон ис ключенного третьего (TND)). Объясняется же она просто: либо все люди носят шляпы, либо есть человек, который шляпу не носит, тогда он и есть искомый.

В качестве второго примера докажем, что в арифметике Пеано никакой эле мент не следует сам за собой.

Теорема 6. (P A) x (¬s (x) = x).

Доказательство: Будем пользоваться принципом математической индукции.

Доказательство построим в несколько этапов.

1. База индукции:

(P A) ¬s (0) = 0. Доказательство использует аксиому(P A1).

x¬s (x) = ¬s (0) = 2. Докажем (P A) x (¬s (x) = x ¬s (s (x)) = s (x)). Доказательство удоб но представить в виде дерева 40 Элементы теории доказательств xy(s(x) = s(y) x = y) y(s(x) = s(y) x = y) s(x) = s(s(x)) x = s(x) [s(x) = s(s(x))] x = s(x) [¬x = s(x)] ¬s(x) = s(s(x)) ¬x = s(x) ¬s(x) = s(s(x)) x(¬x = s(x) ¬s(x) = s(s(x))) 3. Используя результаты шагов 1 и 2 и правило (i) получаем (P A) s (0) = 0 x (¬s (x) = x ¬s (s (x)) = s (x)).

4. Произведем подстановку в схему аксиом индукции (P A7) на место P фор мулы с одной свободной переменной P (x) := ¬s (x) = x.

В результате получим (P A) s (0) = 0 x (¬s (x) = x ¬s (s (x)) = s (x)) x(¬s (x) = x).

5. Из результатов шагов 3 и 4, с помощью правила modus ponens получим (P A) x¬s (x) = x, что и требовалось доказать.

6.4 Корректность и полнота естественной дедукции Напомним определения корректности и полноты формальной системы.

Определение 6.8 Формальная система для языка L называется • корректнoй, если для любых L, P L из P следует |= P;

• полнoй, если для любых L, P L из |= P следует P.

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

Определение 6.9 Формальная система для языка L называется • корректнoй в слабом смысле, если для любой формулы P L из P следует |= P;

• полнoй в слабом смысле, если для любой формулы P L из |= P следует P.

Требование корректности формальной системы является совершенно есте ственным. Действительно, если формальная система корректной не является, то найдется такая система аксиом и такая теорема P, что P можно доказать с использованием этой формальной системы и множества посылок, но в то же время P семантически не следует из. Так что такая формальная систе ма не удовлетворяет своему предназначению – формальными синтаксическими манипуляциями выводить именно только логические следствия. Другое дело – свойство полноты. Оно является в некотором смысле более сильным, так как означает возможность при помощи данной формальной системы вывести любое логическое следствие произвольного множества формул.

Теорема 6.4 (о корректности) Естественная дедукция корректна.

Доказательство: Пусть L, P L и P. Докажем |= P индукцией по глубине n дерева вывода формулы P (т. е. количеству шагов вывода). Иначе говоря, сначала докажем |= P для случая деревьев, в которых не использовано ни одно правило вывода (n = 0), затем, предполагая, что |= P доказано для всех деревьев вывода глубиной n k, докажем справедливость этого утвержде ния для случая n = k + 1. При этом в силу принципа математической индукции утверждение будет доказано для всех возможных деревьев вывода P незави симо от глубины.

База индукции. Пусть n = 0. Тогда P, а значит, |= P.

Шаг индукции. Пусть утверждение доказано для всех n k. Предположим, что P за n = k + 1 шаг. Рассмотрим все возможные правила вывода, кото рые могли быть использованы на последнем шаге для получения формулы P, и докажем для каждого случая |= P.

42 Элементы теории доказательств (e) Это значит P = P1, причем P1 P2 и за k шагов, а значит, в силу предположения индукции |= P1 P2. Следовательно, в любой модели всех одновременно формул v(P1 P2) = 1, а значит, v(P) = v(P1) = 1, то есть |= P.

(i) В этом случае P = P1 P2, причем P1 и P2 не более чем за k шагов, а значит, в силу предположения индукции |= P1 и |= P2. Рассмотрим любую модель всех одновременно формул. Мы только что доказали, что v(P1) = 1 и v(P2) = 1, но тогда и v(P) = v(P1 P2) = 1, иначе говоря, |= P.

( i) Тогда P = P1 P2, причем, P1 P2 за k шагов, а значит, в силу пред положения индукции, P1 |= P2. Рассмотрим любую модель всех одновре менно формул. Если в этой модели v(P1) = 1, то в силу только что дока занного v(P2) = 1, а значит и v(P) = v(P1 P2) = 1. Но если v(P1) = 0, то v(P) = v(P1 P2) = 1. Таким образом, в любом случае |= P.

1. (i) Тогда P = xQ, причем Q[y/x] за k шагов. Значит, |= Q[y/x] в силу предположения индукции. Рассмотрим любую интерпретацию (M, ), являющуюся моделью всех одновременно формул. Тогда для любого b M при (y) = b имеем v(Q[y/x]) = 1, а значит, v(P) = v(xQ) = 1. Следо вательно, |= P.

Все остальные случаи, соответствующие правилам вывода, которые могли быть применены на последнем шаге вывода для получения формулы P, предлагается разобрать в качестве упражнения.

Упражнение 6.1 Докажите, что из выполнимости множества формул следует его непротиворечивость в естественной дедукции.

Полнота естественной дедукции. Исторически первая теорема о полноте формальной системы была доказана К. Геделем, поэтому традиционно всякую теорему о полноте некоторой формальной системы принято называть теоремой Геделя о полноте этой системы. Соответственно, в данном случае мы имеем дело с теоремой Геделя о полноте классической естественной дедукции. Доказательство ее будет основано на следующей теореме:

Теорема 6.5 (о модели) Пусть множество формул совместно в смысле классической естественной дедукции. Тогда выполнимо (т. е. имеет модель).

Теорема 6.6 (о полноте) Классическая естественная дедукция полна.

6.4 Корректность и полнота естественной дедукции Доказательство: Пусть L, P L такие, что |= P. Тогда множество {¬P} невыполнимо, а значит, в силу теоремы о модели, и несовместно в клас сической естественной дедукции. Иначе говоря,, ¬P. Применяя правило сведения к противоречию (RAA), или (¬e), получаем P.

Для доказательства теоремы о модели нам понадобится ряд вспомогательных конструкций.

Определение 6.10 Будем говорить, что множество L содержит сви детелей, если для любой формулы вида xP L найдется такой терм t T ER(L) (называемый свидетелем), что xP P[t/x].

Важно отметить следующее: для того, чтобы множество L содержало свидетелей, мало наличия соответствующих термов-свидетелей только для суще ствовательных формул из. Они должны найтись для любой существовательной формулы всего языка L.

Определение 6.11 называется максимально совместным множеством, ес ли оно строго не содержится ни в одном другом совместном множестве.

Лемма 6.1 Если множество является максимально совместным, то P если и только если P.

Доказательство: Нетривиальным является только доказательство того, что P влечет P. Предположим противное, т. е. P, но P. Тогда множество {P} совместно, что противоречит исходному предположению о максимальной совместности множества. Действительно, иначе бы, P, а значит, в силу правила (¬i), ¬P, что вместе с предположением P приво дит к противоречию.

Теперь мы можем перейти непосредственно к основной конструкции доказа тельства теоремы о модели. Зададимся целью построить модель (M, ) сов местного множества формул. Для этого выберем в качестве универсума M множество термов языка L, т. е. M := T ER(L). Положим cM := c для любо го символа предметной константы c Const, fM (t1, t2,..., tn) := f(t1, t2,..., tn) для любого n-арного функционального символа f Funcn и 1, A (t1, t2,... tn), AM (t1, t2,... tn) := 0, иначе для каждого n-арного предикатного символа A Predn, и, наконец, (x) := x для любого символа предметной переменной x Var.

44 Элементы теории доказательств Лемма 6.2 Если содержит свидетелей и является максимально совмест ным, то (M, ) |= P, если и только если P. В частности, построенная интерпретация (M, ) является моделью всех одновременно формул множе ства.

Доказательство: Для доказательства воспользуемся теоремой об индукции по структуре формул языка L.

База индукции. Пусть P – атомная формула, т. е. P = A(t1, t2,..., tn). Тогда непосредственно из нашей конструкции следует, что условие (M, ) |= P вы полняется в том и только в том случае, когда P = A(t1, t2,..., tn), а это, в свою очередь, эквивалентно тому, что P.

Шаг индукции.

1. Пусть P = ¬Q. Тогда условие (M, ) |= P эквивалентно условию (M, ) |= Q. В силу предположения индукции последнее эквивалентно Q, что в силу максимальной совместности выполняется, если и только если Q. Докажем теперь, что в силу максимальной совместности условие Q эквивалентно условию ¬Q. Действительно, если ¬Q, то Q, иначе множество не было бы совместным. Если же Q, то так как множество {Q} несовместно в силу предположения о максимальной совместности множества, можно заключить по правилу (¬i), что ¬Q, или ¬Q в силу леммы 6.1.

Таким образом, доказано, что (M, ) |= P, если и только если P = ¬Q.

Но последнее ввиду леммы 6.1 эквивалентно P.

2. Пусть P = P1 P2. Тогда условие (M, ) |= P выполнено, если и только если одновременно (M, ) |= P1 и (M, ) |= P2. В силу предположения индукции (M, ) |= Pi, i = 1, 2, эквивалентно условию Pi. Таким образом, доказано, что (M, ) |= P, если и только если одновременно P1 и P2. Но последнее эквивалентно P = P1 P2. Действительно, если Pi, i = 1, 2, то P1 P2 в силу правила (i). Наоборот, пусть P1 P2. Тогда Pi в силу правил (e.1) и (e.2).

3. Пусть P = xQ. Тогда условие (M, ) |= P выполнено, если и только если существует такой терм t T ER(L) = M, что (M, [t/x]) |= Q. Но по следнее условие эквивалентно (M, ) |= Q[t/x] (докажите это в качестве упражнения!), что в свою очередь в силу предположения индукции экви валентно условию Q[t/x]. Докажем, что Q[t/x] выполняется тогда и только тогда, когда xQ, т. е. P. Действительно, из P [t/x] следует xQ в силу правила (i). Наоборот, если xQ, то так как содержит свидетелей, то найдется такой терм-свидетель t T ER(L), что xQ P [t/x]. Тогда в силу modus ponens Q[t/x].

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

случаи P = P1 P2, P = P1 P2 и P = xQ), предлагается разобрать в качестве упражнения.

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

Построим новую сигнатуру, содержащую, а также дополнительно для каждой формулы вида xP L новый (т. е. не содержащийся в ) символ пред метной константы cP, разный для разных формул. В новом языке логики пре дикатов первого порядка L := L содержится, таким образом, весь язык L. В этом новом языке дополним множество всеми формулами вида xP P[cP/x], где cP – новый символ предметной константы, соответствующий формуле xP.

Полученное расширенное множество обозначим.

Лемма 6.3 Множество совместно, если и только если совместно множе ство.

Доказательство: Докажем, что из, xP P[cP/x] Q, где L и P, Q L, а cP – новый (т. е. отсутствующий в сигнатуре и добавленный в соответствии с конструкцией ) символ предметной константы, следует Q.

Действительно, если, xP P[cP/x] Q, то (xP P[cP/x]) Q в силу правила ( i). Но тогда xP P[y/x] Q, где y – символ предметной переменной, не входящий свободно ни в формулу Q и ни в одну из формул множества (докажите это!). Из правила (i) следует при этом y(xP P[y/x] Q). Но так как y(xP P[y/x] Q) y(xP P[y/x]) Q, а y(xP P[y/x]) Q (xP yP) Q и xP yP (докажите эти утверждения!), то Q.

Пусть теперь несовместно, т. е.. Это значит, что, R1,..., Rn для какого-то конечного числа добавленных формул Ri вида Ri := xPi P[cP /x]. Докажем индукцией по n, что тогда. Действительно, для n = i это утверждение тривиально. Но если оно верно для n = k, и, R1,..., Rk+1, то, Rk+1, где := {R1,..., Rk}. Так как символ предметной константы cP не входит ни в одну из формул, то по только что доказанному, а k+ значит, в силу предположения индукции.

46 Элементы теории доказательств Пусть теперь L0 := L, 0 :=, 0 :=, Lk+1 := L, k+1 := k, k+1 :=, k N, k k L := Lk, := k, := k.

kN kN kN Лемма 6.4 Пусть множество совместно. Тогда множество совместно и содержит свидетелей.

Доказательство: Рассмотрим произвольную формулу вида xQ L. Тогда xQ Lk для какого-то k N, следовательно, найдется такой добавленный на k + 1 шаге символ предметной константы cQ k+1 \ k, что xQ Q[cQ/x] k+1, а значит, множество содержит свидетелей.

Докажем теперь, что совместно. Предположим противное, т.е.. Зна чит, найдется такое конечное множество посылок (листья дерева дока зательства ), что. Но так как по определению последовательность множеств {i}iN расширяющаяся и объединение всех множеств этой последо вательности есть, то k для какого-нибудь k N. Значит, k, что противоречит лемме 6.3, в силу которой все i, i N совместны.

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

Лемма 6.5 (Цорн) Пусть частичный порядок (, <), таков, что любой содер жащийся в нем линейный порядок имеет максимальный элемент. Тогда (, <) имеет максимальный элемент.

Теорема 6.7 (Линденбаум) Любое совместное множество формул содержится в некотором максимальном совместном множестве.

Доказательство: Пусть L – заданное совместное множество формул. На множестве совместных подмножеств языка L, содержащих, введем отношение порядка следующим образом: будем говорить, что 1 < 2, если 1 2. Cоот ветствующий частичный порядок обозначим (, <). Рассмотрим произвольный линейный порядок (F, <), содержащийся в (, <). Докажем, что объединение всех множеств формул из F, является максимальным элементом порядка (F, <).

Очевидно, содержит. С другой стороны, совместно. Действительно, иначе бы, а значит, нашлось бы такое конечное множество посылок (листья дерева доказательства ), что. Но так как – объединение расширя ющегося семейства множеств F, то найдется такое множество формул 0 F, что 0, а значит, 0, что противоречит совместности всех элементов F.

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

Теперь мы в состоянии легко доказать теорему о модели 6.5.

Доказательство теоремы 6.5 (о модели):

Пусть L – заданное совместное множество формул. Построим язык L и множество формул L. В силу леммы 6.4 множество совместно и со держит свидетелей. По теореме Линденбаума найдется максимально совместное множество L, содержащее (поэтому оно тем более будет содержать свидетелей). Это множество формул выполнимо ввиду леммы 6.2, а значит, тем более выполнимо и содержащееся в нем множество.

Единственной неприятной особенностью конструкции доказательства теоре мы о модели является то, что для языков с равенством предикатный символ ра венства будет интерпретироваться в построенной модели некоторым бинарным отношением на соответствующем универсуме, которое, вообще говоря, будет от личным от отношения равенства, понимаемого в смысле совпадения элементов универсума. Однако это доказательство легко исправить с учетом требования ин терпретации символа равенства отношением совпадения элементов универсума.

Действительно, достаточно на множестве термов T ER(L) расширенного языка L ввести отношение эквивалентности “” следующим образом: будем говорить, что t1 t2, если атомная формула t1 = t2 содержится во множестве (про верьте, что это действительно отношение эквивалентности, т. е. оно рефлексив но, симметрично и транзитивно). Тогда в качестве универсума конструируемой модели выберем фактор-множество M := T ER(L)/ (т.е. множество классов эквивалентных термов). Обозначая класс термов, эквивалентных данному терму t, за [t], положим cM := c для каждого символа предметной константы c Const, fM([t1], [t2],..., [tn]) := [f(t1, t2,..., tn)] для каждого n-арного функционального символа f Funcn, 1, A (t1, t2,..., tn) AM ([t1], [t2],..., [tn]) := 0, иначе для каждого n-арного предикатного символа A Predn, и, наконец, ([x]) := [x] для любого символа предметной переменной x V ar. Осталось проверить, что данное определение корректно и действительно задает модель всех одновременно формул множества, а значит, и меньшего множества. Проведите эту провер ку самостоятельно в качестве упражнения, фактически только слегка поправляя доказательство леммы 6.2.

48 Основы теории моделей 7 Основы теории моделей Из самого факта существования корректных и полных формальных систем для языков логики первого порядка следует целый ряд весьма нетривиальных выво дов о семантике этих языков. А именно, о том какие модели и сколько моделей (с точностью до изоморфизма) могут иметь множества формул языков логики пер вого порядка. В этой главе мы рассмотрим основные нетривиальные результаты о семантике языков логики первого порядка.

Теорема 7.1 (О семантической компактности) (i) Множество формул L выполнимо (то есть имеет модель) тогда и только тогда, когда любое его конечное подмножество выполнимо.

(ii) логически выводит P тогда и только тогда, когда найдется такое ко нечное, что |= P.

Доказательство:

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

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

(ii) Для доказательства этого пункта заметим, что в силу теоремы о коррект ности и полноте естественной дедукции |= P, если и только если P, последнее же, в силу определения формальной системы, возможно, если, и только если найдется такое конечное (листья дерева доказательства формулы P), что P. Снова применяя теорему о корректности и пол ND ноте естественной дедукции получаем, что последнее эквивалентно |= P.

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

Теорема 7.2 (Лёвенгейма Скулема “сверху вниз” или о понижении мощности модели) Пусть множество формул L выполнимо. Тогда оно имеет модель мощно сти не превышающей мощность языка.

Доказательство: Так как множество выполнимо, то оно совместно (в силу теоремы о корректности естественной дедукции). Рассмотрим теперь более по дробно доказательство теоремы о модели. Эта теорема утверждает что любое вы полнимое множество имеет модель. Там модель “кроилась” из термов расширен ного языка L. В силу конструкции, #L #L, а значит и #T ER(L ) #L.

Таким образом, в силу конструкции, использованной в доказательстве теоремы о модели, можно утверждать существование модели с мощностью, не превыша ющей #T ER(L ), а значит и #L.

Теорема 7.3 (О переходе от конечной к бесконечной мощности) Если множество формул L выполнимо в моделях сколь угодно большой конечной мощности, выполнимо и в бесконечной модели.

Доказательство: Рассмотрим := {Pi}, где i= Pk := x1... xk (¬x1 = x2 ¬x2 = x3... ¬x1 = xk). (7.1) Заметим, что формула Pk выполнима во всех моделях, универсум которых со держит по меньшей мере k элементов, и только в них. В силу теоремы о ком пактности, для проверки выполнимости достаточно проверить выполнимость любого его конечного подмножества. Однако, если конечно, то {Pi}n, для конечного n N. Множество {Pi}n выполнимо в i=1 i= той модели, которая содержит не менее k элементов. Существование такой мо дели предполагается в условии теоремы. Следовательно, в этой же модели тем более выполнимо и меньшее множество формул, а значит и выполнимо.

Выполнимость же тривиально следует из выполнимости.

50 Основы теории моделей Теорема 7.4 (Лёвенгейма Скулема “снизу вверх” или о повышении мощности модели) Пусть L имеет бесконечную модель. Тогда, для любого множества A, имеет модель, универсум которой имеет мощность не меньше #A.

Доказательство: Дополним сигнатуру языка L новыми символами кон стант вида ca, для всех a A, так, чтобы среди добавленных символов не было бы символов исходной сигнатуры и разным элементам множества A соответство вали разные добавленные символы констант. Получим новую сигнатуру, такую что # #A. Таким образом #L #A.

Рассмотрим множество := {¬ca = cb : a, b A, a = b}. Рассмотрим произ вольное конечное подмножество. В силу конечности, имеем {¬ca = cb : i, j n} i j для некоторого n N. По условию теоремы множество формул имеет модель M с бесконечным универсумом. В этой модели закрепим за символами констант ca элементы M таким образом, чтобы cM = cM при ai = bj. В полученной алгеб i ai bj раической системе все формулы множества будут истинны, иначе говоря, выполнимо. Следовательно, по теореме о компактности, выполнимо и. Заме тим теперь, что любая модель множества должна иметь мощность не меньшую, чем #A, так как в ней истинны все формулы вида ca = cb, где a, b A и a = b.

Но эта же модель будет автоматически и моделью меньшего множества, что и завершает доказательство теоремы.

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

Следствие 7.1 Формальная арифметика Пеано первого порядка P A|= имеет I модели, неизоморфные стандартной, в том числе и модели сколь угодно большой мощности.

Нетривиальность данного утверждения заключается в том, что арифметика Пе ано первого порядка допускает бесконечное число разных версий натуральных чисел и действий над ними, в том числе и несчетных. Предлагаем читателю са мому разобраться с тем, как устроен этот несчетный натуральный ряд. Автор не может себе этого представить. Несколько успокаивает то, что доказанные теоре мы неконструктивны, поскольку они опираются на теорему о модели, для доказа тельства которой существенно использовалась аксиома выбора. Таким образом, как и в теореме о модели модель совместного множества формул, существование которой утверждается в теореме, не может быть предъявлена в силу неконструк тивности доказательства, так и здесь “странные” модели, существование которых утверждается теоремами Левенгейма–Скулема далеко не всегда могут быть яв ным образом сконструированы.

Интересно также сравнить утверждения следствия с теоремой Дедекинда для арифметики Пеано второго порядка. Приведенное следствие позволяет догадать ся, что языки логики первого порядка обладают намного меньшей выразительной силой, например, охарактеризовать модель с точностью до изоморфизма при по мощи аксиом языка логики первого порядка (как это было для языков второго порядка) невозможно. Действительно, по теореме Левенгейма–Скулема, любое множество аксиом для арифметических формул арифметики первого порядка, если только оно выполнимо в стандартной модели, будет выполнимо и в моделях со сколь угодно большими мощностями.

Теорема 7.5 (Лёвенгейма Скулема Тарского) Пусть L имеет бес конечную модель, пусть A произвольное множество, такое что #A #L (то есть #A не меньше мощности языка). Тогда имеет модель с универсумом, равномощным A.

Доказательство: Дополним сигнатуру новыми символами констант вида ca для каждого a A, таким образом, чтобы разные элементам множества A соответствовали разным символам констант. Обозначим = {ca : a A} = {¬ca = cb : a, b A, a = b}, заметим, что L. Множество в силу предположения имеет бесконечную модель, следовательно, по теореме Левенгейма-Скулема “снизу вверх”, оно име ет модель мощности, превосходящей #A. Иначе говоря, в универсуме найдется достаточное количество различных элементов, которые можно поставить в со ответствие новым константам вида ca, чтобы таким образом получить модель множества.

Поскольку множество, таким образом, выполнимо, у него найдется модель (M, ), такая что #M < #L. С другой стороны, #M #A, поскольку в (M, ) истинны все формулы вида ¬ca = cb, где a, b A, a = b. Таким образом, получим #A #M #L #A, 52 Основы теории моделей иначе говоря #M = #A.

Обратимся ещё раз к вопросу о моделях формальной арифметики Пеано первого порядка, неизоморфных стандартной. Существование таких моделей уже утвер ждалось в следствии 7.1. Сейчас мы докажем несколько более сильное утвер ждение, а именно, что формальная арифметика Пеано первого порядка имеет счетную модель, неизоморфную стандартной.

Теорема 7.6 Существует счетная нестандартная модель арифметики Пеано первого порядка P A|=.

I Доказательство:

Дополним формальную арифметику Пеано всеми формулами вида ¬x = n, где 1 := s(0), 2 := s(1), n := s(n - 1), а именно, определим := P A|= {¬x = n}, I n= где x – символ предметной переменной. Докажем выполнимость, для чего вос пользуемся теоремой о компактности. Рассмотрим произвольное конечное под множество. Имеем P A|= {¬x = n}k I n= для некоторого конечного k N. Очевидно, что множество {¬x = n}k имеет n= модель (N, ), где (x) := k + 1, а N – стандартная модель арифметики. Эта же интерпретация является, тем более, и моделью меньшего множества. Мы до казали, таким образом, выполнимость любого конечного, а значит, в силу теоремы о компактности, и выполнимость. Рассмотрим модель, существова ние которой мы только что доказали. Она не может быть конечной в силу того, что в ней должны быть одновременно истинны (P A1) и (P A2), то есть долж на существовать инъективная, но не сюръективная функция, определенная на универсуме этой модели. Следовательно, по теореме Левенгейма-Скулема “свер ху вниз” найдется и счетная модель (M, ) множества (она не может быть конечной по той же причине).

Осталось доказать, что M неизоморфна N, то есть не существует биекции между натуральным рядом и универсумом M. Предположим, что она существу ет, а именно, существует биекция : N M, такая, что и для любого терма n выполнено nN = nM. Тогда (x) Im (), иначе в данной модели не была бы / верна одна из формул вида ¬x = k, но последнее противоречит сюрьективности. Следовательно, M неизморфна N.

В отличие от результатов, сформулированных в следствии 7.1, утверждение тео ремы 7.6 можно сравнительно легко проинтерпретировать. А именно, “версия” натурального ряда, существование которой утверждается в этой теореме, вы глядит следующим образом. Сначала идут “обычные” натуральные числа, затем идет число M(x), которое не следует ни за каким “обычным” натуральным чис лом (заметим, что в стандартной модели таким свойством обладает только число 0). И далее, вслед за числом M(x) идут числа sM(M(x)), sM(sM(M(x)))... Та ким образом, естественно считать такого рода числа, которые в этой “версии” натурального ряда находятся “правее” всех “обычных” натуральных чисел, бес конечно большими (они “больше” любого “обычного” натурального числа). На основе полученного таким образом натурального ряда можно построить, также как это делается с использованием привычного нам натурального ряда N, новую версию целых, рациональных и вещественных чисел. Естественно, что в постро енной таким образом версии вещественной оси найдутся как бесконечно большие, так и бесконечно малые числа (соответственно большие и меньшие по модулю всех “обычных” вещественных чисел). Использовать такую “необычную” ( при нято говорить нестандартную) версию чисел очень удобно для альтернативного построения математического анализа. Например, с использованием нестандарт ной вещественной оси можно “изгнать” из анализа “неудобоваримые” определения предела, бесконечно малой величины, а пользоваться лишь бесконечно малыми числами. При этом все определения, которые обычно даются с использованием достаточно тяжелого “языка, ” существенно упрощаются. Математический ана лиз, построенный при помощи этого подхода, называется нестандартным ана лизом.

8 Сравнение языков логики разных порядков Сформулированные нами в предыдущей главе результаты о моделях множества формул языков логики первого порядка позволяют получить нетривиальные вы воды о сравнении выразительной силы логических языков. Начнем со следую щего простого вопроса: можно ли при помощи формул языка логики первого или второго порядка охарактеризовать свойство модели быть конечной? Строгая постановка этого вопроса такова:

Вопрос 1 Cуществует ли множество формул языка логики первого (соответ ственно, второго) порядка, истинное во всех конечных моделях и только в них?

Напомним, что, говоря о мощности модели, мы имеем в виду мощность со ответствующего универсума. То есть модель называется конечной (счетной, 54 Сравнение языков логики разных порядков не более чем счетной), если соответствующим свойством обладает универсум модели.

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

Pfin := f (xy (f (x) = f (y) x = y) xy (x = f (y))) Здесь использован квантор всеобщности по “функциональной переменной”, а именно, данная формула “говорит”, что во всех моделях, в которых она истин на, любая инъекция является сюръекцией. Это и означает, что в универсуме модели данной формулы не может быть бесконечного числа элементов. Стоит напомнить, что, строго говоря, согласно нашему определению, в алфавите языка логики второго порядка нет специальных символов для функциональных пере менных, а есть только символы для предикатных переменных, поэтому формулу Pfin нужно понимать как сокращенную запись формулы F (func(F ) xyz(F (x, z) F (y, z) x = y) xy(F (y, x))), где func(F ) := x!y F (x, y), (иначе говоря, формула func(F ) “говорит” о том, что отношение, записанное символом предикатной переменной F, является графиком функции) Вопрос, аналогичный вопросу 1, можно сформулировать и для других свойств модели, например, для свойства модели быть не более чем счетной. А именно:

Вопрос 2 Cуществует ли множество формул языка логики первого (соответ ственно второго) порядка, истинное во всех не более чем счетных моделях и только в них?

Опять-таки, ответ на этот вопрос для языков логики первого порядка отрица тельный в силу теоремы Левенгейма–Скулема–Тарского 7.5, а именно, если у множества формул есть счетная модель, то у него есть и модель сколь угодно большой мощности. В то же время, для языков логики второго порядка можно охарактеризовать свойство модели быть не более чем счетной одним предложе нием, а именно, предложением Pcount := zfX (X (z) x (X (x) X (f (x))) x (X (x))) Здесь f снова символ “функциональной переменной”, которая, строго говоря, в силу нашего определения, в языке логики второго порядка отсутствует, так что формулу Pcount нужно понимать как сокращенную запись другой формулы, в ко торой вместо символа f присутствует символ предикатной переменной. Запиши те соответствующую формулу самостоятельно, по аналогии с тем, как это было сделано для формулы Pfin.

Можно предъявить сколь угодно много свойств моделей, которые не могут быть охарактеризованы никакими формулами языков логики первого порядка, но мо гут быть легко охарактеризованы формулами языков логики второго порядка.

Например, формула Pcount ¬Pfin характеризует свойство модели быть счетной.

В то же время соответствующее свойство не может быть охарактеризовано фор мулами языка логики первого порядка.

Упражнение 8.1 Напишите предложение, которое характеризует свойство модели иметь более чем счетный универсум, иначе говоря, предложение, кото рое было бы верно во всех более чем счетных моделях и только в них. Можно ли охарактеризовать соответствующее свойство при помощи языка логики пер вого порядка с не более чем счетным алфавитом? С любым алфавитом?

Любопытно отметить, что, тем не менее, свойство модели иметь заданное конеч ное число элементов может быть охарактеризовано и при помощи языка логики первого порядка. Например формула xy(x = y) верна во всех моделях, уни версум которых содержит ровно один элемент, и только в них.

Упражнение 8.2 На языке логики первого порядка напишите предложения, характеризующие свойства модели иметь не более чем k элементов (k – задан ное число), ровно k элементов, не менее чем k элементов.

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

Теорема 8.1 Для языков логики второго порядка теорема о компактности неверна.

56 Сравнение языков логики разных порядков Доказательство: Предположим противное и рассмотрим множество формул := Pfin {Pk}, k= где формулы Pk определены в (7.1). Пусть конечно, тогда Pfin {Pk}m k= для некоторого конечного m N. Однако последнее множество формул истинно в любой модели, универсум которой имеет хотя бы m элементов, а значит, выпол нимо и множество формул. Тогда, в силу предположения о верности теоремы о компактности и произвольности подмножества заключаем, что множество также является выполнимым. Но тогда в модели должно быть не менее чем k элементов для любого k N (так как в этой модели истинны все формулы Pk).

И в то же время число элементов этой модели должно быть конечно, так как в ней верна формула Pfin. Так как одновременно эти два условия невыполнимы, то мы пришли к противоречию.

Теорема 8.2 Для языков логики второго порядка неверны теоремы Левенгей ма–Скулема о повышении мощности модели 7.4 и о понижении мощности мо дели 7.2.

Доказательство: Если бы для языков логики второго порядка была верна тео рема Левенгейма–Скулема о повышении мощности модели, то нельзя было бы на писать множество формул, выражающее счетность модели. Если бы для языков логики второго порядка была верна теорема Левенгейма–Скулема о понижении мощности модели, то нельзя было бы написать множество формул, выражающее более чем счетность модели.

Завершим эту главу наиболее сильным, на наш взгляд, результатом.

Теорема 8.3 Для логики второго порядка не существует одновременно полной и корректной формальной системы.

Доказательство: Предположение о существовании одновременно корректной и полной формальной системы влечет справедливость теоремы о компактности (в доказательстве теоремы о компактности для языков логики первого поряд ка использовался лишь факт существования одновременно корректной и полной формальной системы), что противоречит теореме 8.1.

Требование корректности является необходимым для осмысленности формаль ной системы: формальная система строится для того, чтобы получать логиче ские, то есть семантические, истины, поэтому некорректная формальная система, которая позволяет выводить в том числе формулы, не являющиеся истинными, не имеет никакой практической ценности. Только что доказанная теорема утвер ждает, таким образом, что осмысленная (т.е. корректная) формальная система для языка логики второго порядка не может быть полной. Иначе говоря, при помощи такой формальной системы мы не можем вывести все семантические истины. В то же время другого инструмента, пригодного для поиска на прак тике семантических следствий для заданного множества формул, кроме вывода при помощи некоторой формальной системы, нет. Поэтому утверждение теоре мы 8.3 фактически является препятствием к широкому использованию языков логики второго порядка. Языки логики второго порядка являются, таким обра зом, “чересчур” выразительными, настолько, что их чрезмерная выразительная сила ограничивает возможность их применения. В этом смысле языки логики первого порядка являются вполне подходящими, так как инструмент для их ис пользования (достаточно удобные формальные системы) существует, и в то же время, как показывает опыт, при помощи языка логики первого порядка можно записывать практически все важные естественнонаучные теории, хотя и нельзя охарактеризовать какую-нибудь серьезную модель однозначно.

9 Формальная теория множеств В качестве еще одного примера языка логики первого порядка, находящего самые широкие применения в современной математике, рассмотрим язык теории мно жеств. Определим язык теории множеств как язык L логики первого порядка с равенством, с сигнатурой, содержащей лишь один символ, отличный от равенства – символ предиката принадлежности. Иначе говоря, (L) := {=, }. Принято писать x = y и x y вместо = (x, y) и (x, y) соответственно. Например, мы будем считать формулы x = y, x y z q правильными формулами язы ка L. Как и принято в математике, мы будем интерпретировать эти формулы соответственно как “множества x и y совпадают” и “существует множество x, при надлежащее множеству y, и множество z принадлежит множеству q”. Несколько необычным с точки зрения наивной теории множеств является утверждение о том, что одно множество принадлежит другому. Привычнее говорить о том, что элемент принадлежит множеству. Однако заметим, что во введенном языке име ются символы предметных переменных только одного cорта, а именно – только для обозначения множеств (нет специального сорта переменных для обозначения 58 Формальная теория множеств элементов множеств). Поэтому, имея дело с семантикой языка L, мы будем ин терпретировать все предметные переменные как “множества”. Таким образом мы будем иметь дело с миром, состоящим только из одного типа объектов – “мно жеств”. При этом нас не будет интересовать, насколько понятие “множества” как элемента интерпретирующего универсума соответствует интуитивному понятию множества как совокупности разных объектов. К этому вопросу мы еще вернемся в дальнейшем.

Несмотря на то, что введенный в рассмотрение язык L кажется весьма бедным, на нем можно выразить все привычные факты о множествах (а также, и всю математику – но об этом речь пойдет чуть позже). Например, “x подмножество y” можно записать в виде правильной формулы языка L, которую будем обо значать x y, следующим образом:

x y := z(z x z y).

Здесь и далее подчеркивание указывает на то, что мы имеем дело с сокращенным обозначением правильной формулы. Чуть позже мы еще займемся “кодировани ем” основных математических понятий в виде формул L. А теперь покажем, что к перенесению основных интуитивных понятий о множествах на формальный язык L нужно подходить с большой осторожностью. Рассмотрим следующий пример.

Парадокс Рассела-Фреге. Мы привыкли формировать множества путем груп пирования элементов, обладающих заданным свойством (принято обозначать {x : P (x)} множество элементов, обладающих свойством P ). Попробуем форма лизовать такой способ формирования множеств на языке L. А именно, логично предположить, что множество z := {x : P(x)} существует для любого “свойства” (т. е. формулы L с одной свободной переменной). Это легко записать в виде формулы zx(x z P(x)), где #free(P) = 1 (здесь и далее запись A B понимается как сокращенная запись формулы (A B) (B A). Каким бы заманчивым с интуитивной точки зрения ни было это утверждение, оно ведет к абсурду. Действительно, выберем в качестве P свойство множества не принадлежать самому себе, то есть P(x) := ¬x x. Тогда для множества z := {x : ¬x x}, очевидно, выполняется либо z z, либо z z, причем в силу определения множества z в первом случае z z, а во втором z z. С более формальной точки зрения это означает, что предложение Q := zx(x z ¬x x) противоречиво.

9.1 Аксиоматика Цермело-Френкеля. Основные аксиомы Приведенный парадокс, который, несмотря на его название, был впервые об наружен Г. Кантором, показывает что далеко не все интуитивно осмысленные предложения введенного формального языка теории множеств имеют право на существование. Поэтому для построения содержательной и осмысленной фор мальной теории множеств явно недостаточно интуиции, основанной на наивных представлениях о множествах. Традиционный способ выхода из такой ситуации – ограничить формальную теорию множеств утверждениями, выводимыми из до статочно простого, понятного и непротиворечивого набора аксиом. В то же время математика развивалась в течение по крайней мере последних двух с половиной тысяч лет и накопила за это время огромный набор фактов, давно ставших досто янием как собственно математики, так и всех использующих ее наук. Теория же множеств как основание математики появилась сравнительно недавно, начиная с работ Г. Кантора в 70-х годах 19 века. Поэтому система аксиом для формальной теории множеств кроме непротиворечивости должна обладать еще и следующим важным с прикладной точки зрения свойством: она не должна существенным образом обеднять создаваемую на ее основе формальную теорию множеств и ма тематику в целом. В связи с особой важностью теории множеств для построения современной математики на протяжении 20 века было предпринято много по пыток предоставить такой набор аксиом. Ни одна из предложенных аксиоматик не была абсолютно удачной, так что проблема формального обоснования совре менной математики до сих пор остается открытой. В то же время хотелось бы предостеречь от немедленных попыток взяться за решение этой проблемы. Де ло в том, что, во-первых, существует несколько вполне удовлетворительных для практических целей аксиоматик (наиболее популярные среди них – аксиоматики Цермело-Френкеля и Геделя-Бернайса), а во-вторых, полное решение проблемы формального обоснования вряд ли что-либо изменит в развитии современной ма тематики. Вскоре мы подробнее рассмотрим эти вопросы. А сейчас выпишем с небольшими комментариями аксиомы наиболее простой и часто используемой ак сиоматики формальной теории множеств, предложенной Цермело и Френкелем.

9.1 Аксиоматика Цермело-Френкеля. Основные аксиомы • Аксиома объемности.

xy(z(z x z y) x = y) (ZF1) Эта аксиома говорит о том, что множество однозначно определяется своими элементами. Очень часто она используется в доказательстве единственности различных специальных множеств (например, пустого множества).

60 Формальная теория множеств • Аксиома пары.

xyzv(v z v = x v = y). (ZF2) Целесообразно записать ее в сокращенном виде, введя для множества z – пары элементов x и y обозначение z = {x, y} := v(v = x v = y v z).

Таким образом, (ZF2) можно записать в виде xyz(z = {x, y}), то есть утверждается, что из любых двух элементов можно построить мно жество-пару.

• Аксиома выделения.

xy (z (z y (z x) P (z))), x, y free (P), #free (P) = 1.

(ZF3) Эта аксиома представляет собой исправленный вариант обсуждавшегося выше принципа, по которому можно формировать множества путем груп пирования элементов, обладающих заданным свойством. В исходном вари анте, как было показано, этот принцип ведет к противоречию. Способ слегка подправить его с целью получить в действительности часто используемый в математике факт, очень прост – достаточно заметить, что на практике множества всегда формируются путем выделения элементов, обладающих заданным свойством, из заданного множества, а не просто путем группиро вания “всех вообще” элементов с заданным свойством. Так например, мно жество {n : n2 - 1 = 0} на самом деле получено выделением элементов из N (то есть правильнее было бы писать {n N : n2 - 1 = 0}). Такой способ исправления основного принципа формирования множества по заданному свойству его элементов был предложен Фреге и реализован в (ZF3).

• Аксиома множества подмножеств. Для сокращения записи введем об щепринятое обозначение для множества y всех подмножеств заданного мно жества x: y = 2x := z(z x z y). Заметим, что в данном определении использовано ранее введенное сокращение – формула z x. Рассматривае мая аксиома позволяет формировать новое множество как множество всех подмножеств заданного множества и может быть с использованием введен ных обозначений записана в виде xy(y = 2x). (ZF4) 9.1 Аксиоматика Цермело-Френкеля. Основные аксиомы • Аксиома суммы говорит о существовании объединения произвольного множества множеств. Для удобства записи введем обозначение для объ единения (иногда называемого также суммой) всех элементов множества x (напомним, что все объекты, с которыми мы работаем – множества):

y = x := z(z y v(v x z v)).

С учетом введенного обозначения аксиома суммы записывается в виде xy(y = x). (ZF5) Прежде чем рассмотреть оставшиеся четыре аксиомы Цермело-Френкеля, по тренируемся в “кодировании” основных фактов о множествах на языке L и в их доказательстве с использованием уже введенных аксиом. Будем обозначать систему аксиом Цермело-Френкеля (кроме аксиомы выбора) ZF.

Пример 9.1 Докажем существование и единственность пустого множества, то есть множества, не содержащего ни одного элемента. Для этого введем общепринятое обозначение:

x = := y(¬y x).

Требуется доказать ZF !x(x = ). Напомним, что !x P(x) – общепринятое сокращение формулы x P(x) yx(P(y) P(x) x = y).

Доказательство:

Существование. Аксиома (ZF3) записывается в виде xyz(z y z x (¬z = z)).

Применяя правило (e), получаем (ZF3) y R, где R := z(z y z x (¬z = z)).

Теперь докажем R z(¬z y). Это доказательство удобно представить в виде 62 Формальная теория множеств дерева z(z y z x (¬z = z)) (e) z y z x (¬z = z) (e) z y z x (¬z = z) [z y]1 (m.p.) z x (¬z = z) ¬z = z 1, (¬i) ¬z y (i) z(¬z y) Осталось объединить две “ветви” для завершения доказательства:

(ZF3) [R] y R z(¬z y) yz(¬z y) (здесь применено одновременно несколько правил;

мы предоставляем читателям возможность самим убедиться в корректности соответствующего перехода).

Единственность. Надо доказать ZF xy(z(¬z y) z(¬z x) (x = y)).

Представим доказательство в виде дерева [z(¬z x) z(¬z y)]1 [z(¬z x) z(¬z y)] z(¬z x) z(¬z y) ¬z x ¬z y ¬z x ¬z y (ZF1) z x z y z (z x z y) (x = y) z (z x z y) x = y z(¬z x) z(¬z y) x = y xy (z(¬z x) z(¬z y) x = y) Предоставляем читателю определить, какие правила применены на каждом шаге доказательства, а также заполнить недостающие фрагменты. После этого оста нется объединить доказательство существования с доказательством единствен ности при помощи правила (i)..

Упражнение 9.1 Доказать 9.1 Аксиоматика Цермело-Френкеля. Основные аксиомы (A) ZF xy!z(z = x y), где z = x y := v(v z v x v y) (существование и единственность объединения множеств).

(B) ZF x!y(y = {x}), где y = {x} := y = {x, x} (существование и единственность одноэлементного множества, содер жащего заданный элемент).

Указание:

(A) Для доказательства существования использовать аксиому суммы, приме ненную к множеству-паре {x, y}. Существование последнего гарантируется аксиомой пары. Для доказательства единственности использовать аксиому объемности.

(B) Использовать аксиому пары и аксиому объемности.

Упражнение 9.2 Введем упорядоченную пару как пару с выделенным первым элементом:

x = (y, z) := x = {{y}, {y, z}}.

Доказать ZF yzx(x = (y, z)).

Указание: Для доказательства существования упорядоченной пары (y, z) ис пользовать уже доказанные факты существования одноэлементного множества {y} и пары {y, z}, затем еще раз сослаться на существования пары, элементами которой будут только что построенные множества. Для доказательства един ственности использовать аксиому объемности.

64 Формальная теория множеств Упражнение 9. (C) Введем следующее обозначение для векторов, обобщающее понятие упоря доченной пары:

x = (x1,..., xn) := x = (x1, (x2,..., xn)).

Докажите ZF x1x2!y(y = x1 x2), где y = x1... xn := u(u y z1...zn(z1 x1... zn xn u = (z1,..., zn))) (существование и единственность декартова произведения множеств).

(D) Доказать ZF x(¬x = )!y(y = x), где y = x := z(z y v(v x z v)) (существование и единственность пересечения произвольного числа мно жеств).

(E) Доказать ZF xy!z(z = x y), где z = x y := v(v z (v x v y)).

Указание:

(F) Рассмотрим случай только элементов в произведении, поскольку техни ка доказательства в других случаях аналогична. Единственность следует из аксиомы объемности, а существование из аксиомы выделения, приме x1x ненной к множеству x := 22, и свойству P := z1z2(z1 x1 z x2 z = (z1, z2)).

(G) Для доказательства существования применить аксиому выделения к множеству x и свойству P := v(v x z v) Единственность следует из аксиомы объемности.

(H) Применить (E) к паре (x, y).

• Аксиома замены. Можно создавать новое множество как множество зна чений некоторой функции.

x(yzw((y x P (y, z) P (y, w)) z = w) rs(s r t(t x P (t, s)))). (ZF6) 9.2 Отношение порядка 9.2 Отношение порядка Перед обсуждением остальных аксиом Цермело-Френкеля рассмотрим понятие порядка. Введем следующее определение:

Определение 9.1 Частичным порядком называется пара (A, <), где A – мно жество, а < – двуместное отношение на A (напомним, что n-местное от ношение на A это просто подмножество An, то есть < это подмножество A A), обладающее следующими свойствами:

(i) y < y для всех y A, (ii) Из x < y и y < z следует x < z для всех x, y, z A.

В этом случае говорят также, что отношение < частично упорядочивает множество A либо что A частично упорядоченно отношением <.

Следуя традиции, мы используем значок < (а не букву) как знак отношения частичного порядка и называем это отношение “меньше”.

Определение 9.2 Частичный порядок (A, <) называется линейным, если все элементы множества A сравнимы отношением <, иначе говоря, если для всех a A, b A выполнено либо a < b, либо b < a, либо a = b. В этом случае говорят также, что отношение < является отношением линейного порядка на A, или что A является множеством, линейно упорядоченным отношением <.

Pages:     || 2 |





© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.