We’re going to arrange the positive rational numbers in a
list that begins like this :

Some of the interesting features of this list are

1. The denominator of each fraction is the numerator of the next one. That means
that the

nth rational number in the list looks like f(n)/f(n+1) (n = 0, 1, 2, . . .),
where f is a certain

function of the nonnegative integers whose values are

2. The function values f(n) actually count something nice.
In fact, f(n) is the number of

ways of writing the integer n as a sum of powers of 2, each power being used at
most twice

(i.e., once more than the legal limit for binary expansions). For instance, we
can write

5 = 4 + 1 = 2 + 2 + 1, so there are two such ways to write 5, and therefore f(5)
= 2. Let’s

say that f(n) is the number of hyperbinary representations of the integer n.

3. Consecutive values of this function f are always relatively prime, so that
each rational occurs

in reduced form when it occurs.

4. Every positive rational occurs once and only once in this list.

Figure 1: The tree of fractions

**1 The tree of fractions**

For the moment, let’s forget about enumeration, and just imagine that fractions
grow on the tree

that is completely described, inductively, by the following two rules:

• ( the root ) is at the top of the tree, and

• Each vertex has two children: its left
child is and its right child is
.

We show the following properties of this tree .

1. The numerator and denominator at each vertex are relatively prime. This is
certainly true at

the top vertex. Otherwise, suppose r/s be a vertex on the highest possible level
of the tree

for which this is false. If r/s is a left child, then its parent is r/(s − r),
which would clearly

also not be a reduced fraction, and would be on a higher level, a contradiction.
If r/s is a

right child, then its parent is (r − s)/s, which leads to the same
contradiction.

2. Every reduced positive rational number occurs at some vertex. The rational
number 1 certainly

occurs. Otherwise, let r/s be, among all fractions that do not occur, one of
smallest

denominator, and among those the one of smallest numerator. If r > s then
(r−s)/s doesn’t

occur either, else one of its children would be r/s, and its numerator is
smaller, the denominator

being the same, a contradiction. If r < s, then r/(s − r) doesn’t occur either,
else one

of its children would be r/s, and it has a smaller denominator, a contradiction.

3. No reduced positive rational number occurs at more than one vertex. First,
the rational

number 1 occurs only at the top vertex of the tree, for if not, it would be a
child of some

vertex r/s. But the children of r/s are r/(r + s) and (r + s)/s, neither of
which can be 1.

Otherwise, among all reduced rationals that occur more than once, let r/s have
the smallest

denominator, and among these, the smallest numerator. If r < s then r/s is a
left child of

two distinct vertices, at both of which r/(s − r) lives, contradicting the
minimality of the

denominator. Similarly if r > s.

It follows that a list of all positive rational numbers, each appearing once and
only once, can be

made by writing down 1/1, then the fractions on the level just below the top of
the tree, reading

from left to right, then the fractions on the next level down, reading from left
to right, etc.

We claim that if that be done, then the denominator of each fraction is the
numerator of its

successor. This is clear if the fraction is a left child and its successor is
the right child, of the same

parent. If the fraction is a right child then its denominator is the same as the
denominator of its

parent and the numerator of its successor is the same as the numerator of the
parent of its successor,

hence the result follows by downward induction on the levels of the tree.
Finally, the rightmost

vertex of each row has denominator 1, as does the leftmost vertex of the next
row, proving the

claim.

Thus, after we make a single sequence of the rationals by reading the successive
rows of the tree

as described above, the list will be in the form
, for some f.

Now, as the fractions sit in the tree, the two children of f(n)/f(n+1) are
f(2n+1)/f(2n+2)

and f(2n + 2)/f(2n + 3). Hence from the rule of construction of the children of
a parent, it must

be that

f(2n + 1) = f(n) and f(2n + 2) = f(n) + f(n + 1) (n = 0, 1, 2, . . .).

These recurrences evidently determine our function f on all nonnegative
integers.

We claim that f(n) = b(n), the number of hyperbinary representations of n, for
all n ≥ 0.

This is true for n = 0, and suppose true for all integers ≤ 2n. Now
b(2n+1) = b(n), because if

we are given a hyperbinary expansion of 2n+1, the “1” must appear, hence by
subtracting 1 from

both sides and dividing by 2, we’ll get a hyperbinary representation of n.
Conversely, if we have

such an expansion of n, then double each part and add a 1, to obtain a
representation of 2n + 1.

Furthermore, b(2n + 2) = b(n) + b(n + 1), for a hyperbinary expansion of 2n + 2
might have

either two 1’s or no 1’s in it. If it has two 1’s, then by deleting them and
dividing by 2 we’ll get an

expansion of n. If it has no 1’s, then we just divide by 2 to get an expansion
of n+1. These maps

are reversible, proving the claim.

It follows that b(n) and f(n) satisfy the same recurrence formulas and take the
same initial

values, hence they agree for all nonnegative integers. We state the final result
as follows.

**Theorem 1 **The nth rational number, in reduced form,
can be taken to be b(n)/b(n + 1), where

b(n) is the number of hyperbinary representations of the integer n, for n = 0,
1, 2, . . .. That is, b(n)

and b(n + 1) are relatively prime, and each positive reduced rational number
occurs once and only

once in the list b(0)/b(1), b(1)/b(2), . . ..

**2 Remarks**

There is a large literature on the closely related subject of Stern-Brocot trees
[Ste, Bro]. In particular,

an excellent introduction is in [GKP], and the relationship between these trees
and hyperbinary

partitions is explored in [Rez]. In Stern’s original paper [Ste] of 1858 there
is a structure that is essentially

our tree of fractions, though in a different garb , and he proved that every
rational number

occurs once and only once, in reduced form. However Stern did not deal with the
partition function

b(n). Reznick [Rez] studied restricted binary partition functions and observed
their relationship to

Stern’s sequence. Nonetheless it seemed to us worthwhile to draw these two
aspects together and

explicitly note that the ratios of successive values of the partition function
b(n) run through all of

the rationals.