Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Непейвода. Прикладная логика

.PDF
Скачиваний:
934
Добавлен:
10.08.2013
Размер:
2.27 Mб
Скачать

9.5. ИСЧИСЛЕНИЯ ТРАДИЦИОННОГО ТИПА

231

написано его имя (например, Z υς). В соответствии с этим возникает

следующее индуктивное определение выводимых (или порождаемых)

объектов.

1. Если Ξ аксиома, Ξ

выводимый объект.

Определение 9.5.1.

2. Если Ξ1, · · · , Ξn выводимые объекты, Ξ получается из них при-

менением правила вывода, то Ξ

выводимый объект.

 

Процесс порождения объекта согласно данному индуктивному опре-

делению представляется деревом, как доказано в

6.1.

ко-

Определение 9.5.2.

Вывод в исчислении I традиционного типа

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

ребрам

положительные натуральные числа, остальным вершинам

пара из имени правила и объекта, получающегося применением данного

правила к объектам, сопоставленным вершинам,

непосредственно сле-

дующим за данной, взятым в порядке, соответствующем числам, припи-

санным ребрам, ведущим в эти вершины, причем количество вершин,

непосредственно следующих за данной, равно количеству посылок в

соответствующем правиле (обозначим его n), а ребра, в них ведущие,

взаимно-однозначно занумерованы числами от 1

до n.

 

Таким образом,

правила в исчислении, в отличие от правил в алго-

ритме или предложений в программе,

лишь дают возможность совер-

шить какие-то преобразования, но не обязывают нас сделать это. Как

говорят,

исчисление порождает объекты.

 

 

Пример 9.5.2. Рассмотрим исчисление для порождения палиндромов,

или перевертышей (слов типа кабак’), в алфавите A. Пусть ξ

пере-

менная,

значениями которой являются буквы в алфавите A. Аксиомами

являются пустое слово обозначаемое для того чтобы его увидеть и любая буква ξ. Правило, вывода единственное( ,и с одной посылкой). Λ,

Ξ

ξΞξ

Вывод перевертыша потоп имеет вид здесь последовательные при менения правил мы не станемполностьюразворачивать( в дерево): -

т

ото

потоп

232 ГЛАВА 9. КЛАССИЧЕСКИЕ СТ

Предложение 9.5.1. Объект Ξ выводим в исчислении I тогда и только

тогда, когда он встречается как корень в некотором дереве вывода.

Следствие теоремы 6.1.

 

На самом деле выводимым оказывается любой объект, встречаю-

щийся в некотором выводе. Таким образом, исчисления традиционного

типа позволяют порождать и использовать лишь абсолютно правильные

конструкции; если они имеют дело с формулами, то они не позволяют

применять никаких гипотез, допущений и т.п. С точки зрения современ-

ной теории творческого мышления они формализуют полностью рутин-

ный стиль мышления, когда человек не может даже допустить ничего,

кроме того, что он считает истинным. Но с чисто математической точ-

ки зрения такое свойство традиционных исчислений часто полезно для

доказательства точных результатов. Строго сформулировав исчисление,

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

Корректность означает согласованность исчисления с семантикой вы-

водимых объектов (в частности,

для исчисления традиционного типа

тождественную истинность всех доказуемых объектов). Корректность,

безусловно, необходима для применения исчисления. Полнота означает

возможность вывести любой семантически правильный объект в нашем

исчислении. Полнота не является столь обязательным свойством, а за-

частую и просто теоретически недостижима. Но уж если она возможна,

иметь ее стоит.

Рассмотрим исчисление E равенств натуральных чисел,

Пример 9.5.3.

представленных в следующей форме: n как

 

z

