Let's be clear -“2” is just a symbol - something I just typed. We’re after what it means.

Suppose I assert that ‘2’ means an object shaped like a snowflake, something asterisk-shaped like this *. Would you believe me? How could you prove I was wrong?

It seems an essential part of being 2 that you are adjacent to 1. So we need more than ‘2’ to define ‘2’. Here is a common way to do it.

We define a set

**N**and a function s which maps elements from

**N**to

**N**(s:

**N**->

**N**). We define an arbitrary object ‘0’. This is not intended eventually to be ‘2’: to the contrary, it’s just any old arbitrary distinguishable object which we intend to call zero.

Then we say

(i). 0 belongs to

**N**

(ii). if x belongs to

**N**, then so does s(X).

So

**N**= {0, s(0), s(s(0)), s(s(s(0))), and so on}.

‘2’ is now defined as s(s(0)) - the entity which is twice removed from zero by the operation of the function ‘s’.

This does not totally solve the problem.

Since there is no restriction on s, it could be the identity function, so that s(x) = x. In this case, the set

**N**collapses to {0} and ‘2’ is simply another name for 0. Somehow I don’t think that’s what most of us mean by ‘2’.

A simple solution is to require that

(iii). for all x, s(x) does not equal x.

**N**then becomes the natural numbers. But perhaps that’s too strong. Suppose we had

(iv). s(s(s(0))) = 0 (or 3=0 in more normal notation)

Then

**N**= just {0, s(0), s(s(0))} and it’s like counting around the corners of a triangle; 0, 1, 2, 0, 1, 2, 0 ...

If you don’t mind your concept of 2 as something which lies between 1 and 0, then that would work just fine. But note that in this case, '2' has no special 'two-like' properties which differentiate it from '0' and '1'. We just have a set with three arbitrary elements.

To make 's(s(o))' more 'two-like' we have to add more relationships which '2' participates in. This may mean defining new operations like addition and multiplication.

So in the end there is no one definite answer. What makes something ‘2’ depends on what you want to do with it, and the web of relationships with other numbers in which it participates.

NOTE: there is an alternative approach from logic rather than algebra, where we define a predicate

**TWO**where

**TWO**(x) is true just when x=2 (more properly, just when x has the property of 'twoness').

The meaning (denotation in the jargon) of

**TWO**is just the collection of all sets with exactly two elements. If you think this has merely pushed the problem back to the mathematicians (or model theorists) you would be right.