Similarly, 1/3 = 0.3333…
So 3 times 1/3 = 0.9999… but also 3/3 = 1
Another nice one:
Let x = 0.9999… (multiply both sides by 10)
10x = 9.99999… (substitute 0.9999… = x)
10x = 9 + x (subtract x from both sides)
9x = 9 (divide both sides by 9)
x = 1
Not a proof, just wrong. In the "(substitute 0.9999… = x)" step, it was only done to one side, not both (the left side would've become 9.99999), therefore wrong.
As I said, they didn't substitute on both sides, only one, thus breaking the rules around rearranging algebra. Anything you do to one side you have to do to the other.
For any a, b, c, if a = b and b = c, then a = c, right? The transitive property of equality.
For any a, b, x, if a = b, then x + a = x + b. The substitution property.
By combining both of these properties, for any a, b, x, y, if a = b and y = b + x, it follows that b + x = a + x and y = a + x.
In our example, a is x' (notice the ') and b is 0.999… (by definition). y is 10x' and x is 9. Let's fill in the values.
If x' = 0.9999… (true by definition) and 10x = 0.999… + 9 (true by algebraic manipulation), then 0.999… + 9 = x' + 9 and 10x' = x' + 9.
if you are rearranging algebra you have to do the exact same thing on both sides
If you actually change any of the sides. Since, after substitution, the numeric value doesn't change (literally the definition of equality), I don't have to do anything – as I'm not rearranging. I'm merely presenting the same value in an equivalent manner. By contrast, when multiplying both sides by 10, since multiplication by 10 changes the concrete numeric value, I have to do it on both sides to maintain the equality relation (ditto for subtracting x'). But substitution never changes a numeric value – only rearranges what we already know.
(Edit)
Take the following simple system of equations.
5y = 3
x + y = 6
How would you solve it? Here's how I would:
\begin{gather*} %% Ignore the LaTeX boilerplate, just so I could render it
\begin{cases}
y = \frac{3}{5} \\ % Isolate y by dividing both sides by 5
x = 6 - y % Subtract y from both sides
\end{cases} \\
x = 6 - \frac{3}{5} \\ % SUBSTITUTE 3/5 for y
x = 5.4 \\
(x, y) = (5.4, 0.6)
\end{gather*}
No, you haven't shown that, because you haven't shown yet that 9x=9. Welcome to why this doesn't prove anything. You're presuming your result, then using it to "prove" your result.
What we know is that the right hand side is 10 times 0.9999..., so if you want to substitute x=0.99999... into the right hand side, then the right hand side becomes 10x (or 9x+x)... which only shows what we already know - 10x=10x. Welcome to the circularity of what you're trying to achieve. You can't use something you haven't yet proven, to prove something you haven't yet proven.
Nah that explanation is basically using an assumption to prove itself. You need to first prove that 1/3 does in fact equal .3333... which can be done using the 'convoluted' but not so convoluted proof
My degree is in mathematics. This is not how these notations are usually defined rigorously.
The most common way to do it starts from sequences of real numbers, then limits of sequences, then sequences of partial sums, then finally these notations turn out to just represent a special kind of limit of a sequence of partial sums.
If you want a bunch of details on this read further:
A sequence of real numbers can be thought of as an ordered nonterminating list of real numbers. For example: 1, 2, 3, ... or 1/2, 1/3, 1/4, ... or pi, 2, sqrt(2), 1000, 543212345, ... or -1, 1, -1, 1, ... Formally a sequence of real numbers is a function from the natural numbers to the real numbers.
A sequence of partial sums is just a sequence whose terms are defined via finite sums. For example: 1, 1+2, 1+2+3, ... or 1/2, 1/2 + 1/4, 1/2 + 1/4 + 1/8, ... or 1, 1 + 1/2, 1 + 1/2 + 1/3, ... (do you see the pattern for each of these?)
The notion of a limit is sort of technical and can be found rigorously in any calculus book (such as Stewart's Calculus) or any real analysis book (such as Rudin's Principles of Mathematical Analysis) or many places online (such as Paul's Online Math Notes). The main idea though is that sometimes sequences approximate certain values arbitrarily well. For example the sequence 1, 1/2, 1/3, 1/4, ... gets as close to 0 as you like. Notice that no term of this sequence is actually 0. As another example notice the terms of the sequence 9/10, 9/10 + 9/100, 9/10 + 9/100 + 9/1000, ... approximate the value 1 (try it on a calculator).
I want to stop here to make an important distinction. None of the above sequences are real numbers themselves because lists of numbers (or more formally functions from N to R) are not the same thing as individual real numbers.
Continuing with the discussion of sequences approximating numbers, when a sequence, call it A, approximates some number L, we say "A converges". If we want to also specify the particular number that A converges to we say "A converges to L". We give the number L a special name called "the limit of the sequence A".
Notice in particular L is just some special real number. L may or may not be a term of A. We have several examples of sequences above with limits that are not themselves terms of the sequence. The sequence 0, 0, 0, ... has as its limit the number 0 and every term of this sequence is also 0. The sequence 0, 1, 0, 0, ... where only the second term is 1, has limit 0 and some but not all of its terms are 0.
Suppose we define a sequence a1, a2, a3, ... where each of the an numbers is one of the numbers from 0, 1, 2, 3, 4, 5, 6, 7, 8 or 9. It can be shown that any sequence of the form a1/10, a1/10 + a2/100, a1/10 + a2/100 + a3/1000, ... converges (it is too technical for me to show this here but this is explained briefly in Rudin ch 1 or Hrbacek/Jech's Introduction To Set Theory).
As an example if each of the an values is 1 our sequence of partial sums above simplifies to 0.1,0.11,0.111,... if the an sequence is 0, 2, 0, 2, ... our sequence of partial sums is 0.0, 0.02, 0.020, 0.0202, ...
We define the notation 0 . a1 a2 a3 ... to be the limit of the sequence of partial sums a1/10, a1/10 + a2/100, a1/10 + a2/100 + a3/1000, ... where the an values are all chosen as mentioned above. This limit always exists as specified above also.
In particular 0 . a1 a2 a3 ... is just some number and it may or may not be distinct from any term in the sequence of sums we used to define it.
When each of the an values is the same number it is possible to compute this sum explicitly. See here (where a=an, r=1/10 and subtract 1 if necessary to account for the given series having 1 as its first term).
So by definition the particular case where each an is 9 gives us our definition for 0.999...
To recap: the value of 0.999... is essentially just whatever value the (simplified) sequence of partial sums 0.9, 0.99, 0.999, ... converges to. This is not necessarily the value of any one particular term of the sequence. It is the value (informally) that the sequence is approximating. The value that the sequence 0.9, 0.99, 0.999, ... is approximating can be proved to be 1. So 0.999... = 1, essentially by definition.
They don't eventually become 1. Their limit is 1 but none of the terms themselves are 1.
A sequence, its terms and its limit (if it has one) are all different things. The notation 0.999... represents a limit of a particular sequence, not the sequence itself nor the individual terms of the sequence.
For example the sequence 1, 1/2, 1/3, 1/4, ... has terms that get closer and closer to 0, but no term of this sequence is 0 itself.
Look at this graph. If you graph the sequence I just mentioned above and connect each dot you will get the graph shown in this picture (ignoring the portion to the left of x=1).
As you go further and further out along this graph in the positive x direction, the curve that is shown gets closer and closer to the x-axis (where y=0). In a sense the curve is approaching the value y=0. For this curve we could certainly use wordings like "the value the curve approaches" and it would be pretty clear to me and you that we don't mean the values of the curve itself. This is the kind of intuition that we are trying to formalize when we talk about limits (though this example is with a curve rather than a sequence).
Our sequence 0.9, 0.99, 0.999, ... is increasing towards 1 in a similar manner. The notation 0.999... represents the (limit) value this sequence is increasing towards rather than the individual terms of the sequence essentially.
I have been trying to dodge the actual formal definition of the limit of a sequence this whole time since it's sort of technical. If you want you can check it out here though (note that implicitly in this link the sequence terms and limit values should all be real numbers).
Sure, when you start decoupling the numbers from their actual values. The only thing this proves is that the fraction-to-decimal conversion is inaccurate. Your floating points (and for that matter, our mathematical model) don't have enough precision to appropriately model what the value of 7/9 actually is. The variation is negligible though, and that's the core of this, is the variation off what it actually is is so small as to be insignificant and, really undefinable to us - but that doesn't actually matter in practice, so we just ignore it or convert it. But at the end of the day 0.999... does not equal 1. A number which is not 1 is not equal to 1. That would be absurd. We're just bad at converting fractions in our current mathematical understanding.
Edit: wow, this has proven HIGHLY unpopular, probably because it's apparently incorrect. See below for about a dozen people educating me on math I've never heard of. The "intuitive" explanation on the Wikipedia page for this makes zero sense to me largely because I don't understand how and why a repeating decimal can be considered a real number. But I'll leave that to the math nerds and shut my mouth on the subject.
The rigorous explanation for why 0.999...=1 is that 0.999... represents a geometric series of the form 9/10+9/10^2+... by definition, i.e. this is what that notation literally means. The sum of this series follows by taking the limit of the corresponding partial sums of this series (see here) which happens to evaluate to 1 in the particular case of 0.999... this step is by definition of a convergent infinite series.
The only thing this proves is that the fraction-to-decimal conversion is inaccurate.
No number is getting converted, it's the same number in both cases but written in a different representation. 4 is also the same number as IV, no conversion going on it's still the natural number elsewhere written S(S(S(S(Z)))). Also decimal representation isn't inaccurate, it just happens to have multiple valid representations for the same number.
A number which is not 1 is not equal to 1.
Good then that 0.999... and 1 are not numbers, but representations.
If they aren't equal, there should be a number in between that separates them. Between 0.1 and 0.2 i can come up with 0.15. Between 0.1 and 0.15 is 0.125. You can keep going, but if the numbers are equal, there is nothing in between. There's no gap between 0.1 and 0.1, so they are equal.
What number comes between 0.999... and 1?
(I used to think it was imprecise representations too, but this is how it made sense to me :)
My brother. You are scared of infinities. Look up the infinite hotel problem. I will lay it out for you if you are interested.
Image you are incharge of a hotel and it has infinite rooms. Currently your hotel is at full capacity... Meaning all rooms are occupied.
A new guest arrives. What do you do? Surely your hotel is full and you can't take him in... Right?
WRONG!!!
You tell the resident of room 1 to move to room 2, you tell the resident of room 2 to move to room 3 and so on.... You tell the resident of room n to move to room n+1.
Now you have room 1 empty
But sir... How did I create an extra room?
You didn't. The question is the same as asking yourself that is there a number for which n+1 doesn't exist. The answer is no... I can always add 1.
Infinity doesn't behave like other numbers since it isn't technically a number.
So when you write 0.99999.... You are playing with things that aren't normal. Maths has come with fuckall ways to deal with stuff like this.
Well you may say, this is absurd... There is nothing in reality that behaves this way. Well yes and no. You know how the building blocks of our universe obey quantum mechanics? The equations contain lots of infinities but only at intermediate steps. You have to "renormalise" them to make them go away. Nature apparently has infinities but likes to hide the from us.
The infinity problem is so fucked up. You know the reason physics people are unable to quantize gravity? Surely they can do the same thing to gravity as they did to say electromagnetic force? NOPE. Gravitation doesn't normalise. You get left with infinities in your final answer.
Anyways. Keep on learning, the world has a lot of information and it's amazing. And the only thing that makes us human is the ability to learn and grow from it. I wish you all the very best.
But sir… How did I create an extra room? You didn’t.
When Hilbert runs the hotel, sure, ok. Once he sells the whole thing to an ultrafinitist however you suddenly notice that there's a factory there and all the rooms are on rails and infinity means "we have a method to construct arbitrarily more rooms", but they don't exist before a guest arrives to occupy them.
One way to think about this is that we represent numbers in different ways. For example, 1 can be 1.0, or a single hash mark, or a dot, or 1/1, or 10/10. All of them point to some platonic ideal world version of the concept of the number 1.
What we have here is two different representations of the same number that are in a similar representation. 1 and 0.999... both point to the same concept.
I strongly agree with you, and while the people replying aren't wrong, they're arguing for something that I don't think you said.
1/3 ≈ 0.333... in the same way that approximating a circle with polygons of increasing side number has a limit of a circle, but will never yeild a circle with just geometry.
0.999... ≈ 1 in the same way that shuffling infinite people around an infinite hotel leaves infinite free rooms, but if you try to do the paperwork, no one will ever get anywhere.
Decimals require you to check the end of the number to see if you can round up, but there never will be an end. Thus we need higher mathematics to avoid the halting problem. People get taught how decimals work, find this bug, and then instead of being told how decimals are broken, get told how they're wrong for using the tools they've been taught.
If we just accept that decimals fail with infinite steps, the transition to new tools would be so much easier, and reflect the same transition into new tools in other sciences. Like Bohr's Atom, Newton's Gravity, Linnaean Taxonomy, or Comte's Positivism.
Decimals require you to check the end of the number to see if you can round up, but there never will be an end.
The character sequence "0.999..." is finite and you know you can round up because you've got those three dots at the end. I agree that decimals are a shit representation to formalise rational numbers in but it's not like using them causes infinite loops. Unless you insist on writing them, that is. You can compute with infinities just fine as long as you keep them symbolic.
That only breaks down with the reals where equality is fundamentally incomputable. Equality of the rationals and approximate equality of reals is perfectly computable though, the latter meaning that you can get equality to arbitrary, but not actually infinite, precision. You can specify a number of digits you want, you can say "don't take longer than ten seconds to compute", any kind of bound. Once the precision goes down to plank lengths I think any reasonable engineer would build a bridge with it.
...sometimes I do think that all those formalists with all those fancy rules about fancy limits are actually way more confused about infinity than freshman CS students.
Eh, if you need special rules for 0.999... because the special rules for all other repeating decimals failed, I think we should just accept that the system doesn't work here. We can keep using the workaround, but stop telling people they're wrong for using the system correctly.
The deeper understanding of numbers where 0.999... = 1 is obvious needs a foundation of much more advanced math than just decimals, at which point decimals stop being a system and are just a quirky representation.
Saying decimals are a perfect system is the issue I have here, and I don't think this will go away any time soon. Mathematicians like to speak in absolutely terms where everything is either perfect or discarded, yet decimals seem to be too simple and basal to get that treatment. No one seems to be willing to admit the limitations of the system.
Noone in the right state of mind uses decimals as a formalisation of numbers, or as a representation when doing arithmetic.
But the way I learned decimal division and multiplication in primary school actually supported periods. Spotting whether the thing will repeat forever can be done in finite time. Constant time, actually.
The deeper understanding of numbers where 0.999… = 1 is obvious needs a foundation of much more advanced math than just decimals
No. If you can accept that 1/3 is 0.333... then you can multiply both sides by three and accept that 1 is 0.99999.... Primary school kids understand that. It's a bit odd but a necessary consequence if you restrict your notation from supporting an arbitrary division to only divisions by ten. And that doesn't make decimal notation worse than rational notation, or better, it makes it different, rational notation has its own issues like also not having unique forms (2/6 = 1/3) and comparisons (larger/smaller) not being obvious. Various arithmetic on them is also more complicated.
The real take-away is that depending on what you do, one is more convenient than the other. And that's literally all that notation is judged by in maths: Is it convenient, or not.
I never commented on the convenience or usefulness of any method, just tried to explain why so many people get stuck on 0.999... = 1 and are so recalcitrant about it.
If you can accept that 1/3 is 0.333... then you can multiply both sides by three and accept that 1 is 0.99999....
This is a workaround of the decimal flaw using algebraic logic. Trying to hold both systems as fully correct leads to a conflic, and reiterating the algebraic logic (or any other proof) is just restating the problem.
The problem goes away easily once we understand the limits of the decimal system, but we need to state that the system is limited! Otherwise we get conflicting answers and nothing makes sense.
The problem goes away easily once we understand the limits of the decimal system, but we need to state that the system is limited!
But the system is not limited: It has a representation for any rational number. Subjectively you may consider it inelegant, you may consider its use in some area inconvenient, but it is formally correct and complete.
I bet there's systems where rational numbers have unique representations (never looked into it), and I also bet that they're awkward AF to use in practice.
This is a workaround of the decimal flaw using algebraic logic.
The representation has to reflect algebraic logic, otherwise it would indeed be flawed. It's the algebraic relationships that are primary to numbers, not the way in which you happen to put numbers onto paper.
And, honestly, if you can accept that 1/3 == 2/6, what's so surprising about decimal notation having more than one valid representation for one and the same number? If we want our results to look "clean" with rational notation we have to normalise the fraction from 2/6 to 1/3, and if we want them to look "clean" with decimal notation we, well, have to normalise the notation, from 0.999... to 1. Exact same issue in a different system, and noone complains about.
Decimals work fine to represent numbers, it's the decimal system of computing numbers that is flawed. The "carry the 1" system if you prefer. It's how we're taught to add/subtract/multiply/divide numbers first, before we learn algebra and limits.
This is the flawed system, there is no method by which 0.999... can become 1 in here. All the logic for that is algebraic or better.
My issue isn't with 0.999... = 1, nor is it with the inelegance of having multiple represetations of some numbers. My issue lies entirely with people who use algebraic or better logic to fight an elementary arithmetic issue.
People are using the systems they were taught, and those systems are giving an incorrect answer. Instead of telling those people they're wrong, focus on the flaws of the tools they're using.
That does very accurately sum up my understanding of the matter, thanks. I haven't been adding on to any of the other conversation in order to avoid putting my foot in my mouth further, but you've pretty much hit the nail on the head here. And the higher mathematics required to solve this halting problem are beyond me.