Pardon the digression...
The fundamental question is whether 1/3 = .3333....
I should add something to the remarks I made earlier about hyperreal numbers.
If you make .999... the kind of hyperreal that would put it between 1 and any real number smaller than 1, then you should be consistent and make .333... the kind of hyperreal that would put it between 1/3 and any real number less than 1/3.
In other words, you should define .333... as (.3, ,33, .333, ...). It would then be less than 1/3 by an infinitesimal amount.
In hyperreals, you can actually add and subtract infinitesimals just like normal numbers. (1/30, 1/300, 1/3000, ...) is the hyperreal form of an infinitesimal, as is every sequence of reals that approaches zero in the limit.
There is one more thing about hyperreals that ... anyone who cares about them ... should know -- without which you can't really understand how they work. You know that one hyperreal is less than another if all except a finite number of the terms in the sequence of reals that represents the first hyperreal are smaller than the corresponding terms in the sequence of reals that represents the second hyperreal.
So for example (0.9, 0.99, 0.999, ...) < (1, 1, 1, ...),
because 0.9 < 1, 0.99 < 1, 0.999 < 1, etc.
But for any real number x < 1,
(x, x, x, ...) < (0.9, 0.99, 0.999, ...),
because eventually the terms in the second sequence overtake the terms in the first sequence for good
as they rise above x.
So if x were, say, 0.999997, the first five terms in the first sequence would be greater than the corresponding terms in the second. But except for those five, all the terms in the second sequence would be larger than the corresponding terms in the first.
Okay, enough about hyperreals. Back to your regularly scheduled debate...