Um enigma é um sistema de equações booleanas
Codifique quem diz a verdade como 1 e o mentiroso como 0. Há consistência quando o valor da frase coincide com o bit do papel.
SX(R) = RX
O laboratório verifica S_X(R) = R_X para cada X. Todas as equações partilham o mesmo vetor R e devem valer simultaneamente.
Cada frase é uma função booleana da atribuição completa.
Uma contradição elimina um mundo possível inteiro
Assuma uma atribuição, avalie cada frase e compare o resultado com o papel do orador.
SX(R) ≠ RX ⇒ reject R
Uma discrepância basta para rejeitar a atribuição. As pistas identificam a hipótese e a equação que torna o ramo impossível.
A contradição demonstra que um mundo não satisfaz as regras.
Ser resolúvel não basta: a resposta deve ser única
Um enigma pode ser consistente e ter várias atribuições válidas.
|{R : ∀X, SX(R)=RX}| = 1
Cada enigma é testado exaustivamente e aceite apenas se sobreviver um único mundo.
O mundo verde é o único modelo do sistema.
Pistas fortes eliminam muitos mundos
Uma frase útil divide os candidatos; uma fraca pode valer igual em quase todos.
candidates: 2n → … → 1
O motor escolhe a equação ainda não aplicada que remove mais mundos, reduzindo a incerteza sem dar logo a resposta.
Os candidatos diminuem com equações informativas.
A autorreferência não é automaticamente útil
«Digo a verdade» é compatível com os dois papéis e não acrescenta informação.
SX(R) = RX
«Estou a mentir» não pode ser dito consistentemente por nenhum papel estrito. O gerador exclui ambos e usa relações entre participantes.
Uma autoafirmação é tautológica; a outra cria uma equação impossível.