Hmm... I learned in a class 0.999999[..] is 1.0 only when both are real numbers , I remember learning proof of that in Real number theory class. Can't remember the proof the professor used, though, but the one above (or the one bellow) works well if you are not wary of working with technically unknown operations in this case (sum of infitine digit numbers? Can you prove if 0.6666.. + 0.000..1 is 0.6666.. or 0.6666..7?).

1/3 = 0.33333..

3 * (1/3) = 3 * 0.33333..

3/3 = 0.99999..

1 = 0.99999..

(10^-n) * 1 = (10^-n) * 0.99999..

QED

If you use sum of infinite series in the proof, you won't need to deal with the uncertainty of the operations with numbers of infinite digits (or rather, you can use the series sum to prove the operations work fine).

Proving the series are right, though, are other

~~infinite~~ steps. But they do.