How Deduce puzzles are generated and verified

Every case published on Deduce has been solved by a machine before it is shown to a person. This page explains what that means, and why it is the part of Deduce worth caring about most.

One answer is not the same as a fair puzzle

The obvious test for a logic puzzle is whether it has exactly one answer. It is a necessary test, and it is not a sufficient one. A puzzle can have precisely one valid solution that is nevertheless impossible to reach — where the clues narrow the field to two or three candidates and then stop, and the only way to finish is to pick one and check. The puzzle is well-formed and the solver is still being asked to guess.

This is the failure mode that makes people quietly give up on generated puzzles, and it is the specific thing Deduce sets out to eliminate. The aim is not merely that a case has one answer, but that the answer can be arrived at by deduction from the clues provided, in order, with no leaps.

The two checks that matter

Before publication, a solver works each candidate case the way a player would — applying the clues one at a time and recording, for each clue, exactly which possibilities it eliminates. Two separate conditions must hold:

  1. The accusation is unique. Only one combination of killer, room and weapon is consistent with the clues.
  2. The whole grid is unique. Every cell resolves — not just the killer's row. Exactly one complete arrangement of every suspect, room and weapon survives.

The second is the strict one, and the reason it is checked separately is that cases routinely pass the first and fail it. Such a case is not published. If a player can name the killer but cannot prove where everyone else was, the case has stopped being a deduction puzzle before the board is full.

What else a case has to survive

Generate, verify, discard, repeat

Generation is a reject-and-retry loop rather than a single pass. The generator proposes a complete case; the solver and the validator examine it; if any check fails, the whole candidate is thrown away and a fresh one is proposed, up to a hard attempt limit. Nothing is patched to make it pass — a case that needed adjusting to survive verification is not a case that was verified.

Generation is also deterministic: each case is produced from a seed, so the same seed always produces the same case. That is what allows a published case to be re-generated and re-verified later, and it is how the archive can be re-checked in bulk rather than trusted.

What this means when you play

If you are stuck on a Deduce case, you are missing an inference — you have not run out of information. Every case on the site has been proven to contain enough to finish. That is the whole promise, and it is why reading the clues again is always the right move and guessing never is.

For the avoidance of doubt about what this page is not: the generator's internals, the clue catalogue and the answer keys are not published, and solutions never appear in the case archive.

Play today's case