I learned of the “Blue Eyes” puzzle for the first time a couple of weeks ago, and I’ve been playing around with some of the logical concepts behind it since then. For anyone unfamiliar with this puzzle, I suggest you read and solve it before trying this one.
My shenanigans led me to come up with the following puzzle (which I have, by now, already solved, but I have a feeling the MSE community will have fun with it):
An island has one blue-eyed person and one brown-eyed person, who can see each others’ eyes but not their own and cannot communicate. Every night, a ferry comes to take away any people who already know their own eye color. Both people are perfect logicians.
Prove that, for any $n\in\mathbb Z^+$, there exists a statement that you can announce to both of them so that they will both leave on night $n$ (no earlier and no later).
When I say “statement,” I mean this very generally. The method I used to prove this and construct such a statement for arbitrary $n$ was very messy and for large $n$ results in a “statement” that is very cumbersome to read (but logically coherent nonetheless).
I'll put my solution in a spoiler, not to ruin it for anybody. It assumes that there are a countably infinite number of eye colours, though...
Announcement for $n=1$:
Announcement for $n=2$:
Announcement for $n=3$:
Announcement for general $n\geq 2$: