There are two solutions: The standard one and mine. Both have the property that the answer is independent of the truthtellingness of the person you ask. The standard one is:
Let's make a table:
Native \ Path | Right path is correct | Right path is wrong |
---|---|---|
Truthteller | NO (Liar would lie, say NO, which truthteller correctly reports) |
YES (Liar would lie, say YES, which truthteller correctly reports) |
Liar | NO (Truthteller would say YES, liar reverses it to NO) |
YES (Truthteller would say NO, liar reverses it to YES) |
The second solution, mine, is the following question:
Let's make a table:
Native \ Path | Right path is correct | Right path is wrong |
---|---|---|
Truthteller | YES (Truthteller would initially say YES then truthfully report that he had just said YES) |
NO (Truthteller would initially say NO then truthfully report that he had not said YES) |
Liar | YES (Truthteller would initially say NO then lie when he reported that he had not said YES) |
NO (Truthteller would initially say YES then lie when he reported that he had just said YES) |