Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по математической логике3.doc
Скачиваний:
189
Добавлен:
02.05.2014
Размер:
1.58 Mб
Скачать
  1. Логика

    1. Введение

    2. Операции логики Буля

    3. Формы представления булевых операций

    4. Методы доказательства в логике Буля

    5. Задания на практическую работу по логике высказываний

    6. Введение в логику высказываний

Под высказыванием мы будем понимать грамматически правильное повество­вательное предложение, про которое можно сказать, что оно либо истинно, либо ложно, например:

«Киев — столица Украины»,

«Париж — столица России».

Первое высказывание является истинным, второе —ложным. Возьмем двапростыхвысказывания:

А = «На улице идет дождь»,

В = «Над моей головой раскрыт зонтик»,

С помощью пяти логических связок можно образовать следующие сложные высказывания:

  1. отрицание: -А = «На улице не идет дождь»;

  2. дизъюнкция: -AvВ = «На улице не идет дождь или над моей головой раскрыт зонтик»;

  3. конъюнкция:

А & -В = «На улице идет дождь и над моей головой не раскрыт зонтик»;

  1. импликация:

А В = «Если на улице идет дождь, то над моей головой раскрыт зонтик»;

  1. эквивалентность:

В ~ А = «Над моей головой раскрыт зонтик тогда и только тогда, когда на улице идет дождь».

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

  • Отрицание.

Высказывание А по-другому можно прочитать так:

«Истинното, что на улице идет дождь».

Поэтому, если А = 0 , то это означает, что на улице не идет дождь. Дополняющее

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

«Истинното, что на улице не идет дождь».

Тогда -А = 1 будет обозначать ту же самую ситуацию, что и в предыдущем случае, т.е. отсутствие дождя.

  • Дизъюнкция.

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

Р = «Петр находится в кинотеатре» ,

Q= «Петр находится в бассейне» .

Если для нас не столь важно, где находится Петр, то мы, конечно, можем исполь­зовать союз «или»с включенным в него союзом «и», формально записав:

PvQ= «Петр находится в кинотеатреили/ив бассейне».

Но если нам нужно точно установить, где находится Петр, то мы обязаны исклю­чить случай одновременного присутствия Петра в кинотеатре и бассейне, т е формально записать:

(Р vQ) & -(P&Q) .

Подобные высказывания называются строгой дизъюнкцией, которая означает: «либо Р, либо Q, но не Р иQодновременно». И хотя, с точки зрения логики Буля эта логическая операция равносильна операции симметрической разности:

P+Q= (PvQ)& (-P v -Q),

исторически сложилось так, что символ «+» в логике высказываний не использу­ется.

  • Конъюнкция.

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

А & В = «На улице идет дождь, а над моей головой не раскрыт зонтик».

Союзы «a»и «но»по смыслу часто совпадают с союзом «и», поэтому они используются в сложных конъюнктивных предложениях.

Однако языковая ситуация может стать такой, что союз «и»перестает играть рольконъюнкции;приведем два сложных предложения:

«Ему стало страшно и он убил человека»,

«Он убил человека и ему стало страшно».

Здесь некоммутативность двух простых предложений очевидна, поскольку мы имеем дело со скрытой импликацией, когда одно простое предложение обусловливает другое.

  • Импликация.

Высказывание типа «если А, то В » носит объясняющий характер Оно как бы разъясняет нам, почему имеет место событие В — потому что имело место событие А. Это свойство импликации особенно ценно для логики высказываний, о чем мы подробно остановимся в следующем подразделе.

Объясняющий характер импликации тесно связан с причинно-следственным отношением, при котором А выступает в роли причины, а В — следствия. Причинно-следственная связь между А и В грамматически может быть офор млена предложениями: «А является достаточным основанием для В», «В , потому что А», «В при условии выполнения А» и т.д. Если под А и В понимать прежние высказывания, то результат причинно-следственного отношения можно оформить следующей таблицей истинности. Вторая строка таблицы говорит об отсутствии причинно-следственного отношения между событиями А и В.

Таблица

A

B

AB

Результаты

0

0

1

Останусь сухим

1

0

0

Вымокну

0

1

1

Останусь сухим

1

1

1

Останусь сухим

  • Эквивалентность.

