Непейвода. Прикладная логика
.PDF
13.2. АКСИОМАТИЧЕСКОЕ ОПИСАНИЕ ВЫЧИСЛИМОСТИ  | 
	361  | 
найти ее и исправить чуть чуть видоизменив построения и не вводя в рассмотрение никаких, - новых случаев.
А почему это мы не потрудились ввести логические связки в ак 13.2.3сиоматику. алгоритмов? Можно ли их там выразить? -
13.2.4. Верно ли, что разрешимые множества образуют булеву алгебру?
Постройте алгоритм выделяющий первый элемент кортежа По 13.2.5трудитесь. , чтобы он был, всегда определенным. . -
13.2.6.  | 
	Постройте алгоритм, вычисляющий соединение кортежей.  | 
|||
13.2.7.  | 
	Пусть алгоритм ADD([n, m]) определен тогда и только тогда, ко-  | 
|||
гда n, m —  | 
	атомы, являющиеся целыми числами, и выдает их сум-  | 
|||
му. Постройте алгоритм SUM суммирования всех членов кортежа.  | 
||||
13.2.8.  | 
	Постройте алгоритм, вычисляющий произведение двух натураль-  | 
|||
ных чисел.  | 
	
  | 
	
  | 
	
  | 
|
13.2.9.  | 
	Постройте предикат, проверяющий равенство двух натуральных  | 
|||
чисел.  | 
	
  | 
	
  | 
	
  | 
|
13.2.10.  | 
	В наших последних примерах была одна вольность речи: мы  | 
|||
определяли рекурсией не φ(x), а φ([m, n]). Как ее устранить? На-  | 
||||
много ли удлинятся при этом определения?  | 
	
  | 
|||
13.2.11.  | 
	Студент Лыцаренко дал следующее доказательство того, что  | 
|||
при выполнении аксиомы перечислимости любое перечислимое  | 
||||
множество с перечислимым дополнением разрешимо:  | 
	его допол-  | 
|||
Пусть алгоритм ϕ перечисляет само множество, а ψ —  | 
||||
нением. Рассмотрим алгоритм типа алгоритма британского му-  | 
||||
зея. Будем перебирать все кортежи из пар, первая пара в которых  | 
||||
[dϕe , a] либо [dψe , a], и проверять каждый из них универсальным  | 
||||
интерпретатором, не является ли он вычислением, и если являет-  | 
||||
ся, получилась ли в результате истина. Поскольку один из алгорит-  | 
||||
мов перечисляет множество, а другой —  | 
	его дополнение, в конце  | 
|||
концов один из них выдаст истину.  | 
	
  | 
	
  | 
||
Можете ли Вы найти слабое место в данном рассуждении и когда оно верно? ,
362 ГЛАВА 13. НЕПОЛНОТА И НЕФОРМАЛИЗУЕМОСТЬ
Студент Классиков заявил что не всюду определенные функ 13.2.12ции. это извращение конструктивистов, и информатиков без них- всегда— можно обойтись В самом деле дополним наш универс, эле ментом ОШИБКА Положим. что любой, кортеж содержащий та- кой элемент равен.ему и что любой, алгоритм на аргументе, -
КА ОШИБКА ОШИБ
выдает значение, , и тогда все становится на свои ме - ста Неопределенный в данной, точке алгоритм просто выдает в- ней. значение ОШИБКА. Можете ли Вы что-нибудь возразить?
После того как его предыдущее рассуждение вызвало непони 13.2.13мание. отдельных, коллег Классиков заявил что они вообще за- нимаются плохой математикой, и в частности, нарушают прин- цип бритвы Оккама Ваши рекурсивные, функции, можно было бы- определить как алгоритмы. получающиеся в пустой исходной сиг натуре т е лишь из тех операций, которые есть в аксиомах и кон- станты( . . А что Вы ему на это, скажете , -
NULL). ?
Обобщите по возможности теорему Райса на случай когда экс 13.2.14тенсиональный. алгоритм дает на различных функциях, два отде- лимых значения. -
§13.3. ПРЕДСТАВИМОСТЬ ЧЕРЕЗ ДОКАЗУЕМОСТЬ
Вданном параграфе и далее до конца главы теории если иное явно не оговорено имеют разрешимое множество, ак сиом12. , -
Выразимости понятий порою недостаточно для того чтобы коррект но работать с ними формальными методами Дело в том, что даже выра- зимые понятия могут находиться в достаточно. сложных, отношениях с- понятием доказательства Если нечто истина это не обязательно можно доказать принятыми формальными. средствами, 13. Поэтому надо посмо-
12 На практике неясно как использовать теорию если даже понятие быть аксиомой нельзя проверить. , , ‘ ’ 13 В качестве иллюстрации смотрите судебную практику но она еще хуже посколь ку там средства доказательства внутренне противоречивы и, позволяют порою, доказать- ложь.
13.3. ПРЕДСТАВИМОСТЬ ЧЕРЕЗ ДОКАЗУЕМОСТЬ  | 
	363  | 
