"This statement is false"
Saying phrases like "This statement is false" does mean you've found some fatal flaw in logic itself and it does not make you sound smart.
It makes you sound like somebody who doesn't know the difference between syntax and semantics.
The real issue...
In order for a statement to have meaning, it must be well defined. Stringing random words together is not enough to provide meaning. There are plenty of syntactically correct yet nonsensical statements. For example, "This statement is blue" is grammatically correct, but it's not well defined (statements don't have color).
This distinction can be blurry in natural language, which do not have clean lex, parse, and symantic resolution phases. Practically, since most of the statements made in non-technical everyday conversation have meaning, it's easy to get in the habit of assuming anything that looks like a valid statement (ie, is syntactically correct) must have meaning.
Computer languages make the distinction clearer. You can have syntactically correct programs that fail semantic checking. This principle is one reason that compilers languages stop as soon as they detect a semantic error. What would it mean to continue?
Ultimately, the statement "This statement is false" is not well defined, and so it has no meaning. The gotcha is trying to extract a meaning from a meaningless phrase. It's a perfectly nice collection of random words, but that's it. Here's why...
Do the semantic resolution. In order to give meaning to a statement, you need to be able to give meaning to each of the words used in the statement. So to resolve the statement, we need to resolve each of the words.
In the case of "This statement is false", we need to resolve the antecedent for what does "this" refer to? Here, it refers to the statement that we're in the middle of defining. But that statement is not yet defined, and thus you can't resolve the antecedent.
So you have an unresolved word in the statement. Thus the statement is not well defined, and so does not have formal meaning.
Self definition is like assuming your statement is correct in order to prove your statement is correct.
In nerd speak, a statement like "This statement is false" fails semantic analysis and so can not be evaluated.
Common misconceptions:
Let me address some common misconceptions that fall out from this.
What about math equations?
You can have math equations where a term appears on both sides. Eg: X -4 = XS+2
So why is that different than (S= not S) .
It's not. In both cases, the equation represents a relationship. In the first case, there exists an object that satisfies that relationship. In the second case, there does not. So X would have meaning, but S would be nil (representing that the statement is meaningless).
What about recursion?
Defining a term in terms of itself is different than recursion. Take the fibonacci series:
F(n) = F(n-1) + F(n-2), F(0)= 1, F(1) =1
The key differences are that:
- Recursion has base cases.
- F(2) may be defined in terms of F(1), F(0), but F(2) is not defined is not defined in terms of F(2).
So the function F is a collection of points, each of which is well defined, and therefore the overall function F is well defined.
What about recursion in computer languages?
Computer languages let you define functions recursively. But in this case, function definitions are really just a set of instructions to execute. So the rules are different than definitions in natural language. Take Psuedo-code like:
function S() { return !S(); }
With this function, there is no antecedent here to resolve. The function is well defined: it just is an infinite loop (that will stackoverflow).
Related topics:
This would be similar to trying to apply a statement with an undefined or ambiguous word.
Playing with undefined statements or creating + exploting ambiguity can also be used as punchlines in jokes (along with indirection). Eg:
Q: What's the longest river in America?
A: Mississippi
Q: How do you spell it?
A: 'i' 't'
Comments
Anonymous
November 20, 2007
>>> Saying phrases like "This statement is false" does mean you've found some fatal flaw in logic itself and it does not make you sound smart. Well, I'm not so certain about that :-). As far as I know Godel's incompleteness theorems are based on a similar principle, though formally defined and many mathematicians think that this is actually very smart thing...Anonymous
November 20, 2007
Tomas - I think that's different. Godel's incompleteness theorems focused on provability (eg, what can you prove / what can't you prove). This is focusing on semantics and what it means to be well-defined.Anonymous
November 20, 2007
I think Thomas has a point: There are well-defined self-referential sentences. Gödel's sentence, which can informally be described as saying "This sentence is unprovable" is very good example. At least in a formal axiom system, self-reference is well-defined. In fact, truth is not well-defined, and that's why you can't build a paradox in a formal system.Anonymous
November 20, 2007
Mike, you are wrong. You've made up that rule. Recursion is absolutely allowed in language. Definition of factorial:
- Factorial is the function defined on whole numbers in [0;*) range.
- Factorial of 0 is 1.
- If factorial is defined for n, than factorial of (n+1) is n! * (n+1). It's recursive, and according to your 'made up' rule it is meaningless. Which is not true. Let me give it an illustration: 'all statements of seven words are false' It does have reference to undefined statement (itself), but would you say it makes the statement meaningless?
Anonymous
November 20, 2007
What you actually do is you say 'That weird statement makes me feel bad, I can't cope. Let's create some rule which would prohibit it'. But that won't work. You cannot invent axioms just because something doesn't work well. And there is nothing in logic which prevent statements refer themselves.Anonymous
November 20, 2007
The only way to handle all the mess is to agree that well-formed semantically valid statements may be meaningless (which is what Goedel did).Anonymous
November 21, 2007
Agreed, Oleg. Mike, you might want to read "Godel, Escher, Bach" (longer, wordier, more beautiful) or "I am a Strange Loop" (shorter and more to the point).Anonymous
November 21, 2007
I'm not really an expert in logic but I think that the proof of Goedels theoerm is based on the trick that it formally defines some predicate from the theory that is "meaningless" in a similar way in which "This statement is false" is meaningless and then proves that this statement cannot be proved. That's why I said that these statements are not actually that meaningless - because they can be used for showing something very interesting about the whole logic (which is what Goedel did). Of course, you can say that you want to use only semantically correct statements (you would have to more precisely define what do you mean by that) and as far as I understand it this is what Wittgenstein advocated - and it definitely has some advantages to say that when speaking about human languages, but I would be more careful when talking about logic... The next issue would be whether you actually can tell whether the given sentence/predicate is semantically correct (and I suppose there will be some serious problems with this :-)). But that's not really a topic for discussion in a blog comments I think... :-)Anonymous
November 26, 2007
"This statement is true" has a similar unresolved antecedent, yet seems to me to be perfectly valid. Is resolution of antecedents really the problem with "This statement is false" ?Anonymous
November 27, 2007
"In the case of "This statement is false", we need to resolve the antecedent for what does "this" refer to? Here, it refers to the statement that we're in the middle of defining. But that statement is not yet defined, and thus you can't resolve the antecedent." What about: "This comment was typed on my keyboard"? there is also the use of the word "this" referring to the statement that is in the middle of being defined, yet I see no problem with the sentence. I must be missing something, right?Anonymous
November 29, 2007
If you can say "This statement is false" and then follow it up with a great discussion of Godel, Axioms, Semantics, and provability - then you sound smart. But just regurgitating the statement is insufficient. :) There's a lot of creativity on how you can approach this statement (imo, mainly because of the ambiguity of natural language), and different mathematicians have taken different approaches. I recognize I made at least 3 mistakes here:
- I foolishly worded this entry to imply that one particular approach (which I thought was from Russell, but apparently am not recalling properly) focused on semantics as ‘the right way’, and that was a mistake.
- When I said “But that statement is not yet defined, and thus you can't resolve the antecedent”, I identified where the problems start. But I didn’t account that by providing more formal definitions, you can wade farther into the problem. For example, you could define the system such that you could resolve the antecedent, but it would be resolved to something undefined.
- I sloppily used “meaningless” instead of a more precise phrase like “not formally defined”. However, I still maintain the following:
- In order for something to have formal meaning, it must have formal semantics.
- In natural (human) language, we can often casually communicate sufficiently well without formal meaning.
- “Cyclical Definitions” or Recursion are only meaningful in a system where it is semantically well defined.
- Mathematical functions and computers languages both provide formal semantics for handling recursion. (Oleg - your factorial example looks just like my original fibonacci example.)
- Natural language is not so precise in general (including on the semantics of recursion), which is what leads to troubling statements like this.
- Some statements that may be presented as causally cyclical could be “unrolled” into an iterative set of definitions.