@Logicus,
Proof #3 that 0.999... = 1 (by contradiction):
(Note: in what follows, logs are base-10.)
Start by assuming the negation of what we want to prove.
Assume 0.999...
1. Then either 0.999... > 1 or 0.999... < 1. We can (obviously?) rule out the possibility that 0.999... > 1,
so it follows that 0.999... < 1. So 1 - 0.999... > 0. Let x = 1 - 0.999... . Then x is some positive real number between 0 and 1,
so log(x) is a negative real number. The integers are unbounded above or below, so let
-n be the largest integer that is less than log(x).
(For example, if log(x) = -45.657, let -n = -46.) Since -n < log(x), and since the log function's inverse,
f(x) := 10^x,
is an increasing function with range (0, ∞) , we have 0 < 10^(-n) < x. Thus -x < -10^(-n) < 0. Adding 1 to all terms gives:
0.999... = 1-x < 1 - 10^(-n) < 1.
Thus our assumption that 0.999...
1 has led to the conclusion that there is a number, 1 - 10^(-n), between 0.999... and 1.
What is this number? Well 10^(-n) is 0.00...01 (where there are
n zeroes total, including the zero before the decimal point).
So 1 - 10^(-n) = 0.999..9 (where there are n nines after the decimal point). We have concluded that this number,
a zero and decimal point followed by n nines, is greater than "0.999...", a zero and decimal point followed by infinitely many nines.
That is absurd. Therefore, our assumption was false, which means 0.999... = 1. QED.
(I felt I should include this proof, since it's in the spirit of what you and Mark were arguing: if 0.999... < 1, there would have to be a number between them.)