Monday, 30 January 2017

The King of France

Bertrand Russell observed that sentence "The present King of France is bald"  is not true - - it can't be as France is no longer a monarchy. He also maintained that "The present king of France is not bald"  is also not true: certainly you can argue that the set of non-bald things does not contain a present king of France.

The law of excluded middle tells us that "For any proposition p, either p is true or not-p, the negation or denial of p, is true" - - and this seems to imply that there is no middle ground - - for any given sentence, either that sentence or its denial is true.  Clearly there is some inconsistency in progress here.

We could say that Russell is trying to run this test:

assert((France.getKing(present).isBald() == true) or 
    (France.getKing(present).isBald() == false))

However, his problem is that France.getKing(present) returns null, and so the call to isBald() throws a method-called-on-invalid-object exception.  Ah, dammit.  Now what?