Дискретная математика:
логика, группы, графы, фракталы

Акимов О.Е.

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

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

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

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

рефлексивности: А = А;
симметричности: если А = В , то В = А;
транзитивности: если А = В и В = С, то А = С.

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

Р1, Р2, ... , Рn – 1, Рn ⇒  С    (1.1)

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

Чтобы не спутать объектное высказывание (предложение) с субъектным высказыванием, справедливость которого мы намереваемся установить, условимся предложения типа (1.1) называть клаузой (clause предложение). Клауза — это метапредложение, в котором использовано отношение порядка, оформленное через символ метаимпликации « ⇒ ». Как и отношение эквивалентности отношение порядка удовлетворяет трем законам

рефлексивности: А ⇒ А;
антисимметричности: если А ⇒ В, то ВА;
транзитивности: если А ⇒ В и В ⇒ С, то А ⇒ С.

Отношение порядка предполагает выполнение закона антисимметричности, который записывается ещё и так:

если А ⇒  В и В ⇒  А, то А = В;
если А = В, то А ⇒  В и В ⇒  А. 

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

А → В, А ⇒  В.

Если принять, что А = «сверкнула молния», В = «грянул гром», то можно составить следующую легенду: «Известно, что если сверкнула молния, то после этого грянет гром. Молния сверкнула. Следовательно, должен грянуть и гром».

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

Р1 ∧ Р2 ∧ ... ∧ Рn – 1 ∧ Рn → С.

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

Р1Р2 ∨ ... ∨ Рn – 1Рn ∨ С.

Отсюда находим:

1 ∧ Р2 ∧ ... ∧ Рn – 1 ) → (Рn ∨ С).

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

Р1, Р2, ... , Рn – 1 ⇒  Рn ; С     (1.2)

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

Р1, Р2, Р3, Р4 ⇒  С1; С2 ; С3.

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

Р4, C2, Р1, C1 ⇒  P1 ; С3 ; P2.    (1,3)

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

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

1 ⇒  Р1 ; Р2 ; ...  ; Рn – 1 ; Рn ; С — тавтология,
Р1, Р2, ... , Рn – 1, Рn , С ⇒  0 — противоречие.

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


 
  


Hosted by uCoz