Trên đảo hiệp sĩ và kẻ nói dối, không ai nói được câu «Mình là kẻ nói dối». Nếu hiệp sĩ nói, câu đó sai, nghĩa là hiệp sĩ vừa nói sai. Nếu kẻ nói dối nói, câu đó đúng, nghĩa là kẻ nói dối vừa nói đúng. Cả hai đều phạm luật đảo, nên hễ ai kể rằng có người trên đảo đã nói câu ấy thì chính người kể đang nói sai.
Nghe thì như mẹo vặt, nhưng chính chi tiết này mở khoá cả một họ câu đố: những câu người nói tự nhắc đến loại của mình, ghép thêm "hoặc", "và". Bài dưới đây đi từ lập luận gốc, qua ba câu đố tự đặt có bảng kiểm đủ kịch bản, tới một quy tắc rút gọn dùng được ngay.
Hai nhánh, hai ngõ cụt
Nhắc lại luật: hiệp sĩ chỉ nói câu đúng, kẻ nói dối chỉ nói câu sai, ngoài hai loại đó không có ai. Giờ đặt câu «Mình là kẻ nói dối» vào miệng từng loại người.
| Người nói | Câu "mình là kẻ nói dối" thực tế | Luật đòi hỏi câu phải | Kết quả |
|---|---|---|---|
| Hiệp sĩ | Sai (vì người nói là hiệp sĩ) | Đúng | Mâu thuẫn |
| Kẻ nói dối | Đúng (vì người nói là kẻ nói dối) | Sai | Mâu thuẫn |
Không còn dòng nào khả thi. Vậy trên đảo, câu này không thể được nói ra. Điều đó không có nghĩa câu ấy vô nghĩa; nó chỉ có nghĩa là luật đảo cấm nó, giống như luật cờ tướng cấm tướng ra khỏi cung.
Không phải nghịch lý kẻ nói dối
Nhiều người nghe câu này liền nghĩ tới nghịch lý kẻ nói dối thời Hy Lạp cổ, kiểu "câu này là câu sai". Hai chuyện khác nhau. Nghịch lý kia là một câu dường như không thể đúng mà cũng không thể sai; còn trên đảo, câu «mình là kẻ nói dối» vẫn có giá trị đúng/sai rõ ràng khi biết ai nói, chỉ là không ai được phép nói nó. Phần nghịch lý thuộc chủ đề riêng, ở đây chỉ nhắc một câu cho khỏi nhầm.
Câu ngược lại: "mình là hiệp sĩ" ai cũng nói được
Hãy làm bảng tương tự với câu «Mình là hiệp sĩ».
| Người nói | Câu "mình là hiệp sĩ" thực tế | Luật đòi hỏi | Kết quả |
|---|---|---|---|
| Hiệp sĩ | Đúng | Đúng | Khớp |
| Kẻ nói dối | Sai | Sai | Khớp |
Cả hai dòng khớp, nên câu này không cho thêm thông tin gì. Đây là bài học thứ nhất: lời tự nhận "mình trung thực" không phải bằng chứng. Bài học thứ hai: một câu tự nhắc tới loại của mình chỉ có ích khi nó bị ghép với điều khác. Ba câu đố dưới đây làm đúng việc đó.
Câu đố 1: lời kể ở nhà văn hoá
Ví dụ minh hoạ tự đặt. Tối sinh hoạt ở nhà văn hoá đảo, khách hỏi Hưng: "Anh thuộc loại nào?". Hưng trả lời nhưng tiếng loa át mất. Khánh đứng cạnh nói: «Hưng vừa nói Hưng là kẻ nói dối.» Linh liền nói: «Khánh đang nói dối.» Khánh và Linh mỗi người thuộc loại nào? Có biết được Hưng không?
Lời giải từng bước
Bước 1. Như đã chứng minh, không ai trên đảo nói được «mình là kẻ nói dối». Vậy Hưng không thể đã nói câu đó, và lời kể của Khánh sai.
Bước 2. Người nói câu sai là kẻ nói dối: Khánh là kẻ nói dối.
Bước 3. Linh nói Khánh đang nói dối, điều này đúng, nên Linh là hiệp sĩ.
Bước 4. Về Hưng: dù Hưng là hiệp sĩ hay kẻ nói dối, Hưng cũng sẽ trả lời "mình là hiệp sĩ", và không lời nào khác trong đề nói về Hưng. Cả hai khả năng đều sống. Hưng không xác định được.
| Khánh – Linh | Lời Khánh (luôn sai) | Lời Linh ("Khánh dối") | Kết luận |
|---|---|---|---|
| Hiệp sĩ – Hiệp sĩ | Sai, không khớp | Sai | Loại |
| Hiệp sĩ – Nói dối | Sai, không khớp | Sai, khớp | Loại |
| Nói dối – Hiệp sĩ | Sai, khớp | Đúng, khớp | Khả thi |
| Nói dối – Nói dối | Sai, khớp | Đúng, không khớp | Loại |
Ghép thêm Hưng (2 khả năng) thì có hai kịch bản sống, chỉ khác nhau ở Hưng. Đề nên được phát biểu cẩn thận: "xác định Khánh và Linh" có đáp án duy nhất, còn Hưng thì không.
Câu đố 2: "mình là kẻ nói dối hoặc…"
Ví dụ minh hoạ tự đặt. Ở bến cá, Phương nói: «Mình là kẻ nói dối hoặc Quang là hiệp sĩ.» Phương và Quang thuộc loại nào?
Lời giải từng bước
Giả sử Phương là kẻ nói dối. Vế đầu "mình là kẻ nói dối" đúng, nên cả câu "hoặc" đúng (câu "hoặc" chỉ cần một vế đúng). Kẻ nói dối nói câu đúng: mâu thuẫn. Loại.
Vậy Phương là hiệp sĩ. Câu phải đúng. Vế đầu sai (Phương không nói dối), nên vế sau phải đúng: Quang là hiệp sĩ.
Kết luận: cả hai là hiệp sĩ. Đáp án duy nhất.
| Phương – Quang | Vế 1 | Vế 2 | Cả câu "hoặc" | Khớp với Phương? |
|---|---|---|---|---|
| Hiệp sĩ – Hiệp sĩ | Sai | Đúng | Đúng | Khớp, khả thi |
| Hiệp sĩ – Nói dối | Sai | Sai | Sai | Không, loại |
| Nói dối – Hiệp sĩ | Đúng | Đúng | Đúng | Không, loại |
| Nói dối – Nói dối | Đúng | Sai | Đúng | Không, loại |
Để ý: câu «mình là kẻ nói dối hoặc Quang là hiệp sĩ» tương đương về logic với «nếu mình là hiệp sĩ thì Quang là hiệp sĩ», vì "nếu p thì q" có cùng bảng chân trị với "không p hoặc q". Hai cách phát biểu cho cùng một kết luận.
Câu đố 3: "mình là kẻ nói dối và…"
Ví dụ minh hoạ tự đặt. Ở sân bóng chuyền, Sang nói: «Mình là kẻ nói dối và Thu là hiệp sĩ.»
Lời giải từng bước
Giả sử Sang là hiệp sĩ. Câu phải đúng, tức cả hai vế đúng, trong đó có "Sang là kẻ nói dối". Mâu thuẫn. Loại.
Vậy Sang là kẻ nói dối. Câu phải sai. Vế đầu "Sang là kẻ nói dối" lại đúng, nên để câu "và" sai thì vế sau phải sai: Thu không là hiệp sĩ, tức Thu là kẻ nói dối.
Kết luận: cả hai là kẻ nói dối.
| Sang – Thu | Vế 1 | Vế 2 | Cả câu "và" | Khớp với Sang? |
|---|---|---|---|---|
| Hiệp sĩ – Hiệp sĩ | Sai | Đúng | Sai | Không, loại |
| Hiệp sĩ – Nói dối | Sai | Sai | Sai | Không, loại |
| Nói dối – Hiệp sĩ | Đúng | Đúng | Đúng | Không, loại |
| Nói dối – Nói dối | Đúng | Sai | Sai | Khớp, khả thi |
Quy tắc rút gọn cho câu tự nhắc tới mình
Gọi P là phần còn lại của câu (một khẳng định bất kỳ về người khác, về con số…). Từ hai câu đố trên, cộng thêm hai bảng bốn dòng làm tương tự, rút ra:
| Người nói phát biểu | Người nói là | P phải |
|---|---|---|
| «Mình là kẻ nói dối hoặc P» | Hiệp sĩ | Đúng |
| «Mình là kẻ nói dối và P» | Kẻ nói dối | Sai |
| «Mình là hiệp sĩ và P» | Hiệp sĩ hoặc kẻ nói dối | Hiệp sĩ: đúng; kẻ nói dối: tuỳ ý |
| «Mình là hiệp sĩ hoặc P» | Hiệp sĩ hoặc kẻ nói dối | Hiệp sĩ: tuỳ ý; kẻ nói dối: sai |
Dòng thứ ba hay bị đọc vội thành "P luôn đúng". Không phải vậy. Hiệp sĩ nói thì cả câu đúng, nên P đúng. Kẻ nói dối nói thì vế "mình là hiệp sĩ" đã sai sẵn, câu "và" sai bất kể P, nên P đúng hay sai đều hợp luật. Câu này vì thế không lộ loại người nói, cũng không cho kết luận chắc chắn về P. Bảng nhỏ dưới đây cho thấy rõ, và cũng là lý do nên lập bảng thay vì suy nhẩm.
| «Mình là hiệp sĩ và P» | P đúng | P sai |
|---|---|---|
| Hiệp sĩ nói | Câu đúng, khớp | Câu sai, không khớp |
| Kẻ nói dối nói | Câu sai, khớp | Câu sai, khớp |
Tự luyện
Đạt nói: «Mình là kẻ nói dối hoặc 2 + 2 = 5.» Đạt thuộc loại nào?
Đáp án: Không ai trên đảo nói được câu này. Hiệp sĩ nói thì câu sai (cả hai vế sai). Kẻ nói dối nói thì câu đúng (vế đầu đúng). Người kể lại câu này đang kể sai.
Giang nói: «Mình là kẻ nói dối hoặc Hải là kẻ nói dối.»
Đáp án: Theo dòng một của bảng quy tắc, Giang là hiệp sĩ và vế sau đúng: Hải là kẻ nói dối.
Một người nói: «Mình là hiệp sĩ hoặc mình là kẻ nói dối.» Người đó thuộc loại nào?
Đáp án: Câu luôn đúng (mỗi người thuộc một trong hai loại), nên chỉ hiệp sĩ nói được: người đó là hiệp sĩ.
Trên một đảo có thêm "người thường" lúc nói thật lúc nói dối, ai nói được «mình là kẻ nói dối»?
Đáp án: Chỉ người thường, và khi nói câu đó thì người thường đang nói dối (vì họ không phải kẻ nói dối).
Dùng vào đâu
Câu tự nhắc tới chính mình xuất hiện ở nhiều nơi nghiêm túc hơn câu đố. Trong toán học, những câu kiểu "câu này không chứng minh được" là chìa khoá của các định lý bất toàn, một chủ đề lớn có chỗ riêng. Trong đời thường, bài học "lời tự nhận không phải bằng chứng" áp dụng thẳng cho quảng cáo tự khen hay lời cam kết "mình nói thật mà": phải có thông tin kiểm chứng được ở ngoài câu đó. Với người học lập trình, bảng chân trị bốn dòng ở trên là cách nhanh nhất để tự kiểm một điều kiện có "hoặc", "và" trước khi viết vào mã.
Khung đảo hiệp sĩ – kẻ nói dối được Raymond Smullyan phổ biến trong cuốn What Is the Name of This Book? (1978); cuốn này có nhiều câu đố tự nhắc tới mình, rất hợp để luyện tiếp.
Câu hỏi thường gặp
Vì sao không ai trên đảo nói được "mình là kẻ nói dối"?
Hiệp sĩ nói thì câu sai, trái luật hiệp sĩ chỉ nói đúng. Kẻ nói dối nói thì câu đúng, trái luật kẻ nói dối chỉ nói sai. Không loại người nào nói được câu đó mà không phạm luật.
Câu "mình là kẻ nói dối" trên đảo có phải nghịch lý kẻ nói dối không?
Không. Nghịch lý kẻ nói dối là câu không thể gán đúng hay sai. Trên đảo, câu này vẫn đúng hoặc sai tuỳ người nói, chỉ là luật đảo khiến không ai được phép nói ra.
Nếu có người kể lại rằng ai đó nói "mình là kẻ nói dối" thì sao?
Lời kể đó chắc chắn sai, nên người kể là kẻ nói dối. Còn người bị kể thì không xác định được loại, vì ai cũng sẽ trả lời "mình là hiệp sĩ".
Câu "mình là kẻ nói dối hoặc Quang là hiệp sĩ" giải thế nào?
Người nói không thể là kẻ nói dối, vì khi đó vế đầu đúng làm cả câu đúng. Vậy người nói là hiệp sĩ, vế đầu sai nên vế sau phải đúng: Quang là hiệp sĩ.
Câu "mình là hiệp sĩ" có giúp xác định người nói không?
Không. Hiệp sĩ nói thì câu đúng, kẻ nói dối nói thì câu sai, cả hai đều hợp luật. Câu này không mang thông tin nào về người nói.