Непейвода. Прикладная логика
.PDF13.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 |
лишь |
конечное число и по арифметической разрешимости и по непротиворе чивости рассматриваемой, теории для них можно установить, что ложна-