contact me
alsemno@ya.ru
RU
EN
Идентификаторы
PersonID 19667
Alexei Semenov
ID: semenov.alexei-l
AuthorID: 218197
Spin 2289-1720
alsemenov
0000-0002-1785-2387
S-5268-2018
AuthorID 7402499019
Alexei_Semenov
A. Semenov
AlexeySemenov
Alexei Semenov
Введение в математическую логику и теорию алгоритмов
Часть II
Теория алгоритмов

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

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

Мы постараемся ввести общее понятие исчисления. Оно, как и понятие алгоритма, НЕ дается в обычных математических терминах, сводимых к определениям в теории множеств, а обращается к человеческой практике. Тем не менее оно является частью математики. В какой-то момент можно его заменить, на теоретико-множественную формализацию используя убеждение, что эта формализация обеспечивает тот же объем производных понятий, как и исходное — не теоретико-множественное. Но в своих рассуждениях об исчислениях и алгоритмах человек использует первичное интуитивное, а не формальное понятие.
13.1. Исчисления

В математике, математической логике и в нашем курсе важную роль играют индуктивные определения, мы с ними уже встречались. Индуктивные определения могут использоваться при работе с различными классами объектов, в том числе и с произвольными множествами. Для нас, однако, важен случай, когда эти объекты «конструктивны», о чем мы уже говорили выше.

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

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

Определяя формулы, мы использовали следующие классы объектов:
• имена объектов — , ,
• переменные , ,
• имена двухместных отношений ,
• атомные формулы,
• формулы.
И правило порождения:
• Все имена объектов и отношений и все переменные порождаются.
• Если — имя 2-местного отношения, каждое из — это имя объекта или переменная, то , могут породить атомную формулу (можно было бы здесь выписать отдельно все комбинации имен
объектов и переменных).
• Атомная формула может породить формулу .
• Формула может породить формулу .
• Если — формула, — переменная, то , могут породить формулы , .
• Если и формулы, то , может породить формулы , , , .

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

• (конечный) алфавит исчисления;

• конечное множество имен классов; значением имени класса является класс цепочек; о каждой из этих цепочек мы говорим, что он относится к этому классу; классы могут пересекаться; по цепочке и имени класса можно за конечное время выяснить — относится ли цепочка к этому классу;

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

Выяснение того, что данное правило порождения выполнено, занимает конечное время; можно это выяснение поручить машине.
Заметим, что мы ничем не ограничиваем те цепочки , которые могут порождаться из одного конечного набора . Также заметим, что набор может быть и пустым, это существенно.

Множество, порождаемое исчислением, — это наименьшее (требование минимальности) множество со следующим свойством: Для всякого набора элементов все, что из него порождается (такого может и не быть) лежит в (требование замкнутости).
  • Задача 241. Почему для любого исчисления существует порождаемое им множество?
Определение 124. Исчисление!породимое множество. Породимое множество — множество цепочек какого-то одного класса, порождаемое каким-то исчислением.
Нетрудно сообразить, что разные данные ранее в курсе индуктивные определения, относящиеся к логическим языкам, являются описаниями исчислений. С примера, относящегося к определению формулы логического языка, мы начали. Рассмотрим еще один типичный пример.
  • Задача 233. Опишите какой-нибудь способ, как кодировать все математические тексты цепочками из нулей и единиц (двоичными цепочками).
  • Задача 224. Дайте формальное определение подстановки.
В настоящей главе это не понадобится, но можно сразу зафиксировать для использования для кодов текстов множество цепочек, где ни одна цепочка не является началом другой.

Идея кодирования текстов натуральными числами и описания операций над текстами (цепочками), как операций над числами, выражаемых через операции арифметики — сложение и умножение, была важна в первые десятилетия XX века. Это называлось арифметизацией языка, с этой идеей мы встречаемся в работах Гильберта, Гёделя, Тарского и других.

Сведение к арифметике представлялось довольно важным для Гильберта. Он предлагал считать арифметику надежной частью математики. Далее, он предлагал определить в арифметике свойство «быть доказуемым в Теории множеств» и доказать, в некоторой формальной системе доказательства теорем арифметики, что:

1) в Теории множеств можно доказать или опровергнуть любое утверждение этой теории и

2) в Теории множеств нельзя доказать противоречивое утверждение, например, .

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

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

