# Thread: An old topic revisited

1. ## An old topic revisited

Please don't everyone look away when they see this thread is about the old subject of whether 1 = 0.999... or not, I have a some more light to shed on the subject.

It relates to an argument that Guv posted in a previous discussion on this subject.

Basically, Guv demonstrated a real number that was greater than 0.999... but less than 1 using hexidecimal notation. which basically evaulates to 0.FFF...

Most people were not conviced because they said that these two numbers both converged on the limit of 1 therefore they were the same.

But, if a similar argument is constructed using base20 notation (0 through J), it's self-evidency becomes clearer:

If I were to convert (base10)0.999... to base20, what would we have?

Code:
```0.999...(Base10) =

(Base10)     0.9      +     0.09   +   0.009         ....

=              18/20   +   18/200  +    18/2000  ....

(Base20)     0.i       +     0.0i     +  0.00i           ....

= 0.iii...(Base20)```
But, since o.iii...(base20) must be less than o.jjj...(base20), we have therefore proved that there is a real number (that can't be represented in base10) that is greater than 0.999...(base10) but smaller than 1.

Is this valid?  Reply With Quote

2. Actually you've provided the first half of a very nice proof that 0.999 in base 10 is equal to 0.jjjjjj... in base 20. You just got some sums wrong.

Code:
```0.999...(Base10) =

(Base10)     0.9      +     0.09   +   0.009         ....

=              18/20   +   36/400  +    72/8000  ....

(Base20)     0.i       +     0.1g     +  0.03c           ....

= 0.jjjjj...(Base20)```

because 0.01 in base 20 is 1/400 (1/20 of 0.1 in base 20)  Reply With Quote

3. Again, let the record show that I hate discussions of transfinite numbers and infinity. The subject matter always confuses me, and I am never sure that I have it right.

You folks are going to unnecessary trouble to convert recurring .99999 from radix ten to radix twenty. To convert fractional values multiply by the new radix value using old radix arithmetic, and use the integer part as the next digit in the new notation. For recurring .999999 it works as follows.

20 * .999. . . = 19.999. . . implying that 19 is first digit in radix 20 notation. Remove the integer part of the product and multiply again.

20 * .999. . . = 19.999... implying that 19 is the second digit.

Keep it up and you have recurring .99999 (radix ten) = recurring .jjjjjj (radix twenty).

Unfortunately this is not the end of the problem.
• Recurring .jjjjj (radix twenty) = limit(19/20 + 19/20^2 + 19/20^3 . . . +19/20^n
• Recurring .9999 (radix ten) = limit(9/10 + 9/100 + 9/1000 . . . + 9/10^n
As n grows without bound, the sum of each series appoaches one, but the sum of the first series is always greater than the sum of the second.

Note that infinity is always avoided in formal definitions of limits. Phrases like grows without bound are always used.

For every finite value of n, the first series is larger that the second. What happens when n is infinity is beyond our comprehension. While both series have the same limit, it is not valid to claim that the series are equal to each other. There are other pairs of series which converge to the same limit. For example, consider the following.

1/3 + 1/9 + 1/27 . . . + 1/3^n

1 - 1/3 - 1/9 - 1/27 . . . -1/3^n

Both of the above converge to ½: One from below and one from above. Are the sums ever equal? How could they be, when one sum is always less that ½ and the other is always greater than ½? Again, what happens in the never never land of infinity is beyond our comprehension. I find it hard to believe that the sums are ever equal, since they are always on opposite sides of 1/2. Yet it does not seem incorrect to claim that they are different when they both approach the same limit. In theory, it is invalid to equate the two series. In practice, your arithmetic results will not be far off if you treat them as equal. This is generally the case when considering a series with a finite limit.

Concepts like the above are confusing, and I never feel comfortable with the results.

Our computers are hard wired for the precision provided by 64-bit Doubles. They actually squeeze an extra bit of precision by not recording a bit known to always be one. You can program extra precision arithmetic, but try for 1,000,000 bit precision and you will wait a long time to get any usable results. You might have trouble convincing yourself that the program has no bugs. Test data will be tuff to work with.

Our brains are hard wired to deal with small finite numbers. They do not work well when trying to understand limits, infinity, and transfinite numbers. I think I grok series with finite limits until something like the above rears its ugly head. I never think that I grok transfinite numbers.  Reply With Quote

4. I don't think anyone will ever understand transfinite numbers, mathematicians just learn to accept the axioms and understand their implications. What happens is that when you first learn the rules of transfinite numbers you are shocked and appalled and spend every waking minute trying to find a hole in the argument or a counter-example, then eventually an internal switch flicks and you give up, the part of your brain that's challenging them just gives up the ghost and moves on. That's what happened to me anyway. If that part of your brain has more stamina, or if you realise consciously that there's no point thinking about it then that switch never flicks and you never have the begrudging acceptance of them.

In any case this isn't a topic that actually needs limits or transfinite numbers, it's more concerned with bounds.

Decimal notation isn't very good at representing rational numbers, it's not what it was designed for, It's a way of representing ordered pair of 1 integer and 1 natural number (including 0) where (a,b) is equivalent to the rational number a / (10^b)

When recursive decimals were introduced, the definition was extended to allow for all rational numbers.

If we use the notation Rec(D,N) to represent the string formed by appending the infinite string formed by repeating the decimal string for a Natural number N indefinitely to the string for a non-recurring decimal D (Equivalent to the ordered pair (a,b) as above) (Inserting a decimal point between the 2 strings if D is an integer we can define :

Rec(D,N) is equivalent to the natural number and hence 0.999... = 9 / (10 - 1) = 1

Problem solved.

Unfortunately, arithmetic is so intertwined with these decimal strings that most people do not separate the concepts of a number and the decimal string that repents it, nor the arithmetical operations and the recursive string manipulation algorithms that go with them. Hence as soon as the square root or pi is introduced irrational numbers get forced into decimal notation, and infinite non repeating strings of numbers are confused with the well defined concept of a real number.

The concept of a real number, although well defined, is fairly complicated. It is defined as a sequence of rational numbers x, which converges at a certain rate.

Specifically it must satisfy this property.

| x(n)  x(m) | <= (1/n) + (1/m) ( <= Means less than or equal to)

for all natural numbers m and n

We also introduce an equivalence relation.

We say that x = y if and only if

| x(n)  y(n) | <= (2/n) for all natural n > 0

Its fairly easy to show that this is an equivalence relation, i.e. it divides up the real numbers into classes, all of which can be thought of as converging to the same limit.
This is neither an official definition nor a meaningful statement, but it helps clarify what the equivalence classes are.

So we have defined real numbers as a class of convergent sequences, and we have defined an equivalence relation = that states some pairs of real numbers are equal. There are also well-defined addition, multiplication and inversion operations, which I shant go into.

Thats the official definition of real numbers, I shall try to reconcile this with the decimal strings.

If we define R(S) as the real number equivalent of a decimal string S, By taking R(S,0) to be the integer part of the string, and R(S,n) to be the rational number equivalent of the string formed by removing all the digits after the nth decimal place.

For example if PI is the decimal string representing pi, R(PI) would be as follows.

{(3/1), (31/10), (314/100), (31415/1000), ..}

The proof that this is a real number for any decimal string shall be left as an exercise (Which is maths for I cant be bothered)

So We have are 2 decimal strings 0.99 and 1

R(1) = {(1/1),(1/1),(1/1),..}
R(0.99) = {(0/1), (9/10), (99/100), (999/1000), }

So
R(1,n) = 1
R(0.999, n) = 1  (1/10^n)

| R(1,n)  R(0.999,n) | = (1/10^n) < 2/n for all natural n > 0  Reply With Quote

5. Forgot to attatch  Reply With Quote

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•