LOGIC4FUN

Login ∨ Register

WelcomeFirst Things First

Philosophical Railway

It happened, in the days when trains used to call at the tiny village of Much Tittering in the Woods, that the 1215 once pulled up there and stood for the best part of an hour. Nobody now remembers why. At any rate, the driver, the porter, the signalman, the stationmaster and the guard spent the time in such merry conversation as is customary among employees of railway companies. Their names, in alphabetical order, were James, Kant, Locke, Mill and Nietzsche. For reasons lost in the mists of railway history, they agreed to make two statements each, one true and the other false. They said:

MILL: Nietzsche is the stationmaster.
James is either the guard or the porter.
LOCKE: Neither Kant nor Nietzsche is the signalman.
Mill is not the stationmaster.
KANT: Mill’s second statement was false.
Locke’s first statement was true.
NIETZSCHE: Either James is the porter or I am.
Neither Locke nor Mill is the guard.
JAMES: I am not the signalman.
Nietzsche’s second statement was false.

What was the driver’s name?

Puzzles like the one above are amusing, and many of us enjoy the mild intellectual stimulation of solving them. The idea of this web site is not so much that you learn how to solve such puzzles, but rather that you learn a way of getting a computer to solve them. We do this by putting them into a simple notation that clearly and unambiguously says what would count as a possible solution. This is not just an idle exercise: by doing it, you are developing skills in:

  • critical reasoning
  • first order logic
  • declarative programming
  • mathematical modelling

With direct relevance to any studies you may pursue in

  • computer science / software engineering (languages, formal methods)
  • artificial intelligence (knowledge representation, constraint satisfaction)
  • philosophy of language
  • mathematical logic

All of which would be pretty heavy stuff, if it weren’t so much fun.