Just something to consider:
What does
this point to?
It is true that this statement is false: "I live in a giant bucket"?
With a lack of any disambiguation,
this could point to anything which is why we need a specifier.
With regard to face-value, sentence is simple:
if ((!1) == 1) statement.true();
The (!1) is the statement being false part, the 1 being the it being true part. How would your compiler handle it? !1 becomes 0 so we have (0 == 1) which evaluates to 0. Therefore, by programming standards, the whole statement is false.
Remember that 'it is true' -alike statements are assertions. I can say, "It is true I'm a cat," but that does not make me a cat, much the same way prepending "It is true that" does not make the statement true. So we can actually discard "It is true that".
Our real problem is "This statement is false". If we interpret it literally, it claims itself to be false. That is false because because the statement is true for the afforementiomed reason. Once again, though, we have our escape which is that it is an assertion and therefore only the perception of the one stating it. Because of this, it is not false simply because it claims to be just as I would fail to become a cat (or anything else) by claiming not to be a human. Therefore that, too, can be discarded.
Now we have void. I like void.
The answer: Your statement voids itself. To those who insist on an answer, the second half produces a recursive 1/0 because it makes a claim that both proves and disproves itself.
"You realise you're not nearly as funny as you think you are," said Onii-chan.
"I know that, which means I must be as funny as I think I am; in a paradoxical sort of way," I replied.