Высказывание «А эквивалентно В» может быть с успехом заменено на «А равно В», «А тождественно В», «А равносильно В», «А тогда и то­лько тогда, когда В» и т.д. Так как эквивалентность выражается через конъюнк­цию двух импликаций:

А ~ В = (А В) & (В  А),

то это отношение часто возникает при одновременном выполнении двух усло­вий: «из А следует В» и «из В следует А». Таким образом, при эквивалентности двух событий невозможно одному из них приписать роль только причины, а дру­гому — только следствия. Например, два события:

R= «Нарастание анархии в обществе»,

S= «Падение авторитета власти»,

являются вполне равнопорядковыми событиями, поскольку причиной нараста­ния анархии в обществе является падение авторитета власти; и наоборот, падение авторитета власти происходит из-за нарастания анархии в обществе. В данной си­туации бессмысленно обвинять только власть в слабости и некомпетентности или обвинять народ в несознательности и недисциплинированности.

События RиSобразуютлогический круг; их будем называть сильно связанны­ми событиями и выражать следующими тождественными формами:

R ~ S = (R & S) ~ (R v S) = (R v S)  (R & S).

Понятие «сильной связанности» совпадает с понятием «эквивалентности», если речь идет о двух событиях. Но возьмем, к примеру, хорошо известное объ­яснение, на чем держится Земля:

Земля (X) держится на трек китах (Y), киты (Y) держатся на водах океана (Z), океан (Z) держится на Земле (X),

Последовательность, куда входят три названных объекта X,YиZ, тоже обра­зуют логический круг:

(YX)&(ZY)&(XZ)

Однако отношение эквивалентности (быть взаимной опорой друг для друга) между всеми тремя объектами, т.е.

X~Y~Z,

здесь не возникает, да и не могло возникнуть, так как мы ведь не утверждаем, что 3емля является непосредственной опорой для китов (X~Y), или что киты являют­ся непосредственной опорой для вод океана (Y~Z). Поэтому эквивалентность в данном случае проявляется в весьма своеобразной форме:

(X&Y&Z) ~ (XvYvZ) или (XvYvZ)(X&Y&Z) ,

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

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

С древних времен известен так называемый «Парадокс лжеца». Изложим его суть.

«Я – лжец», — сказал лжец,

Итак, некий лжец сообщает о себе, что он лжец. Следовательно, здесь он выступает в своем противоположном качестве, а именно — нелжеца. Поэтому пpиведенное высказывание на самом деле нужно понимать иначе:

«Я – лжец», — сказал нелжец.

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

Парадокс возник потому, что в приведенных высказываниях не делается раз граничения между двумя принципиально различными логическими уровнями. Помимо «лжеца» или «нелжеца» в данной логической ситуации участвует субъект (метанаблюдатель). Если провести четкое синтаксическое отделение смыслового содержания, которое должно относиться к нам, как метанаблюдателям от прочей семантики объектных персонажей, то логическое противоречие буде снято. Ситуацию с лжецом необходимо представлять следующим образом:

«Я – лжец», — сказал лжец.

«Это истинно», — сказал метанаблюдатель.

«Я – лжец», — сказал нелжец.

«Это ложно», — сказал метанаблюдатель.

«Я – нелжец», — сказал лжец.

«Это ложно», — сказал метанаблюдатель.

«Я – нелжец», — сказал нелжец.

«Это истинно», — сказал метанаблюдатель.

ложно * ложно = истинно,

истинно * ложно = ложно,

ложно * истинно = ложно

истинно * истинно = истинно.

Если приведенные четыре конструкции записать через два слова истинно и ложно, то получим обыкновенную таблицу умножения для группы из двух эле­ментов типа плюс и минус единицы. Однако источником противоречий в логике высказываний необязательно является смешение именно объектного и субъект­ного уровней. Неопределенность может возникнуть между различными объект­ными уровнями. В качестве примера приведем следующую фразу: «Нет правил без исключений». Но фраза, стоящая здесь в кавычках сама является правилом. Так какое исключение должно следовать из него? Разберем это противоречие, несколько изменив его семантику. Пусть имеется высказывание:

А = «Любое высказывание является ложным».

Так как А является высказыванием, на него должно распространяться сказан­ное в предложении А. Рассмотрим два случая:

1) Пусть А = 1. Это означает, что А = «А = 0» = 1, т.е. А = 0.

2) Пусть А = 0. Это означает, что А = «А = 0» = 0, т.е. А = 1.