Фиксируем конечный алфавит, содержащий все символы, которые могут использоваться в логике отношений произвольных структур. При этом можно для переменных использовать, например символ x, или тот же символ, за которым следует натуральной число, аналогично поступить с именами отношений и объектов, например, начиная эти имена с A и a. Также мы будем рассматривать и логические языки в которых есть имена для операций, в том числе — частичных.

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

В частности, для любой формулы в любой сигнатуре определен Код() и он даже не зависит от сигнатуры.
Определение 121. Формулы с одной свободной переменной (например, ) будем называть одноместными формулами.
Для простоты изложения мы отклонимся теперь от нашего подхода избавления от операций в структурах, заменяя их отношениями.
Определение 122. Определим двухместную операцию с именем Подст. Аргументами и результатом этой операции будут двоичные цепочки. Подст дает код формулы, получающейся подстановкой цепочки вместо всех свободных вхождений в одноместную формулу c кодом .
Будем считать, что эта операция определима в структуре (например, что в сигнатуру входит имя описанной операции).
Задача 234. Опишите операцию Подст используя более простые понятия операций с цепочками.
Задача 235. Пусть — одноместная формула. Найдите Подст(, Код()).
Примем, пока это не приведет нас к противоречию, следующее предположение.
Предположение. Пусть существует — одноместная формула, определяющая истинность в нашей структуре, то есть истинная на кодах истинных формул и ложная на кодах ложных.
Задача 236. Что является значением высказывания (Подст(, )), если — какая-то цепочка, а — код некоторой одноместной формулы ?
Таким образом, для всякой одноместной формулы

(Код(())) ⇔ (), (2)

если имеет место наше Предположение относительно .

Пусть теперь

= ¬(Подст(, )). (3)

Конечно, — одноместная формула.
Задача 237. Найдите значение (Код()).
Задача 238. Что означает полученная эквивалентность?
Таким образом, мы доказали, что истинность высказываний о нашей структуре не определима в структуре. Более точно:

Теорема Гёделя – Тарского о неопределимости истины.
Не существует структуры, универсум которой состоит из всех двоичных цепочек и определимы:
(1) операция Подст(, ),
(2) свойство «быть кодом истинного в структуре высказывания».
Задача 239. Что будет если в сигнатуре окажется еще имя отношения истинности?
Пусть значения имен нашей сигнатуры имеют описания в теории множеств. Например, в добавок к уже упомянутым отношениям, в сигнатуре могут быть имена для приписывания двоичных цепочек, для операций сложения и умножения, если рассматривать эти цепочки как записи натуральных чисел и т. д. В теории множеств, как она была определена выше, можно доказывать различные утверждения (высказывания), относящиеся к нашей структуре, то есть, говорящие о ее универсуме и отношениях сигнатуры, какими бы они не были.
Задача 240. Опишите отношение доказуемости высказывания теории множеств на обычном математическом языке.
Гильберт полагал, что обсуждаемое множество доказуемых формул можно определить в какой-то несложной и «надежной» структуре, например, для универсума натуральных чисел, с операциями (отношениями) сложения и умножения. Как показал Гёдель, это действительно так. Но можно использовать и более удобную сигнатуру.

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

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

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

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

Как мы только-что увидели для достаточно богатых структур,

Доказуемость не совпадает с истинностью.

Это Теорема Гёделя о неполноте в одной из ее формулировок.

Таким образом надежда (и убеждение) Гильберта о возможности доказательства всех истин не реализуется даже для простых структур, где универсум состоит из конечных объектов с понятными и простыми операциями.
12.1. Независимость дополнительных аксиом теории множеств

Выяснение принципиальной неполноты теории множеств оставляет открытым вопрос о разумной и полезной, притом, по возможности, не большой, «минимальной» системе аксиом для математики.

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

Ситуация здесь напоминает ситуацию с Пятым постулатом Геометрии Евклида, который долгие годы пытались доказать, а иногда — опровергнуть. В конце концов Николай Иванович Лобачевский доказал его независимость: из других аксиом геометрии нельзя ни доказать, ни опровергнуть его.

Аналогичная ситуация имеет место с Аксиомой выбора и Континуум-гипотезой.

Если теория множеств не противоречива, то она не станет противоречивой при добавлении к ней любой из четырех комбинаций Аксиомы выбора или ее отрицания, Континуум-гипотезы или ее отрицания.
12.2. Альтернативные основания математики

Ряд математиков не считали вопрос об основаниях математики удовлетворительно решенным и предлагали свои альтернативные решения.

Среди таких математиков: Петр Вопенка, Владимир Воеводский, Леонид Левин.

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