psilogic: (Default)
psilogic ([personal profile] psilogic) wrote2009-11-18 03:49 pm
Entry tags:

Очередной парадокс импликации

Обсуждение очередного парадокса материальной импликации происходит там

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

Пусть у нас есть выключатель света с кнопками 1 и 2. Чтобы включить свет, надо включить оба выключателя. То есть, схема вот такая:

    1   2
+___/___/___-


Когда ни одна кнопка не включена, света нет, когда включена только одна, света тоже нет, когда включены обе, свет есть.

Рассматривается утверждение:

V1 = "Если включена кнопка 1 и включена кнопка 2, то свет горит"

(формулировка намеренно в настоящем времени - "включены", "горит", чтобы не заморачиваться на "временнУю" логику).

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

Обозначения
A1 = "Включена кнопка 1"
A2 = "Включена кнопка 2"
B = "Свет горит"

Если попытаться формализовать (V1) через материальную импликацию, то получится:

V2 = A1 and A2 => B

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

XYX => Y
falsefalsetrue
falsetruetrue
truefalsefalse
truetruetrue


(из описания выключателя можно получить и другую формулу: A1 & A2 <=> B, однако формула (V2) следует из нее, и, продолжая, рассуждения далее, приходим к тому же)

Используя преобразования алгебры логики, из (V2) получается:

V3 = (A1 => B) or (A2 => B)

Выполняем обратное преобразование из материальной импликации в текст:

V4 = (A1 => B) = "Если включена кнопка 1, то свет горит".

Даже если кнопка 1 включена, неизвестно состояние кнопки 2. Если она выключена, то свет не горит. Поэтому высказывание (V4) ложно с точки зрения интуиции.

V5 = (A2 => B) = "Если включена кнопка 2, то свет горит".

Даже если кнопка 2 включена, неизвестно состояние кнопки 1. Если она выключена, то свет не горит. Поэтому высказывание (V5) ложно с точки зрения интуиции.

V3 = V4 or V5

Поскольку (V4) и (V5) ложны с точки зрения интуиции, то высказывание (V3) тоже ложно.

Однако с точки зрения формальной логики V3 имеет ту же истинность, что и V2, то есть, истинно.

Противоречие.

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

[identity profile] 3d6.livejournal.com 2009-11-18 02:58 pm (UTC)(link)
Но утверждение A1 and A2 => B не эквивалентно описанию выключателей - эквивалентна система из двух утверждений:
(A1 and A2) => B
(!A1 or !A2) => !B

[identity profile] koshchey.livejournal.com 2009-11-18 06:45 pm (UTC)(link)
Я отметился у [livejournal.com profile] falcao таким образом
Что можно сказать?
Что это фундаментальное построение не имеет никакого практического применения, если речь идёт о выключателях.
Есть смысл ставить 2 выключателя на одну люстру только в 2 случаях:
1. Каждых выключатель включает различный набор ламп. Тогда у нас появляются 4 возможных положения: выкл., посусвет1, полусвет2 и яркий свет. Здесь логическая операция включительное "или" ("v" - vuel, или программное "or").
2. Когда выключатели находятся в разных углах комнаты, чтоб любым из них можно было включить/выключить люстру. Чтоб свет горел - позиции выключателей должны быть разными: один в положении А, а другой в В, а если положения одинаковые, будь-то А или В, свет гореть не будет. Операция "Аnd not" здесь вполне достаточна.
3. И Вы в своём примере и я в своих, исходим из постулатов: а. что есть напряжение в сети, что проводка исправна и что лампочки в рабочем состоянии. Реальное моделирование, получается, тогда, более сложным.

[identity profile] evko.livejournal.com 2009-11-18 07:38 pm (UTC)(link)
Это ошибка обратного перевода (интерпретации формулы), а не парадокс.

V5 и V4 не являются тождественно истинными высказываниями. Соответственно, предложенные переводы "интуитивно истинными" (т.е. истинными во всех случаях, какие придут в голову обывателя) не могут быть в принципе.

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

Многоточие предлагаю устранить самостоятельно. Ну и вопрос об истинности полного перевода на русский язык V3 тогда отпадет сам собой.

[identity profile] svr2004.livejournal.com 2009-11-18 08:50 pm (UTC)(link)
Импликация это "если А, то B". У Вас же слово "если" включено в само утверждение А.

Попробуйте рассмотреть в случае, когда А1="включена кнопка А". Безо всяких "если" !!

[identity profile] morfizm.livejournal.com 2009-11-19 02:11 am (UTC)(link)
Хороший пример.

Мне кажется, настоящая причина не в том, что "если ... то ..." не всегда формализуется через материальную импликацию, а в том, какую именно информацию о системе даёт это утверждение (V1). Если для каждого из 4 состояний выключаетелей попробовать вывести заключение о том, горит ли лампочка или нет, то из данного V1 это можно сделать только в одном единственном случае: когда оба состояния включены. Когда хотя бы один выключен, горит ли лампочка - неизвестно, ибо V1 будет истинным в любом случае, не зависимо от её горения или негорения.

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

[identity profile] evko.livejournal.com 2009-11-19 10:14 am (UTC)(link)
Что интересно: формализация проводилась для конкретного момента времени и для конкретной цепи. Т.е. любые выводы из этой формализации возможны только для конкретного момента времени и для конкретной цепи лампочек-выключаталей :)

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

Чтобы иметь право на рассуждение "вообще", т.е. говорить о взаимосвязи между состоянием выключателей и лампочки в отрыве от конкретных значений, то нужно переходить к логике с кванторами (для простоты предикаты, проверяющие тип подкванторных переменных, я опустил):

ForAll(ЦЕПЬ из множества интересующих нас): 
  (ForAll(КНОПКА1, КНОПКА2, ЛАМПА из элементов, принадлежащих ЦЕПЬ): 
     (НеРавны(КНОПКА1,КНОПКА2) И Включена(КНОПКА1) И (Включена(КНОПКА2)) =>
         Горит(ЛАМПА))


Тогда все становится на свои места и независимая друг от друга интерпретация V4 и V5 становится невозможной, т.к. пронести внешний квантор внутрь формулы нельзя - это не будет эквивалентным преобразованием.