$ \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.