Jack comments on Unsolved Problems in Philosophy Part 1: The Liar's Paradox - Less Wrong

4 Post author: Kevin 30 November 2010 08:56AM

You are viewing a comment permalink. View the original post to see all comments and the full post content.

Comments (130)

You are viewing a single comment's thread.

Comment author: Jack 30 November 2010 10:34:09AM *  7 points [-]

The Liars Paradox appears to be a special case of infinite recursion.

liar() {

NOT liar()

}

Straight forward. A debugging tool would detect an infinite recursion. An English speaking logician could call it 'meaningless'. Now consider the 'strengthened paradox':

"Everything written on the board in Room 33 is either false or meaningless."

This isn't translatable as a function. 'Meaningful' and 'meaningless' aren't values bivalent functions return so they shouldn't be values in our logic. Instead they should be thought of as flags for errors detected by our brain's debugging tool. But our debugging tool is embedded into the semantics of our language. We talk about sentences having the property of 'meaninglessness' instead of our brains not knowing what to do with the string of letters shown to it. You could probably build a language that returned a pseudo-value of "Meaningless" for infinitely recursive functions. It wouldn't "really" be a value, the program would just output a line that read "x = Meaningless" (not, and this is crucial, assign the variable the value of the string 'Meaningless') when asked to find Liar(x). That is basically what the human brain does.

When we get confused by the strengthened liar paradox we're committing a category error, thinking "meaningless" is a value when it is really an error message. In fact both versions of the paradox are meaningless (assuming 'meaningless' can be taken to mean something like 'Can't compute').

Of course it gets hairy since error messages have truth values too. But

Meaningless(Sliar()) = 1

Is not the same as

Sliar() =1

Thus there is no contradiction. Same will go for Meaningless(Meaningless(Sliar())).

Comment author: cousin_it 30 November 2010 10:39:32AM 2 points [-]

The most straightforward way is to interpret "meaningless" as "doesn't terminate", or the value Bottom in Haskell.

Comment author: Jonii 30 November 2010 02:39:20PM 0 points [-]

This isn't translatable as a function. 'Meaningful' and 'meaningless' aren't values bivalent functions return so they shouldn't be values in our logic.

So the sentence "The sentence 'Everything written on the board in Room 33 is either false or meaningless.' is meaningless" is not true?

Comment author: Jack 30 November 2010 03:11:50PM *  0 points [-]

Sure it's true. Thats just Meaningless(Sliar())... I guess I don't seen why the selected portion would imply otherwise.

Comment author: Jonii 30 November 2010 04:17:54PM 0 points [-]

Oh, right, now I get it.