Таким образом, в обоих случаях имеем противоречие. Чтобы его избежать, нужно произвести логическое разграничение всего множества высказываний на два принципиально различных класса – А и В. В этом случае формальная запись пер­воначальной фразы будет иметь вид: А = «В = 0»; тогда при А = 1, В = 0 и при А=0, В = 1

Приведем еще один пример известного парадокса. Английский логик Бертран Рассел поведал такую притчу:

В одной из деревень жил парикмахер. Он брил всех тех жителей деревни, кто не брился сам.

Рассел задался вопросом: может ли парикмахер побрить самого себя?Начинаем рассуждать: если парикмахер захочет побрить самого себя, то как житель этого се­ления, который бреется сам, он не вправе это сделать; но если парикмахер не ста­нет бриться, то уже как житель селения, который не бреется сам, он обязан будет себя побрить.

Выразим семантику этого противоречия формальным языком, Обозначим че­рез А парикмахера и пусть Р(А, В) означает высказывание «А бреет В». Тогда си­туацию, которую мы имеем в селении, можно описать двумя метавысказывания-ми:

1) Если Р(В, В) = 0, то Р(А, В) = 1.

2) Если Р(В, В) = 1, то Р(А, В) = 0.

Когда парикмахер рассматривается в качестве рядового жителя селения (А = В), оба метавысказывания становятся внутренне противоречивыми:

1) Если Р(А, А) = 0, то Р(А, А) = 1.

2) Если Р(А, А) = 1, то Р(А, А) = 0.

Выражение Р(А, В) может означать «А учит В», «А развлекает В» и т.д. При этом под А понимается учитель, юморист и т.д. И хотя А, наряду с В* формально является объектной переменной, ее нельзя ставить на один уровень с В, так как именно относительно А сформулированы метавысказывания.

    1. Построение доказательств в логике высказываний

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

В булевой логике все доказательства строились на отношении эквивалентно­сти. Даже если в множественных выражениях и фигурировало отношение вклю­чения, что является частным случаем отношения порядка, то его мы переводили в тождество. Две логические функции считались эквивалентными, если они дава­ли на соответствующих наборах аргументов абсолютно одинаковые значения нулей и единиц. При использовании формальной записи логических выраже­ний отдельные звенья цепи любого доказательства там были связаны через сим­вол равенства «=». Отношение эквивалентности удовлетворяет трем законам —

рефлексивности: А = А;

симметричности: если А = В , то В = А;

транзитивности: если А = В и В = С, то А = С.

В логике высказываниивсе доказательства строятся наотношении порядка, т.е. на отношении, которое существует между причиной и следствием. Здесь уже от­дельные звенья цепи доказательства связаны символом импликации. Однакс символ импликации « -> » при логическом выводе мы будем заменять на символ « =$• », подобно тому, как в логике Буля используются два символа эквивалентно­сти — « ~ » и « = ». Символ « ~ » являетсяобъектным, а « = » —субъектным. Таким образом, следует различатьязыклогики высказываний иметаязыкисследовате­ля. Во избежание путаницы введем еще дваметасимвола: вместо объектной конъ­юнкции «» будем использоватьсубъектныйсимволметаконъюнкции— «,»,< вместообъектной дизъюнкции«» —субъектную метадизъюнкцию« ; ». Тогда утверждение, которое требуется доказать, в логике высказываний оформляется в виде следующегопричинно-следственного отношения:

Р1, Р2, ... , Рn-1, Рn =>C, (1.1)

где Рiпосылка (причина), С —заключение (следствие). Читается: «Если посылки Р1, Р2, ... , Рn-1, Рn истинны, то заключение С тоже истинно» или, по-другому «Если причины Р1, Р2, ... , Рn-1, Рn имели место, то будет иметь место и следст­вие С».

Чтобы не спутать объектное высказывание(предложение) ссубъектным высказыванием, справедливость которого мы намереваемся установить, условимся предложения типа (1.1) называтьклаузой(clause).

Клауза — это метапредложение, в котором использованоотношение порядка,оформленное через символметаимпликации« => ». Как и отношение эквивалентности, отношение порядка удовлетворяет трем законам:

рефлексивности: А => А;

антисимметричности: если , то;

транзитивности: если А => В и В => С, то А => С.

В отличие от эквивалентности отношение порядка предполагает выполнение закона антисимметричности, который можно записать так:

