Skip to main content

Reasoning About Agent Types and the Hardest Logic Puzzle Ever


In this paper, we first propose a simple formal language to specify types of agents in terms of necessary conditions for their announcements. Based on this language, types of agents are treated as ‘first-class citizens’ and studied extensively in various dynamic epistemic frameworks which are suitable for reasoning about knowledge and agent types via announcements and questions. To demonstrate our approach, we discuss various versions of Smullyan’s Knights and Knaves puzzles, including the Hardest Logic Puzzle Ever (HLPE) proposed by Boolos (in Harv Rev Philos 6:62–65, 1996). In particular, we formalize HLPE and verify a classic solution to it. Moreover, we propose a spectrum of new puzzles based on HLPE by considering subjective (knowledge-based) agent types and relaxing the implicit epistemic assumptions in the original puzzle. The new puzzles are harder than the previously proposed ones in the literature, in the sense that they require deeper epistemic reasoning. Surprisingly, we also show that a version of HLPE in which the agents do not know the others’ types does not have a solution at all. Our formalism paves the way for studying these new puzzles using automatic model checking techniques.

This is a preview of subscription content, access via your institution.


  1. Boolos credits Raymond Smullyan as the originator of the puzzle and John McCarthy for adding the twist of ja and da.

  2. Since D’s type is irrelevant, we omit it in the model.

  3. Truth values of epistemic formulas may not be preserved after announcement. For a study in the setting of PAL , we refer to (van Ditmarsch and Kooi 2006) and (Holliday and Icard III 2010).

  4. We conjecture that \({\tt PALT}^{\bf T}\) is at least exponentially more succinct than \({\tt PAL}^{\bf T},\) but leave the proof for future work.

  5. See (van Benthem and Minică 2009) for a similar composition issue in dynamic-epistemic logics of questions and answers.

  6. See (Wang 2011a, b) for other applications of the context dependent semantics in DEL.

  7. I.e., (QF, δ) is an acyclic graph where each node except r has one and only one u-predecessor for each \(u\in{\bf U}, \) and r can reach all other nodes.

  8. We adopt the name of the lemma from (Rabern and Rabern 2008).

  9. A subjective bluffer is the same as an objective one.

  10. We conjecture that even when D can ask questions privately, the puzzle \({({\mathfrak{M}}_1,\theta)}\) still does not have any solution.

  11. Interested readers may consult (Blackburn et al. 2002) for the preservation result of positive formulas in the standard setting of modal logic.

  12. For instance, according to the semantics when s is in the shape of \({\tt STT}\_\_{\tt JA}, \lambda(A,s)(I(s,\phi, ja),A)=K_A\phi\). Therefore when answering ja, the updated model keeps the worlds satisfying \(K_A\phi\land{\tt STT}(A)\).


  • Blackburn, P., de Rijke, M., & Venema, Y. (2002). Modal logic. Cambridge University Press, Cambridge

    Google Scholar 

  • Boolos, G. (1996). The hardest logic puzzle ever. The Harvard Review of Philosophy, 6, 62–65.

    MathSciNet  Google Scholar 

  • Clarke, E. M., Grumberg, O., & Peled, D. A. (1999). Model Checking. Cambridge, MA: The MIT Press.

    Google Scholar 

  • French, T., van der, Hoek, W., Iliev, P., & Kooi, B. P. (2011). Succinctness of epistemic languages. In: T. Walsh (Ed.) Proceedings of the twenty-second international joint conference on artificial intelligence (IJCAI), pp 881–886.

  • Gerbrandy, J., & Groeneveld, W. (1997). Reasoning about information change. Journal of Logic, Language and Information 6(2), 147–169.

    Article  MathSciNet  MATH  Google Scholar 

  • Holliday, W., & Icard III. T. (2010). Moorean phenomena in epistemic logic. In: Advances in modal logic, pp 178–199.

  • Liu, F. (2004). Dynamic variations: Update and revision for diverse agents. Master’s thesis, MoL-2004-05. ILLC, University of Amsterdam.

  • Liu, F. (2009). Diversity of agents and their interaction. Journal of Logic,Language and Information, 18(1), 23–53.

    Article  MathSciNet  MATH  Google Scholar 

  • Lutz, C. (2006). Complexity and succinctness of public announcement logic. In: P. Stone, G. Weiss (Eds.) Proceedings of the fifth international joint conference on autonomous agents and multiagent systems (AAMAS ’06), (pp. 137–143). New York, NY: ACM.

  • Minică, S. (2011). Dynamic logic of questions. PhD thesis, Universiteit van Amsterdam.

  • Plaza, J. (2007). Logics of public communications. Synthese, 158(2), 165–179.

    Article  MathSciNet  MATH  Google Scholar 

  • Rabern, B., & Rabern, L. (2008). A simple solution to the hardest logic puzzle ever. Logic and Analysis, 68, 105–112.

    MathSciNet  MATH  Google Scholar 

  • Smullyan, R. (1978). What is the name of this book. Englewood Cliffs, NJ: Prentice-Hall.

    MATH  Google Scholar 

  • Uzquiano, G. (2010). How to solve the hardest logic puzzle ever in two questions. Logic and Analysis, 70, 39–44.

    MathSciNet  MATH  Google Scholar 

  • van Benthem, J., & Minică, S. (2009). Toward a dynamic logic of questions. In: X. He, J. F. Horty, E. Pacuit (Eds.), Proceedings of the 2nd international workshop on logic, rationality and interaction (LORI-II), vol. 5834, (pp. 27–41). Berlin: Springer, FoLLI-LNAI.

  • van Ditmarsch, H. (2011). The Ditmarsch tale of wonders—dynamics of lying. Manuscript.

  • van Ditmarsch, H., & Kooi, B. (2006). The secret of my success. Synthese, 153(2), 339–347

    Article  MathSciNet  Google Scholar 

  • van Ditmarsch,H. van der Hoek,W., & Kooi, B. (2007) Dynamic epistemic logic. Berlin: Springer.

    Google Scholar 

  • van Ditmarsch, H., van Eijck, J., Sietsma, F., & Wang, Y. (2011). On the logic of lying. In: J. van Eijck, R. Verbrugge (Eds.), Games, actions and social software, (pp 41–72). Berlin: Springer.

    Google Scholar 

  • Wang, Y. (2011a). On axiomatizations of PAL. In: H. van Ditmarsch, J. Lang,S. Ju (Eds.), Proceedings of the 3nd international workshop on logic, rationality and interaction (LORI-III), vol. 6953, pp. 314–327. Berlin: Springer, FoLLI-LNAI.

  • Wang, Y. (2011b). Reasoning about protocol change and knowledge. In: M. Banerjee, A. Seth (Eds.), Proceedings of the 4th Indian conference on logic and its applications (ICLA), vol 6521, pp. 189–203. Berlin: Springer, LNCS.

  • Wheeler, G. R., & Barahona, P. (2012). Why the hardest logic puzzle ever cannot be solved in less than three questions. Journal of Philosophical Logic, 41(2), 493–503.

    Article  MathSciNet  MATH  Google Scholar 

  • Wintein, S. (2011). On the behavior of true and false. Minds and Machines, 22(1), 1–24.

    Article  Google Scholar 