треть, для каких же классов понятий доказуемость совпадает с истин-  | 
||
ностью.  | 
	
  | 
	
  | 
Очевидно, что надеяться на это можно лишь для разрешимых мно-  | 
||
жеств. Но оказывается, что и наоборот, любое разрешимое множество  | 
||
выразимо таким способом.  | 
	
  | 
|
Рассмотрим базовую формализацию арифметики. Ее аксиомы прак-  | 
||
тически всегда выполнены в математических теориях, включающих как  | 
||
минимум натуральные числа. Эта аксиоматика известна под именем ариф-  | 
||
метики Пеано.  | 
	
  | 
	
  | 
Сигнатура содержит предикат равенства, константу 0 и три функци-  | 
||
ональных символа:  | 
	
  | 
	
  | 
одноместный S, интерпретируемый как прибавление 1;  | 
	
  | 
|
два двуместных —  | 
	сложение и умножение, с обычной интерпретацией.  | 
|
Сложение и умножение будем записывать как бинарные операции.  | 
||
Теория имеет бесконечно много аксиом, но почти все они14  | 
	выража-  | 
|
ются единой формулой со свободной предикатной переменной: прин-  | 
||
ципом математической индукции.  | 
	
  | 
|
A(0) & x(A(x) A(S(x))) x A(x).  | 
	(13.7)  | 
|
Следующая аксиома утверждает что начальный элемент натураль ного ряда: , 0 — -
x ¬ S(x) = 0.
Далее идет свойство, утверждающее его линейность:
x y(S(x) = S(y) x = y).
Далее — свойства сложения, умножения и возведения в степень, а на
14 В математике слова почти все как правило имеют точный смысл В частности для счетного множества‘это почти’,всегда уже в ,обыденном смысле означает. всегда, за исключением конечного числа элементов( Тем не менее на математическое) ‘ почти, всегда тоже нужно полагаться с оглядкой ведь.’ конечное число исключений может‘ быть больше’ , скажем, 101010 . :
13.3. ПРЕДСТАВИМОСТЬ ЧЕРЕЗ ДОКАЗУЕМОСТЬ  | 
	365  | 
Определим теперь m 6 n как x m + x = n, а m < n как x m +  | 
|
S(x) = n. Следующая группа результатов уже доказывается математи-  | 
|
ческой индукцией:  | 
	
  | 
x y(x ≤ y x < y x = y)  | 
	
  | 
¬ x x < 0  | 
	
  | 
x(x < 1 x = 0)  | 
	(13.8)  | 
x(x < 2 x = 0 x = 1)  | 
|
· · ·  | 
	
  | 
x(x < n x = 0 x = 1 · · · x = n − 1)  | 
	
  | 
· · ·  | 
	
  | 
Из них следует что из арифметической разрешимости следует арифметическая, разрешимость т. н. конечных квантификацийA(x, y¯:)
x(x < z A(x, y¯)) x(x < z & A(x, y¯)).
Итак арифметическая разрешимость замкнута еще и относительно кван торов, по конечным отрезкам натурального ряда Таким образом свой - ство ‘быть простым числом’, выразимое формулой. , -
4
Pr(n) = x, y(x < n & x > 1 & y < n & y > 1 ¬ x · y = n), (13.9)
арифметически разрешимо. В связи с данным предикатом нам понадо-  | 
|
бится и известная теорема Евклида о бесконечности множества простых  | 
|
чисел. Она, конечно же, доказывается в формальной арифметике, хотя  | 
|
тот метод доказательства, который приводится учебниках:  | 
|
Пусть p —  | 
	наибольшее простое число. Возьмем число  | 
Оно не может делиться ни на одно из простых чисел доp! + 1поскольку. дает для каждого из них остаток единица Значитp, оно либо само простое либо делится на простое чи. сло большее, Полученное противоречие, доказывает тео- рему, . p. -
в формальной арифметике прямо не проходит из за отсутствия функции факториал17. -
17 На самом деле функция факториал как и практически все другие используемые в математике вычислимые функции определима, в арифметике но путь к этому опреде лению идет через теорему Евклида, . , -
13.3. ПРЕДСТАВИМОСТЬ ЧЕРЕЗ ДОКАЗУЕМОСТЬ  | 
	367  | 
Доказательство. Рассмотрим расшифровку A(f(x), ~y), а именно,
z(A(x, z) & B(z, ~y)).
A(n, m) для любых изображений чисел истинна в любой модели тогда  | 
||||
и только тогда, когда m = f(n) (это следует из арифметической разре-  | 
||||
шимости.) Далее,  | 
	вообще для любого элемента a модели арифметики  | 
