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?