Download references


The authors would like to thank Hans van Ditmarsch and Johan van Benthem for their detailed comments on earlier versions of this paper, and thank Gregory Wheeler for pointing out the literature on the HLPE, which helped to shape the development of this work. We are also grateful to two anonymous referees of this journal for their very valuable comments. Both authors are partially supported by the Major Program of National Social Science Foundation of China (NO.11&ZD088). Yanjing Wang is also supported by the MOE Project of Key Research Institute of Humanities and Social Sciences in Universities (No.12JJD720011).

Author information

Authors and Affiliations


Corresponding author

Correspondence to Yanjing Wang.

Additional information

The authors are ordered alphabetically. Their contributions are equally important.



Proof of Proposition 8


⇒: Intuitively, if D can find out the types of AB, and C without knowing the meaning of da and ja, he should be able to find it out when he knows the meaning of ja and da. We now prove it formally. Suppose there is a solution π for \({({\mathfrak{M}}_1, \theta)}\). Now consider an arbitrary sequence in Seq(π):

$$ ?_{a_1}\psi_1!_{a_1}u_1 \cdots ?_{a_n}\psi_n!_{a_n} u_n\in Seq(\pi). $$

Let γ be the following formula:

$$ \begin{aligned} [?_{a_1}\psi_1](\langle {!_{a_1}}\rangle\top\land [!_{a_1}u_1][?_{a_2}\psi_2](\langle {!_{a_2}}\rangle\top\land [!_{a_2}u_2][?_{a_3}\psi_3]\\ ({\ldots} [?_{a_n}\psi_n](\langle {!_n}\rangle\top\land[!_{a_n} u_n]\theta)..))) \end{aligned} $$

