Disproving two decimal representation rebuttal of Cantor's Diagonal Argument A question in my book has asked me the following:

A few numbers have two difference decimal representations. Specifically, any decimal expansion that terminates can also be written with repeating 9's. For instance, $\frac{1}{2}$ can be written $.499999...$ or $0.5$ - doesn't this cause some problems?

I understand now that $.999999.... = 1$ because of the definition of a supremum on the set of $\{0.9, 0.99, 0.999, ...\}$ (the set of all decimal expansions of $0.9$). If there was a number smaller than 1 greater than this set - it would be that number.
However, in Cantor's Diagonalization Argument the assumption is that there is some $f: \mathbb{N} -> (0, 1)$, which is disproved by contradiction.
In this case, if we operate under that assumption, then each further decimal expansion of $0.9$ would be granted it's own natural number. So it wouldn't cause any problems with this proof under the assumption $f: \mathbb{N} -> (0, 1)$. 
There would not be an assumption of $0.999999... = 1$ because even though the supremum of $(0, 1)$ is 1, there is not a $1$ in this set (otherwise it would be $(0, 1]$), and so it wouldn't be possible to consider any decimal expansion of $0.9$ equal to $1$ in the set $(0, 1)$ even though we get infinitely close to it.
Is this the correct line of thinking? To be honest I'm still wrapping my head around $0.99999... = 1$ so this threw me for a loop. 
 A: Simply restrict to a unique representation for each real number.  Don't allow any infinite sequence of $9$'s to occur, say.
Then proceed with the argument.  
A: Let's think it through.
Suppose you have an $f: \mathbb N\to (0,1)$.  (By the way, that isn't a contradiction if we don't assume $f$ is surjective.  We aren't trying to find a contradiction.  We are simply trying to find an $x \in (0, 1)$ so that there if no $n$ so that $f(n) = x$.)
We take a number so that $k$th digit of $x$ is not the $k$th digit of $f(k)$.  The idea being that $x$ will have a different integer from every output of $f$ and therefore is inequal to every output of $f$.
Now you are wondering what happens if our algorithm to find the $k$th digit of $x$ will yield an infinite number of $9$s and that this number is equal to some $f(n)$ that actually had an infinite number of $0$s.
Well.... then simply don't replace $0$ with $9$.  Replace $0$ with $8$, say, and $9$ with $7$ and so on.  
Let's say our $x$ has a trailing bunch of $9$ starting in the $k$ position.  But $x = f(n)$ which has a trailing bunch of $0$ at and beyond the $k$th position.  Well $n < k$ because if $n\ge k$ then the $n$th digit of $x$ is $9$ so the $n$th position of $f(n) \ne 0$ which contradicts the nature of dual representations (a trailing $9$ is in the position of a trailing $0$).  But if $n<k$ then the $n$the digit of $x$ is before the trailing $9$s.  So that means if $x=f(n)$ and the $n$th digit of both of those representations are before the repeating $9$s then the $n$th digit of $f(n)$ and the $n$th digit of $x$ are the same.  But we selected $x$ so that would not be possible.
====
Perhaps a blunt way of doing this is to create $x$ by saying if the $n$th digit of $f(n)$ is not $7$ then then $n$th digit of $x$ is $7$.  And if the $n$th digit of $f(n)$ is $7$ then the $n$th digit of $x$ is $6$.
Then $x$ will only have $6$s and $7$s in its decimal representations and there is no dual representation possible for $x$.  So it will not be possible for $x$ to be equal to $f(n)$ for some $n$ in a different representation.
A: What is usually presented as Cantor's diagonal argument, is not what Cantor argued. (See http://www.logicmuseum.com/cantor/diagarg.htm).
The most glaring misrepresentation is that it used real numbers. It intentionally did not. The set it used was the set of all infinite-length strings made of two characters. However, with Chris Custer's restrictions, it can work with the decimal representations of [0,1). So this misrepresentation is not very critical.
But the next one is. Cantor never assumed he had a surjective function f:N→(0,1). What diagonlaization proves - directly, and not by contradiction - is that any such function cannot be surjective. The contradiction he talked about, was that a listing can't be complete, and non-surjective, at the same time.
