Trying another approach
0.9999...
equals
.9*(1) + .9*(.1) + .9*(.01) + .9*(.001) +...
equals
.9*(.1)**0 + .9*(.1)**1 + .9*(.1)**2 + .9*(.1)**3 +...
which is an infinite geometric series.
a geometric series has the form
ar**0 + ar**1 + ar**2 + ... + ar**(n-1)
the sum of which, for any finite n, equals a(1 - r**n) / (1 - r)
if -1 < r < 1 and we let n go to infinity, then r**n goes to 0 and the sum is
a / (1 - r)
in our .9999... case we have
a = 0.9, r = 0.1, and n => infinity
therefore the sum
.9*(.1)**0 + .9*(.1)**1 + .9*(.1)**2 + .9*(.1)**3 +...
equals
0.9 / (1 - 0.1) = 0.9/0.9 = 1
Surely that is the same as my approach, except that it is a much longer way of expressing the same idea?