It's not about the heap or the grains, those are just part of the example given.
The paradox is about vagueness in language.
In the example, "heap" in the sense of "a lot of grains" is vague as it doesn't set exact numbers, because usually heap is not defined as "two or more" or "between 13 and 25000", but just "a lot of".
That's fine for most usage scenarios of heap, but not sufficient when it comes to performing arithmetic on its elements. Arithmetic as an "exact" operation requires an exact definition of its predicates. In other words, I can subtract 5 from 279 but I shouldn't attempt to subtract 5 from "a large number" and expect to get a meaningful answer.
I would attempt a simple "proof": When you add something to a large number, you get an even larger number - right?
I) "Large Number" + 5 = "Even larger Number"
II) "Large Number" + 20 = "Even larger Number"
Subtract Equation I from Equation II:
"Large Number" + 20 - ("Large Number" + 5) = "Even larger Number" - "Even larger Number"
Result: 15=0 Hence the paradox.
What seems to work fine in language, doesn't work mathematically when you look too closely due to the non-exactness of the components/definitions because the "in-exactness" of the definition can hide a small number or detail.
I can think of a number of real life applications of this:
In computers (or calculators) depending on the actual representation of a number (for example as type "real") it is possible to have an actual number (e.g. 1.2345e765) and add 1. The result is the same as the original number because the representation is too imprecise to cover the full span between 1 (which is 1.0e0) and 1.2345e765. Therefore if I do this:
1.2345e765 + 1.0e0 - 1.2345e765 the result is 0, which is of course mathematically wrong despite the fact that the computer or calculator didn't technically make a mistake. Paradox.
One of my professors (physics, a "large number" of years ago), would harshly reprimand us if we used numbers without units. E.g. "15" instead of "15 km". To him that was rendering the number meaningless and hence wrong even if we had the correct numerical value. NASA I believe ran into that problem when they miscalculated some trajectories wrongly due to mix ups in units, miles/km and such. Specifically this can trigger misunderstandings and errors like "Megawatts" versus "Gigawatts" and the like, where potentially large exponents hide in the units instead of the numerical value. Often entire industries use units to which many members of that industry don't know the exact definition, for example "micron" and "mil".
When Clinton defended himself "I did not have sex with that woman" he artificially interpreted "sex" as purely "intercourse" and therefore the "bj" wouldn't apply. Of course, he kept that definition to himself knowing full well that most of society would interpret "sex" to include "bj". He thus made a claim which he understood to be interpreted by most people as "nothing happened" while in case his true action was proven, he could claim to not having lied (according to HIS definition).
Granted, the last two examples might be viewed a little far-fetched for the question, but my point is that the paradox in question triggers when "details hidden by specific vagueness of predicates" become relevant.
decision procedure
that is able todeem
whether or not something is a pile. A lot is hidden here as well:Therefore it has a least element. Therefore, no matter how you define a "pile" of sand, there is a well defined positive minimum number of grains a collection of sand has to have in order to constitute a pile.