# [FOM] numbers are an abstract data type

Randall Holmes holmes at diamond.boisestate.edu
Fri Sep 26 13:59:15 EDT 2003

```Dear FOM colleagues:

Re the recent statements of Slater:

Of course what is really going on is that numbers are an abstract
data type.  We only apply certain operations and predicates to numbers
in practice, and it is generally agreed what the laws are which
govern these operations and predicates.

If we try to apply other predicates or operations to natural numbers,
we end up trying to evaluate statements such as "0 is an element of
1", which will be evaluated in different ways by someone who
implements the natural numbers as von Neumann ordinals (false), in
another way by someone who implements the natural numbers as Frege
natural numbers (true), and in yet another pair of possible ways
(false or error) by someone who maintains that numbers are not sets at
all.

The abstract data type interface for "natural number" does include a
relation to sets -- we can say "the set A has n elements" comfortably.

Our discomfort when faced with "0 is an element of 1" is evidence
that we find ourselves talking about the implementation of an abstract
data type rather than about the abstract data type itself.  Any
theorem about the natural numbers (and other types) which respects
the data type interfaces of all types involved will be accepted
by everyone who understands what the commonly agreed properties of
the natural numbers are (leaving aside constructionist and finitist
objections for the moment).

It isn't true that just any nice sequence of objects "is" the natural
numbers, but it is true that one can be firmly convinced that the natural
numbers are to be identified with a particular sequence S of objects
without this having the slightest effect on one's public assertions
about arithmetic, or even about the number of states in the United
States.

The sense of discomfort we feel about "0 is an element of 1" does not
derive from an unacknowledged intuition that the natural numbers are
not sets; it is derived from awareness that this is not a statement of
the language of arithmetic; we are violating the abstract data type
interface and inquiring about the implementation of some objects of
the type.  We should properly feel just as uncomfortable about the
statement "0 is not an element of 1".  Neither feeling has anything to
do with it being impossible for 0 to belong or not belong to 1: the
issue is that either fact would not be a truth of arithmetic.

Discourse about arithmetic must respect the abstract data type
interface.  We can talk about arithmetic with one another while never
touching on our respective private implementations of the natural
numbers (as sets, classes of possible inscriptions or utterances, or
whatever else).  The whole point of the discipline of arithmetic is
that it doesn't matter what sequence we take to implement N: all such
sequences are isomorphic.

A question we can legitimately ask is "Are there any implementations
of the natural numbers?"  Is there actually any such sequence?  Set
theory can answer this question: it may be possible to prove the
existence of an implementation (depending on one's axioms), and one
might decide to adopt the convention that a certain sequence of sets
"is" the natural numbers.  By doing this, one does not cut oneself off
from the community of users of arithmetic; if one restricts one's
assertions about arithmetic to the generally accepted interface, one
can continue to talk about arithmetic effectively with users of other
set-theoretic implementations and with those with unaccountable
convictions that the natural numbers are not sets at all.

It is entirely harmless to one's mathematics to remain firmly
convinced that the von Neumann natural numbers _are_ the natural
numbers, or that natural numbers are "really" some mysterious other
kind of Platonic object.  One can even believe that each natural
number except 4 is the corresponding von Neumann natural, but 4
is the Great Pyramid of Giza...

It is nonetheless possible to draw the conclusion that the Frege
natural numbers really are the natural numbers.  I don't necessarily
subscribe to this conclusion, because I don't necessarily subscribe
to the premises (but I don't necessarily not subscribe to them either).

Premise 1:  The natural numbers are (individually) properties of finite sets.

Premise 2: (Selected) properties are to be identified with their
extensions (with the set of objects having that property).  There
needs to be a restriction as to which properties have extensions which are
sets, of course, because of the paradoxes of set theory. (of course,
one can only adopt this premise if one always identifies coextensional
properties).

Premise 3:  the finite cardinalities are properties of the kind
whose extensions are sets (the consistency of NFU can serve as a warrant
for the coherence of this view).

Conclusion:  Each natural number n is the set of all sets with n elements.

I can't think of any analogous argument for the reals (I doubt there
is one), because the concept of a real number has no such plausible
simple relationship with the concept of set.

This argument is driven by its identification of (some) properties with
their extensions and the identification of a cardinal number as a property
of sets of that cardinality.  These premises are not assertions of arithmetic
or of set theory (they require one to "look under the hood" of the
data type interfaces for both these concepts).  They are plausible
(serious people have believed one or both of them).

I present this argument as direct evidence that Slater's assertion
that it is obvious that the natural numbers are not sets is false.

I have also said everything I have to say on this subject...

--Randall Holmes

```