|||
A(n, a) истинно тогда и только тогда, когда f(n) = a (это следует из од-  | 
||||
нозначности.) Значит, A(f(n), k) доказуемо тогда и только тогда, когда  | 
||||
  | 
	
  | 
	
  | 
	~  | 
	
  | 
доказуемо A(m, k) для соответствующего значения m = f(n).  | 
||||
~  | 
	
  | 
	
  | 
	
  | 
	
  | 
Конец доказательства.  | 
	
  | 
|||
Теперь легко обосновать арифметическую представимость несколь-  | 
||||
ких функций.  | 
	
  | 
	
  | 
	
  | 
	
  | 
n mod m =  | 
	остаток от деления n на m,  | 
	m > 0  | 
||
0,  | 
	иначе  | 
|||
  | 
	
  | 
	
  | 
	частное от деления n на m,  | 
	m > 0  | 
n div m =  | 
	0,  | 
	иначе  | 
||
  | 
	
  | 
	целая часть логарифма, m > 0, n > 1  | 
||
logn m =  | 
	m,  | 
	иначе  | 
	
  | 
|
  | 
	
  | 
	степень, с которой n входит в  | 
	n простое  | 
|
n pow m =  | 
	разложение m,  | 
|||
  | 
	
  | 
	0,  | 
	
  | 
	иначе  | 
  | 
	
  | 
	
  | 
	i-я цифра в n-ичном разложе- n > 1  | 
|
dig(i, n, m) = (  | 
	нии m,  | 
	иначе  | 
||
  | 
	
  | 
	
  | 
	0,  | 
|
Цифры в позиционном представлении числа мы начинаем нумеровать  | 
|||
с последней, в соответствии со степенями основания системы. Так что  | 
|||
последняя цифра —  | 
	нулевая, предшествующая ей —  | 
	первая, и т. д18.  | 
|
Предложение 13.3.2. Пусть A(x) —  | 
	арифметически разрешимая фор-  | 
||
мула, для которой задана возрастающая функция ϕ, определимая в ариф-  | 
|||
18 Арабы пишут справа налево но числа записывают в том же порядке что и евро пейцы Как видите это несколько, логичнее Переняв арабские цифры европейцы, не- сообразили. изменить, порядок их записи в соответствии. со своим направлением, пись ма Делать этого теперь уже не нужно единожды сделанное часто превращается в обы- чай. ломка которого не стоит получаемых, преимуществ но учитывать в математической- формализации, такие нелогичности стоит. ,
368 ГЛАВА 13. НЕПОЛНОТА И НЕФОРМАЛИЗУЕМОСТЬ
метике и с арифметически разрешимым графиком такая что в про межутке от до по крайней мере одно число, , удовлетво- ряет Тогдаϕ(n)свойствоϕ(n+1)Быть тым числом для которогоm выпол- нено A(mарифметически). разрешимо“ k- , -
A” .
Доказательство. Рассмотрим формулу
  | 
	i(i < n A(dig(i, ϕ(n), m)))  | 
&  | 
	j(j < dig(n, ϕ(n), m)) & A(j) i(i < n & dig(i, ϕ(n), m) = j))  | 
&  | 
	logϕ(n) m = n  | 
&i(i < n dig(i, ϕ(n), m) < dig(i + 1, ϕ(n), m)).
Она утверждает что число кодирует в системе с основанием(13.10) первые последовательных, mчисел для которых выполнено Формуϕ(n) ла n удовлетворяет условиям,определения СледовательноA. - можно(13.10)определить функцию выдающую13.3по.2. код первых , элементов множества CODEИскомый(n), элемент представляетсяn какn
{i | A(i)}. dig(n, ϕ(n), CODE(n)).
Следствие Функция вычисляющая тое простое число пред ставима в. арифметикеPrim. (n), n- , -
Для доказательства следствия достаточно сослаться на известный в те ории чисел факт что между и 2 обязательно имеется хотя бы одно- простое число и,взять в качествеn n скажем 4
А теперь можно, построить арифметическиϕ, , λnразрешимыйn . предикат
Proof(n, a, m),
утверждающий что является кодом вывода в нашей теории фор мулы Мы, не nбудем проводить это построение явно посколькуTh - его осуществимостьA(m). следует из тезиса Черча. ,
Упражнения к § 13.3
Почему мы не сделали напрашивающегося вывода что в усло 13.3.1.виях определения формула истинна, на лю- бой модели арифметики13.3.2 и следовательноx 1y A(поx, yтеореме) полноты- доказуема в ней? , , ,
13.4. НЕПОЛНОТА  | 
	369  | 
