Does "This is a lie" prove the insufficiency of binary logic?
Solution 1:
The problem lies in your interpretation of the sentence. If you want to apply logic to it, you need first reformulate it into the language of logic. There are many different ways to do that, but in majority of "usual" methods the curious thing happens: for a sentence to talk about it self you need a set that contains the sentence which in turn uses the set again -- you are unable to find a formal representation of it. This is closely related to Russel's paradox and his proof that there's no set of all sets, e.g. there is no set of all sentences (if they can refer to this set).
Of course, there are some "unusual" structures, e.g. you could take sets defined using the bisimilarity relation where x = {1, x} would be a proper definition, although, this is far beyond binary logic.
Concluding: the simple binary logic is not contradictory, but it is too weak to express this sentence.
On a happier note: this kind of thing happens all the time, and even innocent fairy-tales fall for that, e.g. consider what would happen if Pinocchio had said "my nose will grow"... (Have anyone tried ever this on their's native language teacher?)
Solution 2:
No, this just shows that logic should not allow arbitrary sentences and ascribe a truth value to all of them. Completely nonsensical utterances clearly fall under the forbidden category. But sentences like this classical liar paradox which mix levels cannot be allowed either. If you want to know more interesting forms of the liar paradox and applications of them, I advise you to read Hofstadters "Gödel, Escher, Bach", where such matters are discussed at great lengths.
Solution 3:
You're right,
binary logic is not able to express the sentence This is a lie. The binary logic is the simplest logic and works with logical operators and True/False values. There are other more powerful logic systems that can work better with meaning (semantics) of natural language.
Here, we don't know what insufficiency means. What should we prove here? Insufficiency for what? But it's possible to say that we can't express This is a lie in binary logic.
To be able to express it we have to use more powerful logic systems like intensional logic that are able to express propositional attitudes and other pretty constructs of natural language. Though, I think that This is a lie is unexpressable in intensional logic too.
We have to analyze the sentence meaning (semantics) first. Usually the word this has a semantical pragmatic function (depending on context where the sentence is spoken or written). I would first think about the concept lie.
You can see that lie is a predicate on proposition. Proposition in intensional logic is a function depending on possible world and time. The concept of possible world is quite complex so assume you have only time function of type (time -> boolean).
example: At this moment (7.7.2012 07:07) these propositions hold
Peter asserts that Charles is slim.
Charles is fat
We can easily derive (reason) that "Charles is slim." is a lie. You can see that the meaning of lie is a predicate on tuple (proposition, time moment).
This is a lie can't be applied to this time moment because in this predicate is missing an argument (proposition).
You can see that sentence this is a lie is pure nonsense because the sentence is "functionally incorrect", you can't express it unambiguously in type theory.
The meaning (our understanding) would look like 1 or 2:
- lie(this, 7.7.2012 07:07). But this has only pragmatic function.
- lie(lie(lie(...(...(...never ending story))), 7.7.2012 07:07), 7.7.2012 07:07).