A single grain of sand is not a heap; that's obvious. A heap is a collection of things, you need several things to make it up. Two grains of sand isn't a heap either; a heap is a collection of several things.

The concept of a heap is fuzzy, though; there’s no precise number that marks the difference between heaps and non-heaps. Defining precisely how many things one needs in order to have a heap is therefore impossible. This is what gives rise to the paradox of the heap (also called the “Sorites paradox”, Sorites being the Greek word for heap).

Suppose that we have a collection of a million grains of sand. That is absolutely, definitely, undeniably a heap.

Because there is no precise number that separates heaps from non-heaps, removing a single grain of sand from a heap will never turn it into a non-heap. If you have a heap of sand, and you take away a single grain, then you still have a heap.

If you have a heap of a million grains of sand, though, and repeatedly take away a single grain of sand, doing so 999,999 times, then what have you got? Taking away a single grain of sand cannot turn a heap into a non-heap. What you have at the end of this process, then, is a heap.

What you have at end of this process, though, is a single grain of sand, and, as we said at the beginning, a single grain of sand is obviously not a heap.