Логики вполне достаточно
5.2. Импликация
Еще одна базисная операция, принадлежащая основному репертуару: импликация. Хотя она схожа с другими операциями not, or, and и эквивалентностью близка к операции or, она требует особого внимания, поскольку некоторым людям кажется, что ее точные свойства противоречат здравому смыслу и понятию следования в естественном языке.
Определение
Простейший способ определения операции implies состоит в том, чтобы выразить ее в терминах уже определенных операций or и not.
Определение: Импликация
Это временное определение. Позже будет дано еще одно определение.
Приведенное определение позволяет построить таблицу истинности (которая сама по себе может служить определением).
Нетрудно видеть, что это таблица для or, в которой в столбце для a значения True и False поменялись местами. Результат a implies b истинен для всех истинностных присваиваний, за исключением одного случая, когда a равно True, а b – False.
В импликации 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, если они одинаковы. Для случаев возможного равенства будем говорить "сильнее или эквивалентно", "слабее или эквивалентно" (подобно отношениям над числами "больше", "больше или равно").
Практическое ощущение импликации
Какова связь операции implies с обычным понятием следования, выражаемого в естественном языке таким словосочетанием, как "Если …, то…"?
В повседневном использовании импликация зачастую задает причинную связь: "Если лето будет солнечным, то это будет удачей для виноградников Бургундии" – это предполагает, что одно событие является причиной другого. В логике implies не ассоциируется с причинностью. Импликация просто устанавливает, что когда одно свойство является истинным, таковым должно быть и другое свойство. Приведенный пример допускает такую интерпретацию, если устранить всякий намек на причинность.
Вот еще один типичный пример (в аэропорту Лос-Анджелеса при попытке зарегистрироваться на рейс до Санта-Барбары): "Если на вашем билете напечатано "Рейс 3035", то сегодня вы не летите". Вероятно, причина отмены рейса связана с неисправностью самолета, и это был последний рейс на сегодняшний день. Понятно, что нет причинной связи между тем, что напечатано на билете, и отменой рейса. Логическая операция implies предусматривает такие сценарии.
Что удивляет многих людей, так это свойство I1 принципа импликации, следующие из двух последних строчек таблицы истинности. Когда a ложно, то a implies b истинно, независимо от значения b. Но на самом деле это соответствует обычной идее импликации:
- "Если я губернатор Калифорнии, то дважды два – пять";
- "Если дважды два – пять, то я губернатор Калифорнии";
- "Если дважды два – пять, то я не губернатор Калифорнии";
- "Если я губернатор Калифорнии, то дважды два – четыре";
- "Если я губернатор Калифорнии, то сегодня пойдет дождь";
- "Если сегодня пойдет дождь, то я не буду выбран губернатором Калифорнии".
Если я признаю, что я не губернатор и не собираюсь стать им, все импликации будут истинными, невзирая на сегодняшнюю погоду.
Из истинности импликации следует только то, что если посылка верна, то это же верно и для заключения. Единственной возможностью для импликации быть ложной является случай истинной посылки и ложного заключения. Случаи, когда посылка ложна или заключение истинно, не определяют импликацию полностью, оставляя возможность неопределенности второго операнда.
Начинающим иногда трудно принять, что a implies b может быть истинным, если a ложно. Во многом, я полагаю, трудности связаны со случаем, в котором a ложно, а b истинно, – таким, как случаи 1, 2, возможно, 5 и 6 из приведенного выше примера. Но ничего ошибочного в них нет. Непонимание может быть связано с общим искажением правил вывода, допускаемым некоторыми людьми. Из истинности импликации a implies b, и зная, что a не выполняется, они без раздумья полагают, что и b не выполняется! Вот типичные примеры:
- "Все профессиональные политики – коррупционеры. Я не политик, так что я не коррупционер, и вы должны голосовать за меня". Первое высказывание что-то утверждает о политиках, но оно не содержит информации о тех, кто политиками не является.
- "Всегда, когда я беру с собой зонтик, дождь не идет. Я оставлю свой зонтик дома, поскольку нам так нужен дождь". Шутка, конечно, но логика явно хромает.
- "Все недавно построенные здания в этом районе имеют плохую термоизоляцию. Это старое здание, так что в нем более комфортно в жаркие дни".
Каждый из случаев включает свойство 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))