если А=>В и В=>А, то А = В.

Клауза есть именно формальная запись доказываемого предложения. Вместо букв в ней можно подставить объектные высказывания, и тогда клауза наполня­ется конкретным содержанием, которое уже именуется семантикой или леген­дой. Пример клаузы:

А->В, А => В.

Если принять, что

А = сверкнула молния, В =грянул гром, то можно составить следующую легенду:

Известно, что если сверкнула молния, то после этого грянет гром. Молния сверк­нула. Следовательно, должен и грянуть гром.

Над субъектом, который формулирует метапредложения, может стоять дру­гой субъект, для которого уже предложения первого субъекта окажутся объект­ными. Тогда клаузу (1.1) второй субъект или метасубъект запишет для себя сле­дующим логическим выражением:

.

Преобразовав это выражение в дизъюнкт, получим:

.

Отсюда легко находим:

.

Поэтому клауза (1.1) может быть представлена в другой эквивалентной форме:

. (1.2)

В силу коммутативности конъюнкции на месте посылки РЛ может оказаться любая другая, причем не одна. Например, клауза:

может быть преобразована в другую эквивалентную форму:

. (1.3)

Однако клауза (1.1) по сравнению с (1.2) и другими подобными формами, типа (1.3), имеет определенные преимущества и, в частности, используется в языке логического программированияПРОЛОГ. Ее называютхорновской. Произ­вольную клаузу всегда можно свести путем эквивалентных преобразований к хорновскому виду.

Если символ метаимпликации « => » клаузы (1.2) сместить в крайнее левое по­ложение, то она превратится в тавтологию; если же его сместить в крайнее пра­вое положение, то — впротиворечие.

1 => — тавтология,

— противоречие.

RДобавив в клаузу (1.1) слева 1 через «,» и сместив импликацию влево, получим смещением тавтологию.

Добавив в клаузу (1.1) справа через «;» 0 и сместив импликацию вправо, получим противоречие.

R

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

  • аксиоматический метод,

  • метод таблиц истинности,

  • метод резолюций,

  • метод Вонга,

  • метод натурального исчисления.

Как и в логике Буля, в логике высказываний существуют аксиоматическийиконструктивныйподходы доказательств логических выражений. Два первых из только что названных пяти как раз являются яркими представителями таких подходов, остальные три метода — смешанной стратегии. Аксиоматическое построение логики высказываний состоит в том, чтобы попытаться вычленить из бесконечного числа истинных клаузнезависимую систему аксиом, с помощью которой можно было бы установить справедливость любых других клауз.

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

если А = В , то В = А

всегда можно представить в антисимметричной форме:

если А = В , то ,

но не наоборот. Следовательно, логика высказывания является расширениемлогики Буля. Поэтому все истинные тождества логики Буля автоматически становятся справедливыми клаузами логики высказываний. Например,закон склеивания:

можно представить следующими справедливыми клаузами:

,,

,.

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

Очевидная сентенция:

Истину может изречь всякий.

На формальном языке логики высказываний эту сентенцию можно представить следующей клаузой:

А => В ->А.

Она означает: «если А истинно, то источником этой истинности может быть что угодно, например В ». Если произвести эквивалентное преобразование этой клаузы

Р, откуда следует

А, В => А, (1.4)

то семантика ее тоже изменится, и станет примерно такой: «если ранее было установлено, что А истинно, то истинность В не может проявиться так, что А станет ложным» или «истинность одного высказывания (B) не может повлиять на истинность другого высказывания (A)». Путем эквивалентных преобразований клаузу (1.4) всегда можно преобразовать к другим формам:

, А => А; В,, ...

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

Теперь на первом нашем примере, который был приведен выше, выясним, как производится доказательство справедливости логической клаузы. Исходная клауза имела вид:

А, А->В => В. (1.5)

Преобразуем ее к несколько иному виду:

.

После раскрытия скобок и упрощения сразу же приходим к аксиоме порядка (1.4). Доказанная элементарная клауза (1.5) известна с времен Аристотеля и иг­рает исключительно важную роль в логике высказываний. Она имеет даже спе­циальное латинское название — modus ponensправило отделения. Если в про­цессе доказательства справедливости какой-либо сложной клаузы удалось свес­ти ее к клаузе (1.5), будем считать, что доказательство состоялось.