знает и тебя, и другую Алису. Когда Бармаглот спит, он убежден, что у одной из вас глаза карие, а у другой синие. Когда Бармаглот бодрствует, он убежден, что у тебя глаза карие, а у другой Алисы синие. Так скажи мне теперь, какого цвета у тебя глаза?
Решение этой нехитрой задачки я целиком предоставляю вам, дорогой читатель. Какого цвета глаза у Алисы, которую я знаю? А у другой Алисы? И еще: к какому из двух типов (A или B) принадлежит Бармаглот?
Решения
Глава 1
Для того чтобы узнать, кого из двух братьев-близнецов зовут Джон, нужно спросить одного из них: «Джон говорит правду?». Если в ответ на этот вопрос последует «да», то независимо от того, лжет ли спрошенный близнец или говорит всегда только правду, он должен быть Джоном. Если же он ответит «нет», то Джоном зовут его брата. Доказать это можно следующим образом.
Если спрошенный близнец отвечает «да», то он тем самым утверждает, что Джон говорит правду. Если это утверждение истинно, то Джон действительно говорит правду, а так как говорящий изрек истину, то его и должны звать Джоном, Если же высказанное утверждение ложно, то Джон в действительности не говорит правду. Значит, Джон лжет, как лжет и спрошенный близнец. Следовательно, и в этом случае спрошенного должны звать Джоном. Тем самым доказано, что независимо от того, говорит ли тот, к кому мы обращаемся с вопросом, всегда только правду или лжет, он должен быть Джоном (в предположении, что на наш вопрос он ответил «да»).
Если же спрошенный нами ответит «нет», то тем самым он утверждает, что Джон говорит неправду. Если это утверждение истинно, то Джон не говорит правду, а если ложно, то Джон говорит правду. И в том и в другом случае спрошенный близнец поступает не так, как Джон. Следовательно, он должен быть братом Джона. Таким образом, «нет» в ответ на заданный вопрос означает, что спрошенного зовут не Джон.
Разумеется, вопрос «Лжет ли Джон?» ничуть не хуже. «Да» в ответ на этот вопрос означает, что спрошенный близнец не Джон, а «нет» — что его зовут Джон.
Мне удалось придумать только эти два вопроса в три слова, которые позволяют решить задачу. Интересно, есть ли другие?
Во второй задаче (найти вопрос из трех слов, позволяющий установить, не лжет ли Джон) достаточно просто спросить: «Вы не Джон?»
Предположим, что близнец, к которому мы обращаемся, отвечает «да». Он либо говорит правду, либо лжет. Предположим, что выбранный нами близнец говорит правду. Тогда его действительно зовут Джон, а так как он говорит правду, то Джон всегда говорит только правду.
Предположим теперь, что близнец, к которому мы обращаемся, лжет. Тогда в действительности его зовут не Джон (раз он утверждает, что его зовут Джон). Значит, он лжет и его зовут не Джон, поэтому Джоном должен быть тот из братьев, кто всегда говорит только правду. Тем самым доказано, что если близнец, к которому мы обращаемся с вопросом, отвечает «да», то независимо от того, лжет ли он или говорит правду, того, кто всегда говорит только правду, зовут Джоном.
Предположим теперь, что в ответ на наш вопрос мы услышали «нет». Близнец, к которому мы обратились, либо лжет, либо всегда говорит только правду. Предположим, что он говорит правду. Тогда он действительно не Джон и Джоном зовут другого брата, а поскольку другой брат всегда говорит только правду, Джоном зовут того из двух братьев, кто лжет.
Предположим теперь, что близнец, к которому мы обратились, лжет. Тогда (поскольку лжец утверждает, что он не Джон) его настоящее имя должно быть Джон, поэтому Джоном в данном случае зовут лжеца. Тем самым доказано, что если близнец, к которому мы обращаемся с вопросом, отвечает «нет», то независимо от того, лжет он или говорит правду, того, кто лжет, зовут Джоном.
Между решениями двух задач, которые решали Алиса и ее гости, имеется замечательная симметрия. Для того чтобы узнать, не зовут ли того из близнецов, к которому вы обращаетесь, Джоном, ему необходимо задать вопрос: «Лжет ли Джон?». Для того чтобы выяснить, лжет ли Джон, необходимо задать вопрос: «Вы не Джон?».
Глава 2
По существу, Болванщик заявил, что варенье украли либо Мартовский Заяц, либо Соня. Если Болванщик солгал, то ни Мартовский Заяц, ни Соня не украли варенье. Но тогда Мартовский Заяц, поскольку он не украл варенье, дал правдивые показания. Следовательно, если Болванщик лгал, то Мартовский Заяц не лгал, поэтому Болванщик и Мартовский Заяц не могли лгать одновременно. Следовательно, когда Соня показала, что по крайней мере один из ее соседей, то есть либо Мартовский Заяц, либо Болванщик, не лгали, она сказала правду. Но из условий задачи мы знаем, что Соня и Мартовский Заяц не могли дать правдивые показания одновременно. Так как Соня сказала правду, Мартовский Заяц не мог дать правдивые показания. Значит, Мартовский Заяц солгал. Его показания ложны. Следовательно, варенье украл Мартовский Заяц.
Предположим, что муку украл Мартовский Заяц. Так как тот, кто похитил муку, дал правдивые показания, Мартовский Заяц на суде сказал правду, то есть муку украл Болванщик. Но мы твердо знаем, что муку украл только один из трех обитателей домика. Следовательно, Мартовский Заяц не мог украсть муку. Значит, Мартовский Заяц невиновен. Но поскольку двое из трех подсудимых дали ложные показания на суде, Мартовский Заяц в своем выступлении на суде солгал. Неверно, что муку украл Болванщик (как утверждал Мартовский Заяц). Следовательно, ни Мартовский Заяц, ни Болванщик не могли украсть муку. Значит, муку должна была украсть Соня.
Если бы кухарка украла перец, то она заведомо знала бы об этом. Следовательно, давая показания на суде (когда она заявила, что знает, кто украл перец), она сказала бы правду. Между тем мы твердо знаем, что те, кто крадет перец, никогда не говорят правды. Следовательно, кухарка Герцогини невиновна.
Если перец украл Мартовский Заяц, то он лгал (потому что те, кто крадет перец, всегда лгут). Следовательно, его утверждение о Болванщике ложно. Значит, Болванщик тоже украл перец. Но из условий задачи нам известно, что перец украл кто-то один. Следовательно, Мартовский Заяц не мог украсть перец. Так как Мартовский Заяц невиновен, его заявление на суде истинно. Значит, то, что он сказал о Болванщике, истинно. Следовательно, Болванщик также невиновен. В свою очередь это означает, что Болванщик сказал правду, поэтому Соня также невиновна. Таким образом, никто из троих подозреваемых не крал перец.
Предположим, что Грифон был бы виновен. Это означало бы, что, выступая на суде, он солгал. Следовательно, Черепаха Квази не невиновен (как утверждал Грифон), а виновен. Но тогда виновных было бы двое, хотя перец (как говорилось в предыдущей задаче) украл кто-то один. Значит, Грифон невиновен. Но тогда на суде он сказал правду, поэтому Черепаха Квази невиновен. Следовательно, Черепаха Квази на