No flaw, just a little misunderstanding
There is no flaw in our system of arithmetic. The flaw is in the statement of the problem.
Look:
.999=x
10x=9.999
10x - x = 9x
is all very well, but
9x=9 and
1x=1
are wrong.
To see where it goes wrong, write
x = 0.999...9, where the dots in the middle refer to a variable number of decimal places.
If x = 0.999...9
to any number of decimal places you please, then
1x is (obviously) also = 0.999...9
again, to any number of decimal places you please.
Even if the line stretches out the crack of doom like Banquo's heirs in the witches' mirror, this number can never be equal to 1.
Likewise,
9x = 9(0.999...9)
= 8.999...
1
which is definitely not the same number as 9, no matter how many decimal places you care to stretch it out to.
Another, perhaps simpler, way of exposing the flaw in this little arithmetical conundrum is to point out that in your post you treat
x as a
constant of finite value 0.999, when actually it is a variable whose range lies between 0.900...1 and 0.999...9.
Also,
the obvious conclusion in my mind is that you can't substract an infinite number.
A number carried to an infinite number of decimal places is not an infinite number. It may not be accurately expressible in decimal notation (as Pi
and your example, 1/3, are not) but these are still numbers with finite values.