By the definition of solutions we have: \({{\mathfrak{M}}_1 \,\Vdash\,\gamma}\) for all such γ. Due to Q2, ψ i is D-free for i ≤ n, thus the updates introduced by the answers are not relevant to the D-links in the model. Moreover, since θ is a positive formula w.r.t. K D and the answers are essentially submodel operations, it is not hard to show that θ is preserved under models with less D-links compared to \({{\mathfrak{M}}_1. }\) Footnote 11 Therefore it is easy to see that \({{\mathfrak{M}}_1' \,\Vdash\,\gamma}\) for each γ. Now since \({{\mathfrak{M}}_2}\) is a generated submodel of \({{\mathfrak{M}}_1'}\) it is clear that: \({{\mathfrak{M}}_2\,\Vdash\, \gamma}\) for each γ. This means that π is also a solution for \({({\mathfrak{M}}_2,\theta)}\).

For the other direction: suppose there is a solution π for \({({\mathfrak{M}}_2, \theta),}\) then we can assume that the questions in π are ja- and da-free. To see this, note that given a model, each formula can be viewed as a set of possible worlds in this model. However, any subset of the worlds in \({{\mathfrak{M}}_2}\) can be defined by a Boolean combination of type formulas without using any modalities. Therefore we can always replace questions involving modalities with a question without such modalities. Now we obtain π* by replacing each question ? a ψ in π by the question \(?_aE_a^*(({\tt STT}(a)\to \psi)\land ({\tt SLL}(a)\to \neg\psi)),\) namely:

$$ ?_a([?_a(({\tt STT}(a)\to \psi)\land ({\tt SLL}(a)\to \neg\psi))]\langle {!_a\, ja}\rangle\top). $$

We claim that π* is a solution to \({({\mathfrak{M}}_1,\theta)}\). To prove this, we will use the idea in the proof of Lemma 1. Recall that Lemma 1 does not work any more, if we replace \({{\mathfrak{M}}_0}\) by \({{\mathfrak{M}}_1.}\) However, we know more about those ψ appeared in π*: they are from the solution π to the puzzle \({({\mathfrak{M}}_2,\theta),}\) thus they should be always answerable when asked. Namely when ? a ψ is asked on a submodel \({\mathfrak{N}}\) of \({{\mathfrak{M}}_2}\) we have \({\mathfrak{N}\,\Vdash\,\neg {\tt LT}(a)\to (K_a\psi\lor K_a\neg\psi),}\) thus

$$ {\mathfrak{N}}\,\Vdash\,\neg {\tt LT}(a)\to ((\psi\leftrightarrow K_a\psi)\land (\neg \psi\leftrightarrow K_a\neg \psi))\qquad\hbox{(i)}. $$

Let \(\xi(a)=({\tt STT}(a)\to \psi)\land ({\tt SLL}(a)\to \neg\psi)\). Clearly, if \({\mathfrak{N}},s\,\Vdash\,{\tt STT}(a)\land K_a\psi\) then \({\mathfrak{N}},s\,\Vdash\,K_a \xi(a);\) if \({\mathfrak{N}},s\,\Vdash\,{\tt STT}(a)\land K_a\neg\psi\) then \({\mathfrak{N}},s\,\Vdash\, K_a \neg\xi(a);\) if \({\mathfrak{N}},s\,\Vdash\,{\tt SLL}(a)\land K_a\psi\) then \({\mathfrak{N}},s\,\Vdash\,K_a \neg\xi(a); \) if \({\mathfrak{N}},s\,\Vdash\,{\tt SLL}(a)\land K_a\neg\psi\) then \({\mathfrak{N}},s\,\Vdash\, K_a \xi(a)\). In sum, \({\mathfrak{N}}\,\Vdash\,\neg {\tt LT}(a)\to (K_a\xi\lor K_a\neg\xi),\) thus

$$ {\mathfrak{N}}\,\Vdash\,\neg {\tt LT}(a)\to ((\xi(a)\leftrightarrow K_a\xi(a))\land (\neg \xi(a)\leftrightarrow K_a\neg \xi(a)))\qquad\hbox{(ii)}. $$

Namely, ? a ξ is always answerable in \({\mathfrak{N}.}\) Therefore it is easy to see that the following holds:

$$ {\mathfrak{N}}\,\Vdash\,\neg{\tt LT}(a)\to (( K_a\neg[?_a\xi(a)]\langle {!_a\, ja}\rangle\top)\leftrightarrow( K_a[?_a\xi(a)]\langle {!_a\, da}\rangle\top))\qquad \hbox{(iii)} $$