13.3.2. Почему мы не ослабили в определении 13.3.2 требование дока-  | 
|
зуемости x 6 1y A(x, y) до ее истинности на стандартном на-  | 
|
туральном ряду, ведь все равно A арифметически разрешимо?  | 
|
13.3.3. Студент Гениалькис обвинил автора в устарелости изложения и  | 
|
предложил следующий подход:  | 
	
  | 
Мы воспользуемся для установления арифметической разреши-  | 
|
мости одним тонким результатом, установленным российским уче-  | 
|
ным А. Матиясевичем, доказательство которого приводить не бу-  | 
|
дем.  | 
	
  | 
Под диофантовым уравнением будем понимать равенство двух мно-  | 
|
гочленов (возможно, от многих переменных) с положительными  | 
|
коэффициентами. Будем искать решения таких уравнений в на-  | 
|
туральных (неотрицательных целых) числах. Оказывается, между  | 
|
такими уравнениями и алгоритмами есть прямая взаимосвязь.  | 
|
Теорема 13.4. Для любого рекурсивно перечислимого множества  | 
|
X найдутся два многочлена PX (n, m¯ ), QX (n, m¯ ), такие, что  | 
|
m¯ PX (n, m¯ ) = QX (n, m¯ ) n X.  | 
	(13.11)  | 
Таким образом, найдется многочлен с целыми коэффициентами,  | 
|
для которого данное множество является проекцией множества  | 
|
его корней на первую координату19 и формула (13.11) представля-  | 
|
ет данное множество в арифметике, поскольку, очевидно, если она  | 
|
истинна, она доказуема.  | 
|
Можете ли Вы что-нибудь возразить?  | 
|
13.3.4.  | 
	А почему мы не взяли в качестве ϕ для простых чисел λn n2?  | 
§ 13.4.  | 
	НЕПОЛНОТА  | 
Неполноту любой непротиворечивой формальной теории позволяющей выразить понятие доказательства т е в частности теории, содержа щей арифметику можно теперь установить( . ., диагональным, процессом, - ), ,
19 Поскольку данный многочлен как правило содержит немало вспомогательных пе ременных, неточно выражаться, что, X представляется, как его множество корней. -
370 ГЛАВА 13. НЕПОЛНОТА И НЕФОРМАЛИЗУЕМОСТЬ
аналогичным использованному в теореме Тарского. Простейшая напра-  | 
||
шивающаяся здесь конструкция —  | 
	взять формулу  | 
	
  | 
¬ n Proof(n, a, a)  | 
	(13.12)  | 
|
и подставить в нее ее собственный геделев номер Тогда она будет вы ражать свою собственную недоказуемость и не может. быть доказана- Далее если можно доказать ее отрицание то отсюда будет следовать. существование, ее доказательства но теория, непротиворечива и отри цание ее тоже не может быть доказано, , -
Но последняя часть данного рассуждения. содержит скрытую ловуш ку существование доказательства следует лишь семантически в стан- дартной: модели арифметики и поэтому мало чтобы теория была не- противоречива нужно чтобы, ее арифметические, теоремы были истин- ны на стандартном, натуральном, ряду Сам Гёдель заметил эту ловушку- и явно ее указал а через несколько лет. американский логик Дж Россер привел более тонкую, конструкцию которая действует в любой. непро тиворечивой теории и позволяет получить, ряд обобщений результатов- о неполноте.
4  | 
	
  | 
Rosser(n, dAe) = Proof(n, dAe , dAe) i(i < n & Proof(i, d¬ Ae , dAe)).  | 
|
  | 
	(13.13)  | 
Эта формула устанавливает недоказуемость самой себя более тонким  | 
|
способом: она утверждает для своего вывода существование вывода соб-  | 
|
ственного отрицания с более коротким кодом.  | 
	
  | 
Пусть имеется доказательство формулы  | 
	
  | 
n Rosser(n, d n Rossere).  | 
	(13.14)  | 
Оно имеет некоторый код n0. Тогда, согласно (13.13),
i(i < n0 & Proof(n, d¬ n Rossere , d n Rossere)).  | 
	
  | 
Но последняя формула арифметически разрешима и, значит, доказуема  | 
|
тогда и только тогда, когда истинна. Значит, наша теория противоречива,  | 
|
чего не может быть.  | 
	
  | 
Пусть теперь имеется доказательство отрицания формулы (13.14).  | 
|
Тогда это доказательство имеет код n0. Для произвольного k > n0  | 
	дока-  | 
зывается заключение импликации из формулы Россера, а k ≤ n0  | 
	лишь  | 
конечное число и по арифметической разрешимости и по непротиворе чивости рассматриваемой, теории для них можно установить, что ложна-

}|
{