Опубликован: 03.10.2011 | Уровень: для всех | Доступ: свободно
Лекция 6:

Логики вполне достаточно

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

Еще одна базисная операция, принадлежащая основному репертуару: импликация. Хотя она схожа с другими операциями not, or, and и эквивалентностью близка к операции or, она требует особого внимания, поскольку некоторым людям кажется, что ее точные свойства противоречат здравому смыслу и понятию следования в естественном языке.

Определение

Простейший способ определения операции implies состоит в том, чтобы выразить ее в терминах уже определенных операций or и not.

Определение: Импликация

Значение a implies b для любых булевских значений a и b является значением (not a) or b

Это временное определение. Позже будет дано еще одно определение.

Приведенное определение позволяет построить таблицу истинности (которая сама по себе может служить определением).

a b a implies b
True True True
True False False
False True True
False False True

Нетрудно видеть, что это таблица для or, в которой в столбце для a значения True и False поменялись местами. Результат a implies b истинен для всех истинностных присваиваний, за исключением одного случая, когда a равно True, а bFalse.

В импликации a implies b первый операнд a называется посылкой (antecedent), второй, b, – следствием или заключением (consequent).

Принципы, которые были установлены для конъюнкции и особенно для дизъюнкции, имеют прямой аналог и для импликации.

Теорема: "Принцип Импликации"

Импликация имеет значение True за одним исключением, когда посылка имеет значение True, а заключение – False.

Как следствие, она имеет значение True, когда выполняется одно из двух условий:

I1 посылка имеет значение False;

I2 заключение имеет значение True.

Связь с выводами

Имя операции "implies" (влечет) предполагает, что эту операцию можно использовать для вывода одних свойств из других. Это и в самом деле допустимо, что и устанавливается следующей теоремой.

Теорема: "Импликация и вывод"

I3 Если истинностное присваивание удовлетворяет как a, так и a implies b, то оно удовлетворяет и b.

I4 Если оба a и a implies b являются тавтологиями, b – также тавтология.

Доказательство: Для доказательства I3 рассмотрим истинностное присваивание TA, удовлетворяющее a. Если TA также удовлетворяет a implies b, то оно должно удовлетворять и b, так как в противном случае из второй строки истинностной таблицы False следовало бы, что a implies b равно False. Для доказательства I4 заметьте, что если a и a implies b являются тавтологиями, то предыдущий вывод распространяется на любое истинностное присваивание TA.

Это свойство делает законным обычную практику вывода. Когда мы хотим доказать истинность свойства b, то вводим более "сильное" свойство a и независимо доказываем истинность двух утверждений:

  • a;
  • a implies b.

Отсюда следует истинность b.

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

Определения: сильнее, слабее

Для двух неэквивалентных выражений a и b мы говорим, что:
  • "a сильнее b", если и только если a implies b является тавтологией;
  • "a слабее b", если и только если b сильнее a.

Определения предполагают, что a и b не являются эквивалентными, поскольку некорректно говорить, что a "сильнее" b, если они одинаковы. Для случаев возможного равенства будем говорить "сильнее или эквивалентно", "слабее или эквивалентно" (подобно отношениям над числами "больше", "больше или равно").

Практическое ощущение импликации

Какова связь операции implies с обычным понятием следования, выражаемого в естественном языке таким словосочетанием, как "Если …, то…"?

В повседневном использовании импликация зачастую задает причинную связь: "Если лето будет солнечным, то это будет удачей для виноградников Бургундии" – это предполагает, что одно событие является причиной другого. В логике implies не ассоциируется с причинностью. Импликация просто устанавливает, что когда одно свойство является истинным, таковым должно быть и другое свойство. Приведенный пример допускает такую интерпретацию, если устранить всякий намек на причинность.

Вот еще один типичный пример (в аэропорту Лос-Анджелеса при попытке зарегистрироваться на рейс до Санта-Барбары): "Если на вашем билете напечатано "Рейс 3035", то сегодня вы не летите". Вероятно, причина отмены рейса связана с неисправностью самолета, и это был последний рейс на сегодняшний день. Понятно, что нет причинной связи между тем, что напечатано на билете, и отменой рейса. Логическая операция implies предусматривает такие сценарии.

Что удивляет многих людей, так это свойство I1 принципа импликации, следующие из двух последних строчек таблицы истинности. Когда a ложно, то a implies b истинно, независимо от значения b. Но на самом деле это соответствует обычной идее импликации:

  1. "Если я губернатор Калифорнии, то дважды два – пять";
  2. "Если дважды два – пять, то я губернатор Калифорнии";
  3. "Если дважды два – пять, то я не губернатор Калифорнии";
  4. "Если я губернатор Калифорнии, то дважды два – четыре";
  5. "Если я губернатор Калифорнии, то сегодня пойдет дождь";
  6. "Если сегодня пойдет дождь, то я не буду выбран губернатором Калифорнии".

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

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

Начинающим иногда трудно принять, что a implies b может быть истинным, если a ложно. Во многом, я полагаю, трудности связаны со случаем, в котором a ложно, а b истинно, – таким, как случаи 1, 2, возможно, 5 и 6 из приведенного выше примера. Но ничего ошибочного в них нет. Непонимание может быть связано с общим искажением правил вывода, допускаемым некоторыми людьми. Из истинности импликации a implies b, и зная, что a не выполняется, они без раздумья полагают, что и b не выполняется! Вот типичные примеры:

  1. "Все профессиональные политики – коррупционеры. Я не политик, так что я не коррупционер, и вы должны голосовать за меня". Первое высказывание что-то утверждает о политиках, но оно не содержит информации о тех, кто политиками не является.
  2. "Всегда, когда я беру с собой зонтик, дождь не идет. Я оставлю свой зонтик дома, поскольку нам так нужен дождь". Шутка, конечно, но логика явно хромает.
  3. "Все недавно построенные здания в этом районе имеют плохую термоизоляцию. Это старое здание, так что в нем более комфортно в жаркие дни".

Каждый из случаев включает свойство a, которое влечет другое свойство b, и ошибочный вывод, что отрицание a влечет отрицание b. Это недопустимые выводы. Все, что мы знаем: если a верно, то и b верно. Если же a невыполнимо, то импликация нам ничего интересного не добавляет. Переходя на язык логики: ошибочно утверждение, что выражение является тавтологией. Более слабое утверждение также не является тавтологией. Задайте два истинностных присваивания, при которых оба утверждения принимают значения True и False и, следовательно, являются выполнимыми, но не являются тавтологиями.

(a implies b) = ((not a) implies (not b))
(a implies b) implies ((not a) implies (not b))
Кирилл Юлаев
Кирилл Юлаев
Как происходит отслеживание свободного экстента?
Федор Антонов
Федор Антонов
Оплата и обучение
Наталья Алмаева
Наталья Алмаева
Россия
Андрей Лучицкий
Андрей Лучицкий
Россия