n раз

 

}|· · · {

 

SS

S 0 .

Язык L состоит из равенств n=m.

Аксиома единственная: 0=0. Правило вывода также одно:

n = m

Sn = Sm

Легко видеть что это исчисление полно и корректно относительно обычной интерпретации, равенств.

Пример Немного изменим определение натурального числа из прошлого9примера.5.4. отбросив После этого наряду с исчислением по лучающимся из предыдущего, 0заменой. аксиомы, на можно сформу, - лировать исчисление E1, которое кажется более эффективным‘=’, , добавив-

9.5. ИСЧИСЛЕНИЯ ТРАДИЦИОННОГО ТИПА

233

правило Π1

 

n = m l = k

 

nl = mk

 

где соединение есть просто приписывание одного слова к другому, а не

умножение. Тем не менее можно доказать, что ни одно дерево вывода в

расширенном исчислении не содержит меньше правил, чем в исходном.

Этот пример ставит важный и тонкий вопрос, связанный с предста-

влением данных. Вывод представлен как дерево. Но дерево плохо тем,

что его ветви абсолютно независимы,

и получив однажды n = n, мы

должны на другой ветви получать его вновь. Нельзя ли перейти к бо-

лее эффективному представлению, не заставляющему копировать мно-

жество раз одни и те же куски вывода?

 

Таким представлением является сеть вывода. Ниже дана сеть выво-

да формулы 8 = 8, более короткая, чем соответствующее дерево.

SSSSSSSS = SSSSSSSS

SSSS = SSSS

↓ ↓

(9.14)

SS = SS

 

S = S

 

 

=

 

Сеть часто представляется в другом виде, более удобном для использо-

вания в математическом тексте. Это последовательность объектов. Ка-

ждый объект в этой последовательности является либо аксиомой, либо

получается по одному из правил вывода из объектов, стоящих ранее.

Известно, что при преобразовании сети в дерево количество объектов в

выводе порою растет экспоненциально, т.е. пропорционально c · an, где

a > 1, n

количество объектов в выводе, c

константа.

Если исчисление содержит правила вывода то возникает еще одно важное понятие. ,

Определение Правило допустимо в исчислении если мно жество выводимых9.5.3.объектов неΠизменяется после добавленияI, Π. -

Например, правило Π допустимо в исчислении E из примера 9.5.3.

Упражнения к § 9.5 1

234 ГЛАВА 9. КЛАССИЧЕСКИЕ СТ

9.5.1. Что получится, если опустить требование конечности дерева в

 

определении вывода?

9.5.2. Верно ли, что в рассмотренном выше исчислении для подстано-

 

вок порядка k любая подстановка, встретившаяся в выводе, явля-

 

ется выводимой?

9.5.3. Докажите, что в расширенном исчислении из примера 9.5.4 n=n

 

выводится не менее чем за n применений правил.

9.5.4.

Пусть задано исчисление традиционного типа, в котором языком

 

является множество всех слов в алфавите {abc}, аксиомой a,

 

правилами вывода

XaY XaY XcbbY

XabY XcY XbbaY

Здесь X,Y произвольные слова.

1. Вывести в этом исчислении bbcb.

Построить граф выводимых слов не более чем из пяти букв 2. слова X, Y связаны ребром, если Y переводится правилом в;

 

 

X.

 

 

 

 

3.

Привести пример слова, имеющего два существенно различ-

 

 

ных вывода.

 

 

 

 

4.

Привести пример невыводимого слова.

9.5.5.

Пусть задано исчисление Ξ традиционного типа, в котором язы-

 

ком является множество всех слов в алфавите {ab}, аксиомой

 

b, правилами вывода

 

 

 

 

 

 

X

 

X

 

 

 

 

aXa

 

Xa

1.Показать, какие выражения выводимы в исчислении Ξ. Дать семантику относительно которой данное исчисление

2.было бы полным, .

3.Показать, что правило

XbY YbZ

XbZ

допустимо в исчислении Ξ.

9.5. ИСЧИСЛЕНИЯ ТРАДИЦИОННОГО ТИПА

235

Рассмотрим теорию над языком слов в алфавите ак 9.5.6. сиомой += и правиламиAAвывода {S+=} c -

X + Y = Z XS + Y = ZS

X + Y = Z X + Y S = ZS

1.Вывести SS+SSS=SSSSS.

2.Доказать, что правило

 

 

X + Y = Z

 

 

 

 

 

 

Y + X = Z

 

допустимо в исчислении AA.

3.

Доказать, что AA полно и корректно для сложения натураль-

 

ных чисел.

Рассмотрим исчисление в алфавите Аксиома Правила

9.5.7. вывода: {()}. : Λ.

ΞΞ Ψ

(Ξ)ΞΨ

1.Охарактеризовать выводимые объекты.

2.Доказать полноту исчисления.

9.5.8.Видоизменим второе правило предыдущего исчисления на

ΞΨ

(ΞΨ)

Чем это исчисление отличается от предыдущего?

9.5.9. Рассмотрим исчисление в языке выражений в алфавите

 

 

 

 

()irbctˆ.

 

 

 

 

Аксиомы его

 

 

{i, r, b, c} .

 

 

 

 

Правила вывода:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ξ1

. . . ξn

 

 

ξ

ξ

ξ

 

 

 

R

 

 

I

 

P

 

D

 

1

. . . ξn)

 

 

 

 

 

 

