Непейвода. Прикладная логика
.PDF9.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
допустимо в исчислении Ξ.
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 Если бы у нас было возможно применять операцию к секвенциям можно было бы сказать: секвенции в посылке и заключении эквивалентны. ,