There is a proof of this that runs like so

First let $x = 0.999...$, the … (triple) dots mean an infinite number of digits of 9s.

Then multiplying both sides by $10$, we get $10x = 9.999...$

Thus solving for $x$, we subtract the first equation from the second getting $(10 - 1) x = 9.999... - 0.999...$

From this we obtain $9x = 9$. This implies $x = 1$. So the proof goes.

My first question is, do people accept this as a valid proof? Apparently lots of mathematicians do. I find it hard to accept this proof. If anything, even if I accept the proof, I can only conclude that the system of real numbers does indeed result in a contradiction! The number $0.999...$ can be subjected to equivocation. That is the problem. It is not obvious that what is meant here is that $0.999… = 3 (0.333…) = 3 (1/3)$. In which case there is not even need for a proof. It is a renaming exercise and no genius needed.

At any rate look at the proposed proof. I am skeptical in the technical sense due to the fact that we are not told what $0.999...$ means. It gives the impression that one starts off with an assumption, $x = 0.999...$, then one derives that $x = 1$. Philosophically as I understand real numbers, 0.999… is never the same as 1.0, the former always falls short from the latter. That is if it is taken as a value. In logical terms in the light of the proposed proof, this means one starts off with an assumption $\phi$ and then from it one arrives at $\neg \phi$. Hence $\phi \vdash \neg \phi$, implying that $\vdash \phi \to \neg \phi$. However, IMHO, this is a contradiction.

If anything, the proof system allows for a contradiction and that is not cool.

OK, not convinced of my objection? Would you then accept that $0 = 0.000...$?