T

ˆξ

ξ ξ

236 ГЛАВА 9. КЛАССИЧЕСКИЕ СТ

Здесь ξ произвольное слово, T слово из букв t. Вывод - ко-

нечный граф, начальными вершинами которого являются аксио-

мы, в каждом применении правила I T отлично от использованных

в остальных применениях этого правила, в каждом цикле приме-

няется хотя бы одно правило P. Выводимые объекты

встреча-

ющиеся в выводе. T определено в выводе Σ, если оно является

заключением правила I.

 

1.

Показать, что все T, встречающиеся в любом выводе, опре-

 

делены.

 

2. Показать, что если сопоставить нашим выражениям типы Па-

 

скаля по принципу: i → integer; r → real; b → boolean;

 

c → char; 1 . . . ξn) → record a1 : x1; . . . an : xn end;

 

ˆξ → ˆx; (здесь T

идентификатор a, определенный описа-

 

нием type a=x; x

тип, сопоставленный выражению ξ, ai

 

произвольные неповторяющиеся идентификаторы), то наше

 

исчисление может рассматриваться как способ вывода кор-

 

ректных описаний типов языка Паскаль.

3.

Показать, что, если убрать требование, чтобы в каждом ци-

 

кле было правило P, наше исчисление становится некоррект-

 

ным.

 

9.5.10. Сформулировать полное и корректное исчисление для равенств

постоянных выражений, составленных из натуральных чисел при

помощи операций сложения.

9.5.11. Сформулировать полное и корректное исчисление для равенств

постоянных выражений составленных из натуральных чисел при помощи операций сложения, и умножения.

СЕКВЕНЦИИ И ФОРМАЛИЗАЦИЯ § 9.6. СЕМАНТИЧЕСКИХ ТАБЛИЦ

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

9.6. СЕКВЕНЦИИ

237

 

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

ных понятий, выявляющих многое из того, что скрыто за общепонят-

ными

словами в нестрогом описании.

Важнейшее из них

секвенция.

Прежде чем определить секвенцию, дадим неформальные пояснения.

 

Секвенция отображает некоторую стадию построения подтаблицы и

состоит из всех результатов, полученных в ней в данный момент.

Эти ре-

зультаты, как мы уже видели, не просто формулы, а формулы с дополни-

тельными спецификациями.

Далее,

при интерпретации секвенции необ-

ходимо учесть,

что в некотором смысле метод семантических таблиц

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

Стремясь убедиться, что формула

тавтология,

мы предполагаем, что она ложна, и старательно выиски-

ваем все возможности, чтобы это нежелательное предположение оправ-

далось. Лишь неудача всех возможных попыток опровергнуть формулу

заставляет нас принять,

что она тождественно истинна. Данные сообра-

жения лежат в основе

парадоксальногоопределения истинности се-

квенции ниже.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Определение 9.6.1. Если задано множество спецификаций S, и α S,

а A

формула,

то αA

специфицированная формула. Секвенция

набор специфицированных формул. Классическая секвенция

 

секвен-

ция, где S есть

{|=, =|},

а формулы являются формулами логики преди-

катов.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Мы специально дали достаточно общее определение, поскольку се-

квенции будут использоваться и для неклассических логик. Большими

греческими буквами , , Λ (возможно с индексами) будем обозначать

произвольные

(возможно пустые) наборы специфицированных формул.

Аксиомы исчисления секвенций

секвенции вида {|= A, =| A}

Видно, что аксиомы соответствуют закрывшимся подтаблицам,

содер-

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

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

Нам доста-

точно показать технику переформулировок на примере правил для и

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

 

{|= B} {=| A}

 

 

=

{=| B} {|= A}

 

|

 

 

 

= A

 

B

}

 

 

|

 

 

 

= A

 

B

}

 

 

 

 

 

 

 

 

{|

 

 

 

 

 

 

 

 

{ |

 

 

 

 

=

 

 

 

{|= x A(x)}

 

}

=

 

=| x A(x)

 

 

|

 

 

{|

 

 

x A(x)

} {|

 

 

|

 

 

{|

 

 

 

}

 

 

 

=

 

 

 

= A(ci)

 

 

 

= A(cn+1)

 

 

Правила для всеобщности требуют пояснения Там где берется(9ста.15)

. , -

238 ГЛАВА 9. КЛАССИЧЕСКИЕ СТ

рая константа, мы сохраняем |= x A(x) с тем, чтобы его можно было

использовать и для других констант. Если же введена новая константа,

мы уже выжали из квантора все, что возможно, и сохранять его смысла

нет.Исчисление секвенций традиционного типа. Для нашего конкрет-

ного случая семантических таблиц (секвенций) нежелательные эффек-

ты традиционного определения в значительной степени нейтрализуют-

ся тем, что нас интересует не столько вся секвенция, как целое, сколько

отдельные специфицированные формулы, входящие в нее. Еще одной

приятной особенностью исчисления секвенций является то, что каждое

правило вывода преобразует в результате лишь одну формулу; говорят,

что оно применяется к этой формуле.

Далее, формула, к которой приме-

няется правило, собирается из своих подформул (возможно, с подста-

вленными значениями свободных переменных). Таким образом, в де-

реве вывода в исчислении секвенций встречаются лишь подформулы

формул, входящих в полученную секвенцию. Это свойство подформуль-

ности является чрезвычайно ценной особенностью секвенций и семан-

тических таблиц, делающей их мощным инструментом в исследовании

логических систем.

 

 

 

 

 

Исчисление секвенций создано немецким логиком Г. Генценом (G. Gen-

tzen) в 1934

г.5 Сам Генцен, и вслед за ним большинство логиков, приме-

няют другую систему обозначений: секвенция представляется как фи-

гура →

, где и

наборы формул. соответствует формулам,

специфицированным как истинные, а

как ложные. Пример дерева

вывода в исчислении секвенций.

 

 

 

 

 

|= A, |= B, =| A |= A, |= B, =| B

 

 

 

 

|= A, |= B, =| A&B

 

 

 

 

 

 

 

 

 

 

|= A, =| (B A&B)

 

 

 

 

 

 

 

 

 

 

=| A (B A&B)

(9.16)

В связи с локальной структурой дерева вывода появляется еще одно важное понятие. Если секвенция находится в дереве выше секвен-

5 Его судьба была трагична Он стал членом нацистской партии и ректором Пражского университета во время немецкой. оккупации. За это он был расстрелян в 1945 г.

9.6. СЕКВЕНЦИИ

 

239

ции , то для каждой из формул

имеется возможность однозначно

определить подформулу одной из формул , в которую она переходит.

Например, =| B из листа 2 переходит в подчеркнутую B в исходной

=| A (B A&B). Дадим строгие определения.

Определение 9.6.2.

Для правила |= =| A в одном из аргументов и

|= B в другом являются (непосредственными) результатами разбиения

|= A B. Они соответствуют посылке и заключению этой импли-

кации. Для правила

=| (непосредственными) результатами разби-

ения являются =| B

и |= A. Соответствие определяется аналогично.

Для аргумента правила |= |= A(ci) – ( непосредственный) результат,

а |= x A(x) результат разбиения |= xA(x) в результирующей се-

квенции. Первый из них соответствует подформуле A(x), второй всей

формуле. Для правила =| =| A(cn+1) – ( непосредственный) результат

разбиения =| x A(x) и соответствует подформуле A(x). Для осталь-

ных правил результаты разбиения и соответствия для формул, к кото-

рым применяется правило, определяются аналогично. Для всех формул

из они сами в аргументе являются результатами разбиения их же в

заключении правила.

 

Если A есть результат разбиения B, B результат разбиения C, то

A есть результат разбиения C и соответствует той подформуле C, кото-

рая соответствует в подформуле B0, соответствующей B в C, подфор-

муле A0, соответствующей A в B.6 Определим истинность и ложность

секвенции в интерпретации.

истинна в интерпретации M, если хо-

Определение 9.6.3.

Секвенция

тя бы одна из ее формул противоречит своей спецификации; она ложна,

если все формулы соответствуют своим спецификациям.

Таким образом, предполагая в начале построения семантической та-

блицы =| A, мы стремимся вывести секвенцию {=| A}, истинность ко-

торой означает истинность A.

 

Теорема 9.1. (Теорема корректности для исчисления секвенций)

Если секвенция выводима, то она истинна в любой интерпретации.

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

 

 

6 Часто результаты разбиения называют предками соответствующей формулы. Но эта

терминология зависит от точки зрения. Если рассматривать исчисление секвенций, то

они скорее предки, а если рассматривать таблицы, они

потомки (конечно, измельчав-

шие).

 

240 ГЛАВА 9. КЛАССИЧЕСКИЕ СТ

Базис Пусть вывод состоит из одной секвенции Тогда она является аксиомой. Значит в ней есть формула которая специфицирована. и как истинная. и как ложная, Один из ее экземпляров, и противоречит специ фикации , . - Шаг. Пусть корректность доказана для всех выводов с числом се квенций. Докажем ее для секвенций выводимых за шагов Разбе- рем случаи< nкогда. результирующая секвенция, получаетсяn по правилам. - для и ,Остальные рассматриваются аналогично Пусть последним

применялось. правило получена . из

По предположению=| , индукции исходная{=| A секвенцияB} истинна{=| B} в любой{|= A}.интерпретации Докажем более, сильное чем непосредствен но требуется утверждениеM. аргумент и результат правила, одновременно- истинны либо, ложны в любой: интерпретации 7 Если аргумент ложен то все формулы из удовлетворяют своей спецификации. ложно ,ис тинна По таблице истинности для ложно , BОбратно, Aесли- результат. ложен то все формулы из ,специфицированыA B. правильно, и ложно По, таблице истинности тогда истинна и ложно Зна, чит и аргументA B. тоже ложен Поскольку, условия ложностиA аргументаB. и- результата, эквивалентны эквивалентны. и условия их истинности

Для правила установим, эквивалентность истинности обоих. аргументов и результата=| или что эквивалентно ложности хотя бы одно го из аргументов и ложности, ,результата Если ложен, результат правила- то все формулы из специфицированы. правильно и истинно , По таблице истинности тогда ложно или истинно, ЗначитA хотяB. бы одна из посылок истинна, НаоборотA если ложен одинB. из аргумен,

тов правила то все формулы из. специфицированы, правильно и лож- на посылка импликации, либо истинно ее заключение В любом,из этих- случаев истинна Теперь рассмотрим правило. Если ложен аргументAто соответствуютB . своим спецификациям все|=формулы. из ре зультата ,поскольку все они входили в аргумент Если истинен результат- то он полностью, входит в аргумент, а A(ci) истинно. , поскольку истинно,

x AИ(xнаконец). рассмотрим Здесь уже не выполнена эквивалент ность истинности, посылки и=заключения| . в любой интерпретации - может быть истинно в интерпретации хотя xA(x) ложно в . A(Ноcn+1)

M, M. :

7 Если бы у нас было возможно применять операцию к секвенциям можно было бы сказать: секвенции в посылке и заключении эквивалентны. ,