Once again, you are a detective investigating a robbery, with a cast of suspects having made the following statements:
- Alice says, “Bob could claim that I did it.”
- Bob says, “Charlie could claim that I did it.”
- Charlie says, “David could claim that I did it.”
- David says, “Zoe could claim that I did it.”
- Zoe says, “At least one of us is innocent.”
You do not know which, nor even how many, of the suspects were involved in the crime. However, you do know that every guilty suspect is lying, and every innocent suspect is telling the truth. Which suspect or suspects committed the crime?
Problem 2: What if instead Zoe had said, “At least two of us are innocent”?
(As usual, I like these both as math problems and as programming problems for students. The added wrinkle here is the need to encode the somewhat “meta” nature of most of the statements, talking about the feasibility of someone else’s hypothetical assertions.)