Cantor set

First of all C0 is a subset of the closed unit interval [0, 1] = {x: 0≤x≤1}. C0 is what’s left over after removal of a sequence of open subintervals of [0, 1]. The algorithm is as follows:

1. Divide the remaining intervals each into three equal parts.
2. Remove the open middle interval.
3. Repeat 1.

Thus first we remove the interval (1/3,2/3). This leaves a union of two closed intervals: [0,1/3]U[2/3,1]. I’ll call the removed interval d1,1. Next we split each of the remaining intervals [0,1/3] and [2/3,1] into three smaller ones and remove the middle part d2,1 = (1/9,2/9) from the first and d2,2 = (7/9,8/9) from the second, respectively. We are left with the union of four intervals: [0,1/9]U[2/9,1/3]U[2/3,7/9]U[8/9,1].

Observe that we started with the interval [0, 1] of length 1. After removing d1,1, the total length of the remaining intervals became 2/3. d2,1 and d2,2 totaled 1/3 of this. So after their removal, the four remaining intervals had the total length of (2/3)2. Next we remove 4 middle intervals d3,1,…,d3,4 leaving 8 smaller (closed) intervals with the total length of (2/3)3. The process never stops. In general, on the step number p we remove 2p-1 intervals dp,1,…,dp,2p-1.

The total length of the remaining intervals is (2/3)p. Obviously, as p grows, the length (2/3)p tends to 0. However, this does not mean that C0 is empty. Moreover, the set is not even countable. The most convenient way to see this is by using ternary representation of the decimals from [0, 1]. In the ternary system the only digits allowed are 0,1, and 2.

For example (1/3)10 = (0.1)3, (2/3)10 = (0.2)3, (1/9)10 = (0.01)3, (2/9)10 = (0.02)3, (7/9)10 = (0.21)3, and (8/9)10 = (0.22)3. It’s important to note that the points inside the interval (1/3,2/3) all have the first digit equal to 1. The only other point with this feature is 1/3.

However, 1/3 can also be written as 0.022222…. Therefore, if we adopt the convention of replacing ternary representations that end with 1000… with those that end with 0222…, we can say that on the first step all the decimals whose ternary representation started with 1 have been removed. Similarly, on the second step we removed all the decimals (among the remaining ones) whose second digit was 1.

On the third step the numbers with the third digit equal 1 have been removed. And so on. On the other hand, numbers in [0, 1] whose ternary representation contains no 1’s will be left over even after an infinite number of steps. The conclusion is that C0 = {x: x = (0.a1a2a3…)3, where each ai = 0 or 2}. Applying the diagonal process we immediately see that C0 is not countable.

Thus, this is the Cantor set C0 which has many remarkable properties. For example, the Cantor set has no isolated points. In other words, every neighborhood of every point in C0 contains infinitely many other points from C0. (A point of a set is isolated if in some of its neighborhoods there are no other points from that set.)

1/4 C0. Indeed, (0.25)10 = (0.020202…)3. Similarly, since (0.75)10 = (0.202020…)3, 3/4 C0. The reciprocal of 13 also happens to be sufficiently “lucky” to be a member of C0: 1/13 = (0.002002002…)3.