A riddle is a system of Boolean equations
Encode truth-teller as 1 and liar as 0. A speaker is consistent exactly when the truth value of their sentence equals their own role bit.
SX(R) = RX
The lab checks Sβ(R) = Rβ for every speaker X. This is why guessing roles independently is not enough: all equations share the same role vector R and must hold at once.
Each sentence is a Boolean function of the complete role assignment.
A contradiction eliminates an entire possible world
Assume a role assignment, evaluate every sentence, and compare each result with its speaker's role.
SX(R) β RX β reject R
One mismatch is sufficient to reject that complete assignment. Dynamic hints use exactly this method: they identify an assumption and the speaker equation that makes its branch impossible.
Proof by contradiction does not say a world feels unlikely; it demonstrates that the world cannot satisfy the rules.
Solvable is not enough: the answer must be unique
A puzzle may be consistent yet still have several valid role assignments.
|{R : βX, SX(R)=RX}| = 1
Every generated riddle is exhaustively checked before display. The generator accepts it only when exactly one possible world survives all speaker equations.
The green world is the sole model of the complete logical system.
Strong clues remove many worlds
A useful sentence divides the current candidates; a weak sentence may be true or false in nearly all of them.
candidates: 2n β β¦ β 1
The hint engine selects the unapplied speaker equation that removes the most current worlds. This is a small information-gain strategy: reduce uncertainty without jumping directly to the answer.
Candidate counts shrink as informative equations are applied.
Self-reference is not automatically a useful clue
βI tell the truthβ agrees with either role: a truth-teller says it truly, while a liar says it falsely. It contributes no new information.
SX(R) = RX
βI am lyingβ is worse under strict Knight/Knave rules: neither role can state it consistently. The generator excludes both patterns and uses relational claims that constrain other participants.
One self-claim is a tautological identity; the other creates an unsatisfiable equation.
Problems solved in full
-
Three participants under Knight/Knave rules choosing between assignments 7 steps
Three participants under Knight/Knave rules: a Knight's sentence must come out true, a Knave's must come out false. The lab deals a fresh riddle on every visit, so work this one on paper β A says C is lying; B says A and C have the same role; C says at least 2 of us tell the truth. Before naming anyone, count the assignments you are choosing between, then cut them down one sentence at a time.
-
Nothing is assumed about how many Knights there are, so each participant is an independent bit: Knight 1, Knave 0. A world is the whole vector of 3 bits, and every one of them starts alive. That is the number the world panel opens on, and it is a property of the cast, not of what anybody said.
-
A sentence is not a fact about the room; it is an equation about its speaker. Speaker X's sentence is a Boolean function of the entire role vector R, and consistency demands that its truth value equal X's own bit β true from a Knight, false from a Knave, one equation either way. All 3 equations share the same R, which is why you cannot settle A, then B, then C separately.
-
Start with A. If A is a Knight the sentence holds and C lies; if A is a Knave the sentence fails and C tells the truth. Either branch leaves A and C with different bits, and that is 4 of the 8 worlds, with B still free.
-
B claims A and C match. They do not, so B's sentence is false, so B is a Knave. Two worlds survive: A a Knight with C a Knave, or A a Knave with C a Knight.
-
C settles it. In both survivors exactly 1 participant tells the truth, so at least 2 of us is false, so C's own bit must be 0. The world with C as a Knight asserts something its own role forbids and dies. One world left.
-
Go back and ask why A and B each removed exactly half. Neither sentence mentions its own speaker, so for every setting of the other 2 bits there is exactly 1 value of the speaker's bit that satisfies the equation. A sentence about other people always leaves 2n-1 worlds β never more, never fewer, whatever it says.
-
C's sentence is not of that kind: at least 2 of us counts C too, so the speaker's bit sits on both sides of the equation and the halving argument collapses. Applied on its own to all 8 worlds, C's equation leaves 6 β it kills 2 worlds where A's and B's each kill 4.
Answer
A is a Knight, B and C are Knaves β 1 world out of the 8 the panel opens with. The uniqueness is arithmetic rather than luck: 3 speakers who each talk only about other people halve the field 3 times, and if the cuts are independent, 2Β³ halved 3 times is exactly 1. That is why riddles of this shape have everybody gossiping about everybody else. C is the odd one out, and it costs: an equation that counts its own speaker leaves 6 of 8 instead of 4, so it clears a quarter of the board where the others clear half. You can work that number out for any candidate sentence before you know a single role, which makes it the honest measure of a clue β not how cunning it sounds, but how much of the board it removes.
-
-
Four participants in a Werewolf theme counting the live worlds 6 steps
Same lab, Werewolf theme, 4 participants. Exactly 1 of the 4 is the Werewolf, and the Werewolf is the only one who lies. Count the live worlds before anybody speaks, then compare that with the 3-person Knight round.
-
Roles are still bits β Villager 1, Werewolf 0 β and 4 free bits would give 16 vectors. That is the number the theme has to beat.
-
The theme is a constraint, not decoration: exactly 1 bit is 0. Choosing which bit that is means choosing 1 participant out of 4, so only 4 of the 16 vectors qualify. The world grid lists them, the single W stepping one place along on each row.
-
Cutting the space by a factor of 4 is worth 2 bits, and you were handed them before a word was spoken.
-
Now the comparison that matters. The Knight round with 3 participants opens at 8 worlds; this round has an extra suspect and opens at 4. More people, smaller search β the prior outruns the bit that the extra participant added.
-
One liar also means exactly 1 lie. All 4 participants speak and only the Werewolf's sentence is false, so 3 of the 4 sentences on screen are true β something you know before reading any of them.
-
Which makes brute force genuinely cheap here: 4 worlds times 4 speaker equations is 16 consistency checks, and you could do them on paper. The same 4 people under Knight/Knave rules would be 16 worlds times 4 equations, which is 64.
Answer
4 of 4, not 16 of 16 β the theme deleted 75% of the board before the first sentence. Scale it up and the two games stop being the same game. With n participants the Werewolf space is n and the Knight space is 2n: at 10 players that is 10 worlds against 1024, and the prior is now worth 10 β logβ10 = 6.68 bits. The reason is that a Werewolf round only ever asks which one, so its answer is at most logβ n bits wide however many chairs you add, while a Knight round asks n independent yes-or-no questions and doubles every time somebody sits down. Adding a player to a Werewolf round adds 1 world; adding one to a Knight round doubles them.
-
References (1)
- The book that made logic something you can compute with, which is what this lab does: G. Boole, An Investigation of the Laws of Thought, on Which Are Founded the Mathematical Theories of Logic and Probabilities. Walton and Maberly, London, 1854.