In his brilliant post (read it!), Ben Orlin introduced Kaufman decimals as follows, if

**0.(4) = 0.444444444444444444444444444444444444444**....,

is a number where the fourths go on forever, then

**0.(4)1 = 0.44444444444444444444444444444444444444....1**,

is a number where the fourths go on forever

and, afterwards, there’s a one.

Imagine writing the number

**0.(4)1 **into a grid. You fill the first line with fourths and then write "1" into the second line like this

Obviously,

**0.(4) **equals

**0.(44)** or

**0.(444)** (=one line of 4s) but not

**0.(4)(4) **(=two lines of 4s). For complex decimals with repetitions of repetitions, like

**0.(1(2(3)))((4))56**, you need N-dimensional grid, but the principle is analogous.

Ben asked the question whether Kaufman decimals can be totally ordered. Sure - just look for the first digit that differs. To do this precisely, one needs ordinal indices - Mariano Chouza provides a

proof on his blog. It has been a long time since I have seen a set-theory stuff like this. I more or less guess than really understand it but the main idea is easy to comprehend.

So, how to compare Kaufman decimals on a computer? Jeff Kaufman upload

some Python code to Github that is not really working (0.(81)>0.89 and other issues). I cloned his project and here is

my own attempt:

- The first difference matters. So I implemented "split" function that returns the first omega^k digits (k=0 one digit, k=1 a line, k=2 plane, ...) and the rest of the number
- I start from the beginning, a comparison of
**0.(4715)** and **0.471548** goes like this:
**0.(4715) = ****0.4(7154) **has the same first digit as** ****0.471548, **cut it off from both
**0.(7154) = ****0.7(1547) **** **has the same first digit as **0.71548, **cut it off
**0.(1547) = ****0.1(5471) **** **has the same first digit as **0.1548, **cut it off
**0.(5471) = ****0.5(4715) **** **has the same first digit as **0.548, **cut it off
**0.(4715) = ****0.4(7154)** ** **has the same first digit as **0.48, **cut it off
**0.(7154) = ****0.7(7154)** ** **has the same first digit lower in to** ****0.8, so ****0.(4715) **<** ****0.471548**

- The situation might be simply more complicated inside the repetition, say
**0.47(4747)8** and **0.(474747)8**, then it goes like this:
**0.(474747)8 = ****0.4(****747474**)8 has the same first digit as** ****0.47(4747)8**, cut it off from both
**0.(747474)8 **= **0.7(474747)8 **** **has the same first digit as **0.****7(4747)8**, cut it off
**0.(474747)**** **and** 0.****(4747) **are both one line numbers (same order of infinity), compare them
- the first digits equal, cut it off
- the second digits equal, cut it off
**hey, **I was in this comparison before, so **0.(474747)**** **=** 0.****(4747)**

**0.8 = 0.8, hence ****0.47(4747)8** = **0.(474747)8**

Most likely, it is not good for anything practical but it brought me back to the good old high school years (and first years at the university), i.e. my algebraic era. And now, back to statistics...