I'm reading Principles of Mathematical Analysis, third edition, and am at Theorem 1.20(b), which is as follows:
If $x \in \mathbb{R}$, $y \in \mathbb{R}$, and $x < y$, then there exists a $p \in \mathbb{Q}$ such that $x< p < y$.
Now here is the proof given by Rudin:
Since $x<y$, we have $y-x > 0$, and Theorem 1.20(a) furnishes a positive integer $n$ such that $$n(y-x) > 1.$$ Apply Theorem 1.20(a) again to obtain positive integers $m_1$ and $m_2$ such that $m_1 > nx$ and $m_2 > -nx$. Then $$-m_2 < nx < m_1. $$ Hence there is an integer $m$ (with $-m_2 \leq m \leq m_1$) such that $$ m-1 \leq nx < m.$$ If we combine these inequalities, we obtain $$nx < m \leq 1+nx < ny.$$ Since $n > 0$, it follows that $$ x < \frac{m}{n} < y.$$ This proves Theorem 1.20(b) with $p = \frac{m}{n}$.
Now I have the following questions:
(1) In the above proof, can we not dispense with the integers $m_1$ and $m_2$?
(2) How do we know that the integer $m$ satisfies the inequalities $-m_2 \leq m \leq m_1$?
(3) As Rudin has not mentioned the well-ordering principle, how do we obtain the inequalities $ m-1 \leq nx < m$?
(4) Is this proof sound enough logically even without using the well-ordering principle?
Basically this proof is a consequence of several successive applications of the Archimedian property. There's a slightly shorter but equivalent proof that's a little less confusing then Rudin's and it's done in 2 steps.
The first step is we have to prove if a is a real number, then there exists an integer N such that N − 1 ≤ a < N. The proof is by direct construction as follows: Let S = {n ∈ Z | n > a}. Then by the Archimedean property,S is nonempty. The set S is bounded below by a, so by the well-ordering principle,S has a least element N. Then N − 1 is not an element of S. So N-1 < a < N.
2 important observations that answers 2 of your questions: This basically gives us the result Rudin derives at the beginning, but in a little clearer manner. And it answers your question,no,we really can't dispense with this step because the main result depends on it, as you'll see. It also shows you really need the well ordering principle to derive the intermediate inequalities. Rudin tends to use a lot of "toolkit" results like the WOP without statement-it's one of the reasons he gets away with being so annoyingly concise.
Now we're ready to prove the main result. From the Archimedean property of R there exists q ∈ N such that 1/q < b−a. Now consider the real number qa. There exists an integer p such that p − 1 ≤ qa < p. It follows that (p−1/q) ≤ a < p/q . This gives that p/q − 1/q ≤ a, which gives that a < p/q ≤ a + 1/q < b. That completes the proof.
As I said, it's equivalent and not radically different from Rudin's, but I personally found it a little shorter and a bit easier to follow.