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