Больше рецензий
10 октября 2024 г. 08:57
164
5 Спойлер Ошибка?
РецензияПрорешав "Принцесса или тигр?", я решила прорешать и первую книжку Смаллиана.
К сожалению, такая возможность у меня была только в электронном варианте. Там были явно неправильно вставлены надписи на шкатулках в одной из задач, но ладно, это была просто погрешность тех, кто переводил в электронный вид. Но вот, я добралась до задачи 106. Там решение соотносится с ответом, но я считаю, что оно неверно.
Суть задачи в следующем — есть рыцари (всегда говорят правду), лжецы (всегда лгут) и обычные люди (иногда говорят правду, иногда врут). Нужно узнать минимальное количество высказываний, которые убедят короля, что вы не являетесь обычным человеком. В варианте а, высказывания должны быть правдой, в варианте б ложью.
Смаллиан в своём решении утверждает, что это невозможно при любом количестве, т.к. обычный человек может говорить всегда правду или всегда ложь так же, как и рыцарь или лжец соответственно.
Но мне кажется, что я придумала подходящую фразу на оба варианта.
"Я сейчас лгу и я обычный человек" для варианта б.
Доказательство словами — рыцарь не может такого сказать, для него обе части ложь. Лжец может такое сказать, для него первая часть правда, вторая ложь, вместе ложь. Но обычный человек не может её сказать! Если он говорит правду, то для него сразу ложна часть "я сейчас лгу", значит ложно и всё высказывание, получаем парадокс. Если он лжёт, то для него правдива первая часть, и правдива вторая часть, значит правдиво всё высказывание, получаем парадокс. То есть, сказать такую фразу может только лжец, и достаточно только её, чтобы убедить короля, что вы не обычный человек.
Иначе говоря, обозначим это высказывание за А, а высказывание "я обычный человек" за B. Пусть значение высказывания = 0, если оно ложно и 1, если оно истинно.
Тогда выходит, что A = ¬ A ∧ B. Если А = 1, то ¬ A = 0, => ¬ A ∧ B = 0, т.е. A = 0, т.е. 0 = 1 -> парадокс, то есть А не может быть правдой. Тогда пусть A = 0, тогда ¬ A = 1, но тогда должно быть B = 0, иначе снова получаем 1 = 0. Т.к. B это "я обычный человек", то B должно быть ложью и произносящий эту фразу — лжец, а не обычный человек.
Аналогично находим фразу для варианта а — "Ложь, что: я сейчас говорю правду и я обычный человек".
Это фраза вида A = ¬ (A ∧ B), что тоже самое, что A = ¬A ∨ ¬B, так что можно перефразировать проще: "Я сейчас лгу или я не обычный человек".
Это может сказать только рыцарь, в иных случаях снова получаем парадокс.
Я не вижу ошибки в своих рассуждениях, но это не значит, что её тут нет)) Так что если вы прочитали эту рецензию, и нашли ошибку, прокомментируйте, пожалуйста — я хочу верить Смаллиану))