The real numbers are probably what you think about when you think about numbers, but what are they? How do we get all those numbers from the ground up?
Von Neumann Ordinals
So we first want to create the naturals (and 0), and our tool to make these? Sets. However, we do have a problem, we don’t have anything to put in our set yet, so lets start by defining 0.
![]()
Now we have our first number defined we can start to inductively define the next numbers, given n, the successor of n, S(n) (Also known as n+1) is defined as
![]()
And now we have defined all the natural numbers! With
![]()
So why do we define it this way?
There are other ways of defining the naturals, one could define
![]()
This type of ordinals are called the Zermelo Ordinals, why are they not used? Well the reason is not that complex, its mostly down to the utility of the Von Neumann Ordinals, With Zermelo Ordinals, the cardinality (the number of elements in the set) is always one, however for Von Neumann Ordinals, the cardinality of a number is the number itself (in the way you’d normally understand it, not from the definition, that would be a bit circular), This means that we can say a set has a cardinality of n if there is a bijection from a set to n.
Now if we repeat the generative process above for all finite sets, this will give you the naturals and 0
(or
We are going to be letting
). Note you can extend these ordinals to transfinite size, this gives us
with cardinality
, which you may have heard of.
Addition and multiplication
Now that we have the naturals (and 0) defined, lets define how to add and multiply numbers, as you’ve seen before we’ve already defined
as
, so now we can inductively define
as
![]()
And now we can work on multiplication, we can also define that inductively with
![]()
With
and ![]()
Now you may wonder why we don’t define subtraction and division yet, they are actually not that bad to define, we just say they are the inverses of addition and subtraction, however we cant define them yet as our current number systems are not closed under them, as
or ![]()
Time to get rational
Now that we have the naturals defined, lets start moving onto the rationals, you may wonder why we are not going onto the integers as they seem like the next step, they can actually be defined now, however the way they are defined is very similar to how we will define the reals from the positive reals later, the working here should not need that much editing to fit it here, but I personally think its nicer to stick with positive numbers (and 0) for now.
To define the rationals we need to first need to understand something called an equivalence class, so lets start there.
Equivalence Relations
We can define a relation
as the subset of a set
, think about it as question that takes in two inputs and gives you true or false about it (whether it is in
or not), we write this as
, pronounced as
relates to
, note that when
we call the relation homogeneous, we shall only use homogeneous relations from now on. One example of a relation would be
on
so we could say
but not
or ![]()
An equivalence relation is a specific type of relation that has various properties, these are
- Reflexive, we can always say

- Symmetric, if we can say
, then we can always say that 
- Transitive, if we can say
and
, then we can always say that 
One example of an equivalence relation is that of birthdays, Clearly you have the same birthday as yourself, so it is reflexive, if you share a birthday with your twin, then your twin shares a birthday with your twin, so it is symmetric, and if your share a birthday with your twin, and your twin shares a birthday with me, then you share a birthday with me, so it is transitive.
Equivalence Classes
Let
be an equivalence relation as defined above, on a set
, lets now define the equivalence class, we define an equivalence class of an element
, written as
and pronounced
bar, is the set of items in
which are equivalent to
, in set notation one may write that as
![]()
Now this does have some nice properties, if
, then
and if
, then
(
is the empty set, also can be written as
). These properties are actually quite nice to prove, and I’d recommend them if you want some simple statements to try and prove.
Using our birthday relation in the previous section, we can view the equivalence classes as the days of the year, as the members of each day would be those who share a birthday, and if two people did not share a birthday, then they would not be in the same class.
These classes are very useful for a lot of definitions, in fact you can define the previous ordinals in terms of these.
Now back to the rationals.
Now that we have equivalence classes defined, we can define the positive rationals, this is done by defining a relation on
buy
if and only if
, Now that’s it, one can prove that this is in fact an equivalence relation (which you may want to try to do).
Now that we have this defined, we can now define the positive rationals as the equivalence classes of this relation. Doing this means that we can say that
and
are equal, so we can say that
, you should note that while writing that I haven’t defined division yet, this however is not a problem, as when I write
, I don’t mean
divided by
, I mean the number
. Knowing this though we can actually define division now, as within the positive rationals, excluding
, we can see that now given any two members of this set, dividing them gives a member of the set, so we can say that the positive rationals (excluding 0) is closed under the rationals.
Time for the positive reals
Now that we positive rationals and 0 defined (call this set
, lets define the positive reals, we do this with something called Cauchy Sequences, there are other ways to define these, another method is called Dedekind Cut’s, however they both have their advantages and disadvantages.
So what is a sequence?
A sequence is a map from the naturals to the desired set, in this case
, one can think of this as a list of numbers in order, for example one sequence could be
![Rendered by QuickLaTeX.com \[\begin{aligned}a_0 &= 3.61231 \\a_1 &= 1.00002 \\a_2 &= 12 \\&\vdots \end{aligned}\]](https://blog.samuelgill.net/wp-content/ql-cache/quicklatex.com-a31885c97ea1087718e3b81cf6f14369_l3.png)
Convergence
Now that we have sequences defined, we need to know what it means for one to converge, so what does that mean? Well a sequence
converges to
if for any distance from the limit
, called
, then there is a point in the sequence,
, such that for all values in the sequence that occur after
, the distance from
to the value is less than
. This can be written formally as
![]()
But you don’t need to know what those symbols mean. Also, a Cauchy Sequence is another kind of sequence however it can be show that a sequence is Cauchy if and only if it is convergent, so we don’t need to bother with Cauchy sequences.
The Positive Reals
Now that we have the idea of a convergent sequence down, we can use this to define the reals, simply, given any sequence of numbers in
that converges to a limit
, then ![]()
For example, we can see that
, as we can see that the sequence
![Rendered by QuickLaTeX.com \[\begin{aligned}a_0 &= 3 \\a_1 &= 3.1 \\a_2 &= 3.14 \\a_3 &= 3.141 \\a_4 &= 3.1415 \\a_5 &= 3.14159 \\&\vdots \end{aligned}\]](https://blog.samuelgill.net/wp-content/ql-cache/quicklatex.com-d9fe3debdb087adecc32d6c642dd94a6_l3.png)
converges to
, so as all the elements of the sequence are rational, the sequence is one of rational numbers, so ![]()
Now lets get Negative
Now that we have the positive rationals and 0, we can complete our number system by getting the negative reals, there are two ways we can do this, we could define another equivalence relation similar to the one we used to define the rationals, or we can construct two new sets one being
, and the other being
, we can define
as the ordered pair
(here 1 is a flag telling us that the number is negative) such that for all
and for all
,
, now we can define a map
from
to
by
, now we can define the full reals as
now we can then define addition, subtraction, multiplication and division piecewise.
For example the negation of an item
can be defined as
![Rendered by QuickLaTeX.com \[-x = \begin{cases} \phi(x) & x\in \mathbb{R}^+ \\\phi^{-1}(x) & x\in \mathbb{R}^- \\0 & x = 0\end{cases}\]](https://blog.samuelgill.net/wp-content/ql-cache/quicklatex.com-6681b36f8776cc3d217a4817ec9f9f1c_l3.png)
This method may seem more complex, but it does help to showcase a principle of the reals called trichotomy, which states that a number is either positive, negative or zero.
One Response
Incredible explanation, thank you!