Modeling and solving self-referential puzzles

The so-called self-referential puzzles are a very interesting kind of logic puzzles, aiming at developing the skill of logical thinking. A self-referential puzzle consists of a sequence of questions about the puzzle itself. In this paper, we shall show some selfreferential puzzles, demonstrate how to model and solve them as propositional logic problems, and how to mechanically generate new puzzles. For this, we shall make use of the specific advantages of Mozart/Oz system – the finite domain constraint programming language and environment. We shall also show some new puzzles, according to our best knowledge not yet published elsewhere. The program in Mozart/Oz using our method generated these puzzles.

[1]  M. Henz Don't Be Puzzled! , 1996 .

[2]  R. Smullyan Diagonalization and Self-Reference , 1994 .

[3]  Martin Henz,et al.  A software engineering approach to constraint programming systems , 2002, Ninth Asia-Pacific Software Engineering Conference, 2002..

[4]  Roland H. C. Yap,et al.  Solving Hierarchical Constraints over Finite Domains , 2000, AMAI.

[5]  Peter Van Roy,et al.  Logic programming in the context of multiparadigm programming: the Oz experience , 2002, Theory and Practice of Logic Programming.