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).