Given a submodel \({\mathfrak{N}}\) of \({{\mathfrak{M}}_1, }\) we want to know what do \({\mathfrak{N}}|^a_{?_aE^*_a(\xi(a)), ja}\) and \({\mathfrak{N}}|^a_{?_aE^*_a(\xi(a)),\, da}\) look like. Now let us follow the reasoning in the proof of Lemma 1 (assuming WLOG that a = A):

$$ \begin{aligned} &{\mathfrak{N}},\_\_\_{\tt JA}\,\Vdash\, [?_A [?_A\xi(A)]\langle {!_A\, ja}\rangle\top]\langle {!_A\, ja}\rangle\top \\ \iff& {\mathfrak{N}},s\,\Vdash\,_\#\lambda(s,A)([?_A\xi(A)]\langle {!_A \, ja}\rangle\top,A)\,\hbox{ if }s=\_\_\_{\tt JA}\\ \iff&\left\{\begin{array}{ll} {\mathfrak{N}},s\,\Vdash\,_\# K_A[?_A\xi(A)]\langle {!_A \, ja}\rangle\top& \hbox{ if }s={\tt TT}\_\_{\tt JA}\\ {\mathfrak{N}},s\,\Vdash\,_\#K_A \neg [?_A\xi(A)]\langle {!_A \, ja}\rangle\top& \hbox{ if }s={\tt LL}\_\_{\tt JA}\\ {\mathfrak{N}},s\,\Vdash\,_\#\top& \hbox{ if }s={\tt LT}\_\_{\tt JA} \end{array} \right.\\ \iff&\left\{\begin{array}{ll} {\mathfrak{N}},s\,\Vdash\,_\# K_A[?_A\xi(A)]\langle {!_A \, ja}\rangle\top& \hbox{ if }s={\tt TT}\_\_{\tt JA}\\ {\mathfrak{N}},s\,\Vdash\,_\#K_A [?_A\xi(A)]\langle {!_A\, da}\rangle\top& \hbox{ if }s={\tt LL}\_\_{\tt JA}\\ {\mathfrak{N}},s\,\Vdash\,_\#\top& \hbox{ if }s={\tt LT}\_\_{\tt JA} \end{array} \right.\hbox{(due to (iii))}\\ \iff&\left\{\begin{array}{ll} {\mathfrak{N}},s\,\Vdash\,_\#K_AK_A\xi(A)& \hbox{ if }s={\tt TT}\_\_{\tt JA}\\ {\mathfrak{N}},s\,\Vdash\,_\#K_AK_A\neg\neg\xi(A)& \hbox{ if }s={\tt LL}\_\_{\tt JA}\\ {\mathfrak{N}},s\,\Vdash\,_\#\top& \hbox{ if }s={\tt LT}\_\_{\tt JA} \end{array} \right.\\ \iff&\left\{\begin{array}{ll} {\mathfrak{N}},s\,\Vdash\,_\#\xi(A)& \hbox{ if }s={\tt TT}\_\_{\tt JA}\\ {\mathfrak{N}},s\,\Vdash\,_\#\neg\neg\xi(A)& \hbox{ if }s={\tt LL}\_\_{\tt JA}\\ {\mathfrak{N}},s\,\Vdash\,_\#\top& \hbox{ if }s={\tt LT}\_\_{\tt JA} \end{array} \right. \hbox{(due to (ii))}\\ \iff&\left\{\begin{array}{ll} {\mathfrak{N}},s\,\Vdash\,_\#\xi(A)& \hbox{ if }s\not={\tt LT}\_\_{\tt JA}\\ {\mathfrak{N}},s\,\Vdash\,_\#\top& \hbox{ if }s={\tt LT}\_\_{\tt JA} \end{array} \right. \end{aligned} $$

Similarly, we have:

