Traditionally, logic is based on the assumption that every statement is either true or false (and not both).

That’s called of truth and falsity, ranging from perfect truth at one end to perfect falsity at the other.

In the middle, a statement can be simultaneously half-true and half-false.

On this view, as you remove one grain after another, the statement ‘There is a heap’ becomes less and less true by tiny steps.

No one step takes you from perfect truth to perfect falsity.

But there were only finitely many grains to start with, so eventually you get down to a heap with just three grains, then a heap with just two grains, a heap with just one grain, and finally a heap with no grains at all. There would be no problem if we had a nice, precise definition of ‘heap’ that told us exactly how many grains you need for a heap.

After each removal, there’s still a heap, according to the principle. Sometimes, removing one grain , from the Greek word for ‘heap’.

That principle can be applied again as you remove another grain, and then another…

Removing one grain doesn’t turn a heap into no heap.

The trouble is that we don’t have such a definition. There isn’t a clear boundary between heap and no heap. We get along well enough applying the word ‘heap’ on the basis of casual impressions.

Since what’s on the left duplicates what’s on the right, ‘There’s a heap on the left’ is half-true and half-false too. There are many other complicated proposals for revising logic to accommodate vagueness.

The rules of fuzzy logic then imply that the complex statement ‘There’s a heap on the right and no heap on the left’ is also half-true and half-false, which means that we should be equally balanced between accepting and rejecting it. We should just totally reject the statement, since ‘There’s a heap on the right and no heap on the left’ entails that there is a difference between what’s on the right and what’s on the left – but there is no such difference; they are grain-by-grain duplicates. My own view is that they are all trying to fix something that isn’t broken.

Standard logic, with bivalence and excluded middle, is well-tested, simple and powerful.

Vagueness isn’t a problem about logic; it’s a problem about .

A statement can be true without your knowing that it is true.

Fuzzy logic rejects some key principles of classical logic, on which standard mathematics relies.

For example, the traditional logician says, at every stage: ‘Either there is a heap or there isn’t’: that’s an instance of a general principle called .

The fuzzy logician replies that when ‘There is a heap’ is only half-true, then ‘Either there is a heap or there isn’t’ is only half-true too.

At first sight, fuzzy logic might look like a natural, elegant solution to the problem of vagueness.

But when you work through its consequences, it’s less convincing.

To see why, imagine heaps of sand, exact duplicates of each other, one on the right, one on the left.

Whenever you remove one grain from one side, you remove the exactly corresponding grain from the other side too.

At each stage, the sand on the right and the sand on the left are exact grain-by-grain duplicates of each other.

This much is clear: there’s a heap on the left too, and vice versa.

Now, according to the fuzzy logician, as we remove grains one by one, sooner or later we reach a point where the statement ‘There’s a heap on the right’ is half-true and half-false.

To discuss them properly, we must be able to reason correctly with vague words such as ‘person’.

You can find aspects of vagueness in most words of English or any other language.

Out loud or in our heads, we reason mostly in vague terms. At first, the paradoxes seem to be trivial verbal tricks.

Such reasoning can easily generate sorites-like paradoxes. But the more rigorously philosophers have studied them, the deeper and harder they have turned out to be.

They raise doubts about the most basic logical principles.