Regards point 1, I have two thoughts
Firstly, I agree that this browbeating of students until they accept that 0.99… = 1 by definition alone, which requires them to suppress their intuition, is unhelpful and is symptomatic of a problem with the method of teaching, not with the student’s way of thinking, per say.
I think in this situation, we need to find a better way to teach limits, that matches the individual notions of the typical student. Personally, this whole " the sequence approaches but never reaches the limit" approach is wrong and inevitably leads to the cognitive difficulties displayed in the comments of this article.
David Tall mentions drawing of graphs, with pen and paper, exactly as you have done in your article. I’d suggest a sort of simple algorithm for drawing this curve on graph paper with a y-axis a meter high, for the sake of argument. With my pencil, I can specify a point to an accuracy of a millimeter. So I have an error of 0.001 m
Starting my drawing, I draw a continuous curve, with y-co-ordinate increasing from 0.9 m, to 0.99 m and then to 0.999 m. Now, at this last step, where the difference between the limit (1m) and my minimum step size (0.001 m) is equal to my minimum step size, is the last time I can increment my y-co-ordinate.
=>
0.999 m
0.001 m
1.000 m
So I physically hit the limit, the line ‘1’, and I can continue on along the line y=1. If I could be accurate to a level of a tenth of a millimeter with my pencil, I could have gone to 0.9999 m, but with my imperfect tools (pencil and eyeballs) I can only increment by 0.001 m and cannot discern a difference between 1 m and 0.9999 m. => By my standards of precision, I have reached the limit l of the sequence (0.9, 0.99, 0.99…)
We could demonstrate to students that this process can continue forever, with the same pattern repeating, i.e. no matter how small we make our error, if we have step size n > N, we can reach the desired limit in the sense that we cannot distinguish our sequence from the limit itself. They are ‘equivalent’ as you suggest. We know that people are comfortable with this notion of infinitely repeated behaviour from their intuitions of what 0.999… represents. When we take a sequence to infinity we are saying that, even the infinitely pedantic are satisfied that the sequence sn and the limit l are equal, as they are* infinitely indistinguishable*. Hence why the infinitely repeating decimal 0.999… equals the integer 1.
Secondly, in response to your first point, I don’t either of us have been quite clear in our decimal representation of hyper-real numbers, so far. Since my first post, I have read the article from Katz & Katz that you linked in the appendix, as well as Lightstone’s article on the topic. I think it would be helpful to update the article with this less ambiguous depiction of hyperreal decimals (although there are difficulties with the decimal representation of hyperreals as per Lightstone at least).
So, for example:
0.999… = 1 – h [there is an infinitely small difference]
May not be correct. If we have the sequence x = 0.999…mapped to the hyperreals, then we have a number with the following decimal expansion:
x = "0.999…; …999…
where the first half of the expansion is the "real part, before the semi-colon, while the second part, after the semi-colon, is the infinitesimal part that recurs an infinite amount of times. Now, the obvious problem is that if we have an infinite hyperreal, H, then the infinitesimal sequence “0.999…; …999” will terminate at decimal index 1/10^H, indicated by the ‘|’ in the following: "0.999…;…999|000. . This sort of “truncated infinity” is allowable within the hyperreals, indeed is almost mandatory.
Thing is, there are an infinite number of infinities in the hyperreals, e.g. 2H, H^4 and H^H. Therefore, we can construct decimal expansions that terminate at any arbitrary infinitesimal point, all of which result in hyperreals that are infinitesimally smaller than ‘1’. However, when we state ‘0.999…’ in the real number system, we are referring to that decimal number that never terminates, not at index H, 2H, H^H^H, never! As per the Katz & Katz article, the convention is to denote this unique “infinitely infinite” number as ‘1’.
I think this more rigorus depiction of the decimal expansions of the hyperreals makes my argument that ‘0.999…’ and ‘1’ are indistinguishable at any level of magnification clearer. It also suggests, to me at least, that the following part of your article may be incorrect:
When we switch back to our world, it’s called taking the “standard part” of a number. It essentially means we throw away all the h’s, and convert them to zeroes. So,
0.999… = 1 – h [there is an infinitely small difference]
St(0.999…) = St(1 – h) = St(1) – St(h) = 1 – 0 = 1 [And to us, 0.999… = 1]
The happy compromise is this: in a more accurate dimension, 0.999… and 1 are different. But, when we, with our finite accuracy, try to describe the difference, we cannot: 0.999… and 1 look identical.
That is, there is no difference between 0.999… and 1, infinitely small or otherwise.
John