\newcommand{\cansay}[2]{#1\text{ can say }\unicode{0x2018}#2\unicode{0x2019}} \newcommand{\says}[2]{#1\text{ says }\unicode{0x2018}#2\unicode{0x2019}} Aquí hay una manera de construir una solución a este rompecabezas, y a muchos como él.
Queremos saber si algún \;P\; (por ejemplo, "¿Este camino lleva a las ruinas?") es verdadera, a partir de la respuesta \;a\; ( \;\text{true}\; por si acaso, \;\text{false}\; para el no) a una pregunta \;q\; .
Formalmente, para algún aldeano específico \;x\; se nos pide que encontremos un \;q\; que hace (0) \;\;\; \says x {q \equiv a} \;\Rightarrow\; (P \equiv a) verdadero para todos \;a\; . Y se nos da que \begin {align} (1) \;\;\; & \says x P \N -; \Rightarrow\ ; \cansay x P \\ (2) \;\;\; & \cansay x P \N -; \equiv\ T(x) \equiv P \\ \end {align} donde \;T(x)\; significa que \;x\; es un contador de la verdad.
(Tenga en cuenta que en (2) Utilizo el hecho de que \;\equiv\; es asociativo, por lo que puedo omitir los paréntesis).
Con lo anterior, podemos calcular \begin {align} & \says x {q \equiv a} \; \Rightarrow\ ; (P \equiv a) \;\;\;\;\; \text {-- (0) } \\ \Leftarrow & \;\;\;\;\; \text {"por (1) -- lo único que sabemos sobre \;\says{\cdot}{\ldots}\; "} \\ & \cansay x {q \equiv a} \; \Rightarrow\ ; (P \equiv a) \\ = & \;\;\;\;\; \text {"por (2) -- la única otra cosa que sabemos sobre \;\cansay{\cdot}{\ldots}\; "} \\ & (T(x) \equiv q \equiv a) \; \Rightarrow\ ; (P \equiv a) \\ \Leftarrow & \;\;\;\;\; \text {"debilitar la única forma de avanzar, por lo que veo"} \\ & T(x) \equiv q \equiv a \equiv P \equiv a \\ = & \;\;\;\;\; \text {"reordenar utilizando la simetría de \;\equiv\; simplificar".} \\ & q \; \equiv\ T(x) \equiv P \\ = & \;\;\;\;\; \text {"por (2) -- para girar \;q\; en una pregunta real"} \\ & q \; \equiv\ ; \cansay x P \\ \end {align}
Así que le preguntamos al aldeano: "¿Puede decir que este camino lleva a las ruinas?". Una respuesta de "sí" significa que sí lleva allí, una respuesta de "no" significa que no.