Gottlob Frege's definition of 0 in In λ-notation is 0 = #[λx x≠x].

In words it means 0 is the number of the property of x such that x is not self identical (# signifies 'number', [] 'property', λx 'x such that', and x≠x is the condition).

Please see Proof of Lemma Concerning Zero at plato.stanford.edu/entries/frege-theorem/proof4.html

The theory relies on the belief that there are no instances of x such that x≠x. Hence Frege claims 0 represents zero, i.e. nothingness.

First, examine what x is with fine scrutiny.

In logic there are various types of x. I attempt to list them all in the table below. The degree of binding increases downwards:-

Code:`TYPE of x VALUES(s) of x CONDITION`

free variable undefined value definable but not defined yet

bound variable uncountable e.g. natural numbers. 1,2,3,4,....

bound variable multi-value e.g. value of x is 3 or 7. 3,7.

bound constant single value e.g. value of x is 5.

bound symbol undefinable x cannot have a value

The least bound case is with undefined value and the most bound case is with undefinable value.

One way to understand this is using a computational view. A computer variable has a name (x say) which is stored as a character symbol in a lookup table with its associated value location. This is called a 'name value pair'. On declaration of x the value can be undefined but the location still exists. In this case x is a free variable. It is perfectly possible to have a lookup table where the value location can be removed completely from association with x. In this case the table contains x as a symbol only, with undefinable value. x is as bound as it can possibly be without the possibility of even having a value.

It is important to also distinguish between x the symbol alone, x the symbol with value, and the value alone. They are three different meanings. x is not a value, it is a symbol, or a symbol with a value.

Now take say λx x=3, what is the meaning of the x's in this? You might say x such that x is 3. But the precise meaning is x such that the value of x is 3. If the whole x (symbol and value) IS 3, then λx x=3 would become just '3', and not 'x with value of 3'. So it should be written:-

λx valueOf(x)=3

The x in λx refers to the whole x, i.e. symbol x, or symbol x with associated value.

In the same way λx x≠x really means:-

λx valueOf(x)≠valueOf(x).

x cannot have a value and satisfy that inequality. So the only x which might satisfy it is the lowest type from the table, a bound symbol prohibited from having a value.

Since x cannot have a value, x as a bound symbol must satisfy all conditions using values because the condition test does not relate to x. x is independent of the condition. All that could matter is whether the condition is contradictory or not.

If contradictory it still doesn't affect x but could render the λ expression invalid. The result of the λ expression is either x or invalid.

If non-contradictory, the result of the λ expression is just x.

Therefore there are only two possible conclusions:-

0 = #[x the symbol alone, which cannot have a value]

0 = #[invalid]

Neither of these two cases define 0 as zero (nothingness). Frege's definition of 0 is incorrect.

This highlights the problem of defining 0 in general. Similar reasoning should also disprove all other attempts, such as the definition of the empty set in set theory.

An informal proof of the general case is as follows:-

If nothingness were a definable concept then it would be a concept, and any concept is something, at the very minimum some brain signals. If nothingness were a definable thing, then it would be something.

Nothingness must therefore be an illusion.

Having 0 as a placeholder in our decimal system since around 500 AD was the foundation for its general acceptance in mathematics. However, as a placeholder it does not signify nothingness and James E Foster has demonstrated a fully functional bijective decimal number system without a zero symbol. See jstor.org/stable/3029479. This could even be a better system because each number maps 1 to 1 with the unique character string representing it. With 0 this is not the case, e.g. 0023 and 023 both map to 23.

0 cannot be nothingness. The wording 'there are 0 apples in a box' is misleading because there cannot 'be' 0 apples as there is not anything there to 'be'. 0 cannot be an amount nor a quantity nor a number. If anything it is the failure of detection of something, and that is a logical result, not a number. Maybe 0 could be defined as not(1), with interpretation '1 was undetected' rather than 'anything but 1'.