When we start looking at fields, there are a collection
of properties that are interesting. The simplest one – and
the one which explains the property of the nimbers that
makes them so strange – is called the
characteristic of the field. (In fact, the
characteristic isn’t just defined for fields – it’s defined
for rings as well.)
Given a field F, where 0F is the additive
identity, and 1F is the multiplicative identity,
the characteristic of the field is 0 if and only if no
sequence of adding 1F to itself will ever result
in 0F; otherwise, the characteristic is the
number of 1Fs you need to add together to get
That sounds confusing – but it really isn’t. It’s just
hard to write in natural language. A couple of examples will
make it clear.
The field of nimbers has characteristic two – because
1+1=0 in the nimbers – so adding to 1s together gives you
The field of numbers modulo-7 is a nice simple field,
with characteristic 7: in mod-7, you need to add 1+1=2;
2+1=3; 3+1=4; 4+1=5; 5+1=6; 6+1=0. So 1+1+1+1+1+1+1=0.
The real numbers have characteristic 0, because adding
one repeatedly will never give you 0. In fact, the
characteristic is 0 for any ordered field O – that
is, a field with a properly defined “<” operator (one
where ∀x∈O, ∃y∈O : x<y ∧
∃z∈0 : z<y, and < is total, transitive,
antisymmetric, and antireflexive).
See? Not hard, right?
What makes nimbers so strange is that they’re an
infinite set with characteristic two. Our intuitions about
numbers all rely on the structure of an infinite set with
characteristic 0. All of the strange properties of nimbers
can be traced back to the fact that their basic structure is
strange; and the root of that strangeness always traces back
to the field characteristic.
There’s an interesting notion also associated with the
characteristic of a field. Like groups could have
sub-groups, fields can have sub-fields: a sub-field of a
field (F,+,×) is a field (G,+,×) where G⊆F.
For every field, there is a minimal subfield – a field where
removing any elements would require removing 1 to maintain
closure. The minimal subfield of a field, F, is called the
prime subfield of F.
Here’s where we get something fascinating. There are
numerous limits to the kinds of structures that can fulfill
the field axioms to become proper fields. One of the amazing
ones (at least to me) is that every field has either
characteristic 0 (in which case it’s isomorphic to a
sub-field of the complex numbers), or it has a
prime characteristic, and it’s prime subfield is
isomorphic to a finite field whose size equals it’s
What does this tell us? Well, looking at it
philosophically, it means that the prime numbers are very
deeply embedded in the structure of algebra. Even if we
throw away our standard number system and go into the realm
of the abstract, the numbers that are prime in the basic set
of natural numbers remain fundamental. Both the concept and
the specific values of the prime numbers are deeply embedded
all the way down in the foundations of what we know as
mathematics. Even when we start from scratch, with abstract
sets, and build upwards into mathematical structures, when
we get to the point where we can build things that behave
even just a little bit like numbers, the prime numbers are
inevitable – even though they aren’t necessarily prime in
After all, think about the nimbers! The number 11 for example, is clearly prime in the natural numbers. But in nimbers, it’s 8×4: and yet, even if we play with the nimbers, we’ll wind up finding out that 11 is prime.
Incidentally, I’m still trying to hack together an implementation of the nimbers. As one of the commenters (Xanthir?) mentioned, it’s hard to get them right, and I haven’t had much free time to try it. I’ve got a bunch of Scheme code that’s close, but it’s still got one recursive case that never terminates. Nimbers are truly annoying.