$$ \begin{aligned} &{\mathfrak{N}},\_\_\_{\tt DA}\,\Vdash\, [?_A [?_A\xi(A)]\langle {!_A\, ja}\rangle\top]\langle {!_A\, ja}\rangle\top \\ \iff&\left\{\begin{array}{ll} {\mathfrak{N}},s\,\Vdash\,_\#\xi(A)& \hbox{ if }s\not={\tt LT}\_\_{\tt DA}\\ {\mathfrak{N}},s\,\Vdash\,_\#\top& \hbox{ if }s={\tt LT}\_\_{\tt DA} \end{array} \right.\\ & {\mathfrak{N}},\_\_\_\_\,\Vdash\, [?_A [?_A\xi(A)]\langle {!_A \, ja}\rangle\top]\langle {!_A\, da}\rangle\top \\ \iff&\left\{\begin{array}{ll} {\mathfrak{N}},s\,\Vdash\,_\#\neg \xi(A)& \hbox{ if }s\not={\tt LT}\_\_\_\\ {\mathfrak{N}},s\,\Vdash\,_\#\top& \hbox{ if }s={\tt LT}\_\_\_ \end{array} \right. \end{aligned} $$

In sum, we have:

$$ ?_aE_a^*(\xi(a))\left\{ \begin{array}{ll} \hbox{answer}\,ja, \hbox{then} & {\mathfrak{N}}|^a_{E_a^*(\xi(a)), ja} \,\hbox{keeps the worlds}\,\left\{ \begin{array}{l} \xi(a)\land {\tt STT}(a)\\ \xi(a)\land {\tt SLL}(a)\\ \top\land {\tt LT}(a) \end{array} \right.\\ \hbox{answer}\, da, \hbox{then} & {\mathfrak{N}}|^a_{E_a^*(\xi(a)), da}\,\hbox{keeps the worlds }\left\{ \begin{array}{l} \neg \xi(a)\land {\tt STT}(a)\\ \neg \xi(a)\land {\tt SLL}(a)\\ \top\land {\tt LT}(a) \end{array} \right.\\ \end{array} \right. $$

Instantiate \(\xi(a)=({\tt STT}(a)\to \psi)\land ({\tt SLL}(a)\to \neg\psi), \) we have:

$$ ?_aE_a^*(\xi(a))\left\{ \begin{array}{ll} \hbox{answer } ja, \hbox{then }&{\mathfrak{N}}|^a_{E_a^*(\xi(a)), ja} \hbox{ keeps the worlds }\left\{ \begin{array}{l} \psi\land {\tt STT}(a)\\ \neg \psi\land {\tt SLL}(a)\\ \top\land {\tt LT}(a) \end{array} \right.\\ \hbox{answer } da, \hbox{ then }& {\mathfrak{N}}|^a_{E_a^*(\xi(a)), da} \hbox{ keeps the worlds }\left\{ \begin{array}{l} \neg \psi\land {\tt STT}(a)\\ \psi\land {\tt SLL}(a)\\ \top\land {\tt LT}(a) \end{array} \right.\\ \end{array} \right. $$

On the other hand, for any submodel \({\mathfrak{N}'}\) of \({{\mathfrak{M}}_2}\):

$$?_a\psi\left\{ \begin{array}{ll} \hbox{answer } ja, \hbox{then}&{\mathfrak{N}}'|^a_{\psi, ja} \hbox{ keeps the worlds }\left\{ \begin{array}{l} \psi\land {\tt STT}(a)\\ \neg \psi\land {\tt SLL}(a)\\ \top\land {\tt LT}(a) \end{array} \right. \hbox{ (due to (i))}\\ \hbox{answer }da, \hbox{then}& {\mathfrak{N}}'|^a_{\psi, da} \hbox{ keeps the worlds }\left\{ \begin{array}{l} \neg \psi\land {\tt STT}(a)\\ \psi\land {\tt SLL}(a)\\ \top\land {\tt LT}(a) \end{array} \right. \hbox{ (due to (i))}\\ \end{array} \right. $$

Clearly, the answers to \(?_aE^*(({\tt STT}(a)\to \psi)\land ({\tt SLL}(a)\to \neg\psi))\) have exactly the same update effects on submodels of \({{\mathfrak{M}}_1}\) (modulo JA and DA ) as the answers to ? a ψ on the corresponding submodels of \({{\mathfrak{M}}_2}\) where ja and da stand for ‘yes’ and ‘no’ respectively. Since π can guarantee we reach a singleton model in the end, the π* can make sure we reach a model with at most two worlds, which differ from each other only in the interpretations. Therefore π* is a solution to \({({\mathfrak{M}}_1,\theta)}\). \(\square\)

Proof of Proposition 9


WLOG let a = A. Suppose \({\mathfrak{N}\,\Vdash\,\neg {\tt SLL}(A)}\) or \({\mathfrak{N}\,\Vdash\,\neg {\tt STT}(A), }\) namely, either \({\mathfrak{N}}\) does not have any SLL __ JA world or \({\mathfrak{N}}\) does not have any STT __ JA world. In the sequel, we only consider the first case. For the other case, similar proof works.

If \({\mathfrak{N}}\) does not have any SLL __ JA world, there are three subcases:

  1. 1.

    \({\mathfrak{N}}\) only has STT __ JA worlds. Since \({\mathfrak{N}}\) is the submodel of \({{\mathfrak{M}}_2}\) then there are at most two STT __ JA worlds in \({\mathfrak{N}}\). If there is only one world then no question can be effective since the model is already minimal. If there are two worlds (call them s and t), then these two worlds are clearly linked by indistinguishability relations of A and D, since \({\mathfrak{N}}\) is a submodel of \({{\mathfrak{M}}_2}\). Now whatever A answers to the question ? A ϕ, the answer must be known to A, thus it holds on both worlds. More formally, given a question ? A ϕ, the update effects of its answers can be analysed as follows:Footnote 12

    $$ ?_A\phi\left\{ \begin{array}{ll} \hbox{answer} ja,\,\hbox{then}& {\mathfrak{N}}|^A_{\phi, ja}\,\hbox{keeps the worlds where}\,K_A\phi\land{\tt STT}(A)\,\hbox{is true}\\ \hbox{answer} da,\,\hbox{then}& {\mathfrak{N}}|^A_{\phi, da}\,\hbox{keeps the worlds where}\,K_A\neg \phi\land{\tt STT}(A)\,\hbox{is true} \end{array} \right. $$

    Clearly these answers, if executable, will not change the model.

  2. 2.

    \({\mathfrak{N}}\) only has LT __ JA worlds. Whatever the bluffer answers, the model will not be changed at all due to the definition of the bluffer type.

  3. 3.

    \({\mathfrak{N}}\) has at least one STT __ JA world and at least one LT __ JA world but does not have any SLL __ JA world. Given any question ? A ϕ, the update effects of its answers can be analysed as follows:

    $$ ?_A\phi\left\{ \begin{array}{ll}\,\hbox{answer}\, ja, \hbox{then}& {\mathfrak{N}}|^A_{\phi, ja}\,\hbox{keeps the worlds}\,\,\,\left\{\begin{array}{l} K_A\phi\land {\tt STT}(A)\\ \top\land {\tt LT}(A) \end{array} \right.\\ \hbox{answer}\,da, \hbox{then}& {\mathfrak{N}}|^A_{\phi, da}\,\hbox{keeps the worlds}\left\{\begin{array}{l} K_A\neg \phi\land {\tt STT}(A)\\ \top\land {\tt LT}(A) \end{array} \right.\\ \end{array} \right. $$

    Note that both \({{\mathfrak{N}}|^A_{\phi, ja}}\) and \({{\mathfrak{N}}|^A_{\phi, da}}\) are defined since there is at least one LT __ JA world. Now suppose ϕ is effective, then both answers should eliminate some worlds in \({\mathfrak{N}}\). Clearly the condition \(\top\land {\tt LT}(A)\) keeps all the LT __ JA worlds in \({\mathfrak{N}, }\) thus there must be some STT __ JA world t which does not satisfy K A ϕ and some STT __ JA world t′ which does not satisfy \(K_A\neg\phi\). However this is impossible, since all the STT __ JA worlds are indistinguishable for A thus t and t′ satisfy the same K A formulas.

In sum, ? A ϕ cannot be effective on \({\mathfrak{N}}\). \(\square\)

Proof of Theorem 2


According to Proposition 8, if there is no solution to \({({\mathfrak{M}}_2,\theta), }\) then there is no solution to \({({\mathfrak{M}}_1,\theta)}\).

Towards a contradiction, suppose that \({({\mathfrak{M}}_2,\theta)}\) has a solution π. Since D cannot distinguish any two worlds in \({{\mathfrak{M}}_2}\) and the effects of answers are taking submodels, it is not hard to see that θ is satisfiable in a submodel \({\mathfrak{N}}\) of \({{\mathfrak{M}}_2}\) iff \({\mathfrak{N}}\) has only one world. According to the definition of solutions, for all \(?_{a_1}\phi_1!_{a_1}u_1 \cdots ?_{a_n}\phi_n!_{a_n} u_n\in Seq(\pi), \) the following model (if defined) must be singleton:

$$ (\ldots({{\mathfrak{M}}}_2|^{a_1}_{\phi_1,u_1})|^{a_2}_{\phi_2,u_2} \dots) |^{a_{n}}_{\phi_{n},u_{n}} $$

WLOG we may assume that the solution starts with a question to A. We claim the following:

\({({\mathfrak{M}}_2,\theta)}\) has a solution whose initial question ? A ϕ is effective on \({{\mathfrak{M}}_2}\) (\(\star\)).

To see this, first note that both \({{\mathfrak{M}}_2|^A_{\phi, ja}}\) and \({{\mathfrak{M}}_2|^A_{\phi, da}}\) are well-defined, since da and ja can be answered for the worlds LT __ JA in \({{\mathfrak{M}}_2}\). Now if ϕ is not effective, then either \({{\mathfrak{M}}_2|^A_{\phi, ja}={\mathfrak{M}}_2}\) or \({{\mathfrak{M}}_2|^A_{\phi,{\it da}}={\mathfrak{M}}_2}\). In either case, the initial question is useless, e.g., if \({{\mathfrak{M}}_2|^A_{\phi, ja}={\mathfrak{M}}_2}\) then answering ja will not bring any new information, thus we may well ignore the first question and let the question which was previously after answering ja be the new initial question.

Based on the claim (\(\star\)), let us focus on the effective questions and their update effects by analysing the updated models:

$$ ?_A\phi\left\{ \begin{array}{ll} \hbox{answer } ja,\,\hbox{ then }&\quad {{\mathfrak{M}}}_2|^A_{\phi, ja}\,\hbox{keeps the worlds}\left\{ \begin{array}{l} K_A\phi\land {\tt STT}(A)\\ K_A\neg \phi\land {\tt SLL}(A)\\ \top\land {\tt LT}(A) \end{array} \right.\\ \hbox{answer } da,\,\hbox{ then }&\quad {{\mathfrak{M}}}_2|^A_{\phi, da}\,\hbox{keeps the worlds }\left\{ \begin{array}{l} K_A\neg \phi\land {\tt STT}(A)\\ K_A\phi\land {\tt SLL}(A)\\ \top\land {\tt LT}(A) \end{array} \right.\\ \end{array} \right. $$

It is easy to see that all the LT__JA worlds will be kept in the updated models. If the question is effective then answering ja or da should both change the model by eliminating some worlds. For the case of ja this means either there is some STT__JA world t which does not satisfy K A ϕ or there is some SLL__JA world t′ which does not satisfy \(K_A\neg \phi\).

  1. (i)

    Suppose it is the first case. Since ? A ϕ should be answerable, then \(K_A\phi\lor K_A\neg\phi\) holds at t, thus \(K_A\neg \phi\) holds at t. However, this also means that \(K_A\neg \phi\) holds at all the worlds in the shape of STT__JA (1). Thus in the clause for da the condition \(K_A\neg \phi\land {\tt STT}(A)\) will be satisfied by all the STT__JA worlds. Since the question is effective, there must be some SLL__JA world which does not satisfy K A ϕ. Again since ϕ is answerable, there must be some SLL__JA world which satisfy \(K_A\neg\phi\). Then it means that all the SLL__JA worlds satisfy \(K_A\neg\phi\) (2). Together with (1), we know that \({\tt SLL}(A)\lor{\tt STT}(A)\to K_A\neg\phi\) is valid in \({{\mathfrak{M}}_2}\). Therefore:

    $$ ?_A\phi\left\{ \begin{array}{ll} \hbox{answer } ja,\,\hbox{then}& {{\mathfrak{M}}}_2|^A_{\phi, ja}\,\hbox{keeps the worlds}\,\,\,\left\{ \begin{array}{l} {\tt SLL}\_\_{\tt JA}\\ {\tt LT}\_\_{\tt JA} \end{array} \right.\\ \hbox{answer } da,\,\hbox{ then }& {{\mathfrak{M}}}_2|^A_{\phi, da}\,\hbox{keeps the worlds}\left\{ \begin{array}{l} {\tt STT}\_\_{\tt JA}\\ {\tt LT}\_\_{\tt JA} \end{array} \right.\\ \end{array} \right. $$
  2. (ii)

    Suppose there is some SLL __ JA world t′ which does not satisfy \(K_A\neg \phi\). With similar analysis we conclude that: \({\tt SLL}(A)\lor{\tt STT}(A)\to K_A\phi\) is valid in \({{\mathfrak{M}}_2}\). Therefore:

    $$ ?_A\phi\left\{ \begin{array}{ll} \hbox{answer } ja, \hbox{ then }&\quad{{\mathfrak{M}}}_2|^A_{\phi, ja} \hbox{ keeps the worlds }\,\,\,\left\{ \begin{array}{l} {\tt STT}\_\_{\tt JA}\\ {\tt LT}\_\_{\tt JA} \end{array} \right.\\ \hbox{answer } da, \hbox{ then }& {{\mathfrak{M}}}_2|^A_{\phi, da} \hbox{ keeps the worlds }\left\{ \begin{array}{l} {\tt SLL}\_\_{\tt JA}\\ {\tt LT}\_\_{\tt JA} \end{array} \right.\\ \end{array} \right. $$

Based on (i) and (ii), we know that one of the answers to an effective question eliminates STT__JA worlds and the other eliminates SLL__JA worlds. Note that such effective questions do exist, e.g., \(?_A{\tt LT}(A)\) and \(?_A\neg{\tt LT}(A)\).

Now by Proposition 9, asking A again cannot be effective any more thus the next effective questions must be asked to B or C. Note that we can again ignore the ineffective questions for the reasons mentioned earlier. Suppose WLOG that after A’s answering ja we are left with SLL__JA and LT__JA worlds as in case (i), and B is then asked. The effects of B’s answers are as follows:

$$ ?_B\phi'\left\{ \begin{array}{ll} &({{\mathfrak{M}}}_2|^A_{\phi, ja})|^B_{\phi', ja} \hbox{ keeps the worlds }\left\{ \begin{array}{l} K_B\phi'\land {\tt STT}(B)\\ K_B\neg \phi'\land {\tt SLL}(B)\\ \top\land {\tt LT}(B) \end{array} \right.\hbox{ out of } \left\{ \begin{array}{l} {\tt SLL}\_\_{\tt JA}\\ {\tt LT}\_\_{\tt JA} \end{array} \right.\\ & ({{\mathfrak{M}}}_2|^A_{\phi, ja})|^B_{\phi', da} \hbox{ keeps the worlds }\left\{ \begin{array}{l} K_B\neg \phi'\land {\tt STT}(B)\\ K_B\phi'\land {\tt SLL}(B)\\ \top\land {\tt LT}(B) \end{array} \right. \hbox{ out of } \left\{ \begin{array}{l} {\tt SLL}\_\_{\tt JA}\\ {\tt LT}\_\_{\tt JA} \end{array} \right.\\ \end{array} \right. $$

With exactly the same argument as in the case of ? A ϕ above, to make ϕ′ effective, \({\tt SLL}(B)\lor{\tt STT}(B)\to K_B\phi'\) or \({\tt SLL}(B)\lor{\tt STT}(B)\to K_B\neg \phi'\) should be valid in \({{\mathfrak{M}}_2|^A_{\phi, ja}}\) and the update effects of the answers are to eliminate one of the possibilities of _ STT (B)_ JA and _ SLL (B)_ JA . Note that \({{\mathfrak{M}}_2|^A_{\phi, ja}}\) keeps SLL__JA and LT __ JA worlds, thus \({{\mathfrak{M}}_2|^A_{\phi, ja}}\) can be depicted as below:

figure m

Then \({({\mathfrak{M}}_2|^A_{\phi, ja})|^B_{\phi', ja}}\) is one of the following two models and \({({\mathfrak{M}}_2|^A_{\phi, ja})|^B_{\phi', da}}\) is the other one:

figure n

For the left-hand-side case, there is no effective questions to ask any more due to Proposition 9 and the fact that \(\neg{\tt STT}(A)\land \neg {\tt STT}(B)\land \neg{\tt SLL}(C)\) is valid in the model. Thus it is easy to see that we cannot guarantee one of the two worlds will be eliminated by an answer. It is interesting that although D now knows C’s type, he cannot know A and B’s type. Moreover, C cannot help him since he also does not know the others’ types. On the other hand, although A and B now know the types of everyone, they cannot help D either, since D cannot distinguish who is bluffing. For the right-hand model, there are still effective questions for C since all the possibilities STT (C), SLL (C) and LT (C) are still there in the model. However, with a similar analysis as in the first two steps, after C answers an effective question, the situation will be similar to the above left-hand-side model: we are left with two worlds and cannot guarantee that every answer will make a difference.

In sum, we cannot guarantee that we will reach a singleton model in the end, thus it is contradictory to the assumption that there is a solution. \(\square\)

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Liu, F., Wang, Y. Reasoning About Agent Types and the Hardest Logic Puzzle Ever. Minds & Machines 23, 123–161 (2013).

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI:


  • Agent types
  • Public announcement logic
  • Questioning strategy
  • Knight and Knaves
  • The hardest logic puzzle ever