Analytic philosophers and logicist mathematicians have discovered that natural numbers are not necessarily a logical primitive. Perhaps the most successful part of the reduction of mathematics to logic is the reduction of natural numbers to sets. Various philosophers/mathematicians have formulated numbers in different ways:

- 0 = {x: ~(x = x)}
- S(n) = {x: [|x| = S(|y|)] & [y ∈ n]}
- (a = n) ↔ (a ∈ n)

Zero is the set of all things that are not identical with themselves; the empty set (∅). The successor of a number is the set of all sets that have a cardinality one higher than every set in that number. **A number is the set of all sets that have a cardinality of that number (eg: 2 is the set of all sets that have two members).** See also: Zirtix's write-up in logicism.

- 0 = ∅
- S(n) = {n, {n}}
- 1 = {∅}
- 2 = {∅, {∅}}
- 3 = {∅, (∅}, {∅, {&empty}}}
- (a = n) ↔ (|a| = |n|)

Zero is the empty set. **The successor of a number is the set containing that number and all the members of that number.** See also: Gorgonzola's write-up in ordinals.

- 0 = ∅
- S(n) = {n}
- 1 = {∅}
- 2 = {{∅}}
- (a = n) ↔ (n = {
^{a}∅}^{a})

Zero is the empty set. **The successor of a number is the set containing that number.**

If you are choosing a reduction of natural numbers you should keep in mind that equality and cardinality are important relations. Therefore, unless you are both a logicist and a mathematical formalist, Zermelo's formulation is difficult to work with. Contrasting the value between Frege and von Neumann's formulations is beyond the scope of this write-up.

Source: Philosophy of Logic taught by Micheal Newman at Trent University.