Here're Definitions 3.15 and 3.16 and Theorem 3.17 in the book Principles of Mathematical Analysis by Walter Rudin, 3rd edition.
Definition 3.15:
Let $\{s_n \}$ be a sequence of real numbers with the following property: For every real $M$ there is an integer $N$ such that $n \geq N$ implies $s_n \geq M$. We then write $$s_n \rightarrow +\infty.$$ Similarly, if for every real $M$ there is an integer $N$ such that $n \geq N$ implies $s_n \leq M$, we write $$s_n \rightarrow -\infty.$$
Definition 3.16:
Let $\{ s_n \}$ be a sequence of real numbers. Let $E$ be the set of numbers $x$ (in the extended real number system) such that $s_{n_k} \rightarrow x$ for some subsequence $\{s_{n_k}\}$. This set $E$ contains all subsequential limits as defined in Definition 3.5, plus possibly the numbers $+\infty$, $-\infty$.
We now recall Definitions 1.8 and 1.23 and put $$s^* = \sup E,$$ $$s_* = \inf E.$$ The numbers $s^*$, $s_*$ are called the upper and lower limits of $\{ s_n \}$; we use the notation $$\lim_{n\to\infty} \sup s_n = s^*, \ \ \ \lim_{n\to \infty} \inf s_n = s_*.$$
Now,
Definition 3.5:
Given a sequence $\{ p_n \}$, consider a sequence $\{n_k\}$ of positive integers, such that $n_1 < n_2 < n_3 < \cdots$. Then the sequence $\{p_{n_k} \}$ is called a subsequence of $\{p_n \}$. If $\{p_{n_k}\}$ converges, its limit is called a subsequential limit of $\{p_n \}$.
Definition 1.8:
Suppose $S$ is an ordered set, $E \subset S$, and $E$ is bounded above. Suppose there exists an $\alpha \in S$ with the following properties:
(i) $\alpha$ is an upper bound of $E$.
(ii) If $\gamma < \alpha$ then $\gamma$ is not an upper bound of $E$.
Then $\alpha$ is called the least upper bound of $E$ or the supremum of $E$, and we write $$\alpha = \sup E.$$
The greatest lower bound, or infimum, of a set $E$ which is bounded below is defined in the same manner: The statement $$\alpha = \inf E$$ means that $\alpha$ is a lower bound of $E$ and that no $\beta$ with $\beta > \alpha$ is a lower bound of $E$.
Definition 1.23:
The extended real number system consists of the real field $R$ and two symbols, $+\infty$ and $-\infty$. We preserve the original order in $R$, and define $$-\infty < x < +\infty$$ for every $x \in R$.
It is then clear that $+\infty$ is an upper bound of every subset of the extended real number system, and that every nonempty subset has a least upper bound. If, for example, $E$ is a nonempty set of real numbers which is not bounded above in $R$, then $\sup E = +\infty$ in the extended real number system.
Exactly the same remarks apply to lower bounds.
Finally, here's Theorem 3.17.
Let $\{s_n \}$ be a sequence of real numbers. Let $E$ and $S^*$ have the same meaning as in Definition 3.16. Then $s^*$ has the following two properties:
(a) $s^* \in E$.
(b) If $x> s^*$, there is an integer $N$ such that $n \geq N$ implies $s_n < x$.
Moreover, $s^*$ is the only number with the properties (a) and (b).
Of course, an analogous result is true for $s_*$.
And, here's Rudin's proof:
(a) If $s^* = +\infty$, then $E$ is not bounded above; hence $\{s_n\}$ is not bounded above, and there is a subsequence $\{s_{n_k}\}$ such that $s_{n_k} \rightarrow +\infty$.
If $s^*$ is real, then $E$ is bounded above, and at least one subsequential limit exists, so that (a) follows from Theorems 3.7 and 2.28. [I'll state these theorems after the proof. ]
If $s^* = -\infty$, then $E$ contains only one element, namely $-\infty$, and there is no subsequential limit. Hence, for any real $M$, $s_n > M$ for at most a finite number of values of $n$, so that $s_n \rightarrow -\infty$.
This establishes (a) in all cases.
(b) Suppose there is a number $x > s^*$ such that $s_n \geq x$ for infinitely many values of $n$. In that case, there is a number $y \in E$ such that $y \geq x > s^*$, contradicting the definition of $s^*$.
Thus $s^*$ satisfies both (a) and (b).
To show the uniqueness, suppose there are two numbers, $p$ and $q$, which satisfy (a) and (b), and suppose $p < q$. Choose $x$ such that $p < x < q$. Since $p$ satisfies (b), we have $s_n < x$ for $n \geq N$. But then $q$ cannot satisfy (a).
Now for Theorem 2.28:
Let $E$ be a nonempty set of real numbers which is bounded above. Let $y = \sup E$. Then $y \in \overline{E}$. Hence $y \in E$ if $E$ is closed.
And, Theorem 3.7:
The subsequential limits of a sequence $\{p_n\}$ in a metric space $X$ form a closed subset of $X$.
My reason for copying so many definitions and theorem from Rudin's book into my question is to keep my post as self-contained as possible.
Now here's my attempt at filling in the details in the proof of Theorem 3.17.
(a) If $s^* = +\infty$, then the set $E$ is not bounded above in $\mathbb{R}$. We now find a subsequence of $\{s_n \}$ which diverges to $+\infty$.
As $E$ is not bounded above in $\mathbb{R}$, so there is an element $x_1 \in E$ such that $x_1 > 1$. If $x_1 = +\infty$, then we are done. Otherwise, $x_1$ is a subsequential limit of $\{s_n\}$. Thus there is a strictly increasing function $\varphi_1 \colon \mathbb{N} \to \mathbb{N}$ such that $$x_1 = \lim_{n\to\infty} s_{\varphi_1(n)}.$$ So, for any real number $\varepsilon > 0$, we can find a natural number $N_1$ such that $n > N_1$ implies that $$ \left\vert s_{\varphi_1(n)} - x_1 \right\vert < \varepsilon.$$ Let's take $\varepsilon$ such that $$ 0 < \varepsilon < \frac{x_1 - 1}{2}.$$ Then we can conclude that $$s_{\varphi_1(N_1 + 1)} > 1.$$ Let $$n_1 \colon= \varphi_1(N_1+1).$$ Then $$s_{n_1} > 1.$$ Now as $E$ is not bounded above in $\mathbb{R}$, there is an element $x_2 \in E$ such that $x_2 > 2$. If $x_2 = +\infty$, then we are done. Otherwise, $x_2$ is a subsequential limit of $\{s_n\}$. That is, there is a strictly increasing function $\varphi_2 \colon \mathbb{N} \to \mathbb{N}$ such that $$x_2 = \lim_{n\to\infty} s_{\varphi_2(n)}.$$ So, for any real number $\varepsilon > 0$, we can find a natural number $N_2$ such that $n > N_2$ implies that $$ \left\vert s_{\varphi_2(n)} - x_2 \right\vert < \varepsilon. $$ Thus, if we take $\varepsilon$ such that $$0 < \varepsilon < \frac{x_2 - 2}{2},$$ then we can conclude that $$s_{\varphi_2(N_2 + 1)} > 2.$$ Let's put $$n_2 \colon= \max \left\{ \varphi_2( n_1 +1 ), \varphi_2(N_2+1) \right\} .$$ We note that since $\varphi_2 \colon \mathbb{N} \to \mathbb{N}$ is a strictly increasing function, we can show that $$n \leq \varphi_2(n)$$ for all $n \in \mathbb{N}$. So we have $$n_2 \geq \varphi_2(n_1 + 1) \geq n_1 + 1 > n_1.$$
Now we can find an element $x_3 \in E$ such that $x_3 > 3$. If $x_3 = +\infty$, then we are done. Otherwise, $x_3$ is a subsequential limit of $\{s_n \}$. That is, there is a strictly increasing function $\varphi_3 \colon \mathbb{N} \to \mathbb{N}$ such that $$x_3 = \lim_{n \to \infty} s_{\varphi_3(n)}.$$ So, for any real number $\varepsilon > 0$, we can find a natural number $N_3$ such that $n > N_3$ implies that $$\left\vert s_{\varphi_3(n)} - x_3 \right\vert < \varepsilon.$$ So, if we take $\varepsilon$ such that $$0 < \varepsilon < \frac{x_3-3}{3},$$ then we can conclude that $$s_{\varphi_3(N_3+1)} > 3.$$ Let's take $$n_3 \colon= \max \left\{ \varphi_3 ( n_2+1), \varphi_3 (N_3 + 1) \right\}.$$ Since $\varphi_3 \colon \mathbb{N} \to \mathbb{N}$ is a strictly increasing function, we can show that $$ n \leq \varphi_3(n) $$ for all $n \in \mathbb{N}$. So $$n_3 \geq \varphi_3(n_2 + 1) \geq n_2 + 1 > n_2.$$
In this way, we obtain a sequence $\{n_k\}$ of natural numbers such that $n_1 < n_2 < n_3 < \cdots$ and $$s_{n_k} > k$$ for all $k \in \mathbb{N}$. Now for any real number $M$, there is a natural number $K$ such that $K > M$. So, for all $k \in \mathbb{N}$ such that $k > K$, we have $$s_{n_k} > k > K > M;$$ that is, $s_{n_k} > M$ for all $k \in \mathbb{N}$ such that $k > K$. Therefore, we can conclude that $$s_{n_k} \rightarrow +\infty,$$ which shows that $E$ contains $+\infty$.
If $s^* \in \mathbb{R}$, then $E$ is bounded above in $\mathbb{R}$ and $s^* = \sup E$. We show that some subsequence of $\{s_n \}$ converges to $s^*$. There exists an element $x_1 \in E$ such that $s^*-1 < x_1 \leq s^*$. If $x_1 = s^*$, then we are done. Otherwise we have $s^*-1 < x_1 < s^*$. Now $x_1$ is a subsequential limit of $\{s_n\}$. So there is a strictly increasing function $\varphi_1 \colon \mathbb{N} \to \mathbb{N}$ such that $$x_1 = \lim_{n\to\infty} s_{\varphi_1(n)}.$$ Thus, for any real number $\varepsilon > 0$ we can find a natural number $N_1$ such that $n > N_1$ implies $$\left\vert s_{\varphi_1(n)} - x_1 \right\vert < \varepsilon. $$ By taking $\varepsilon$ such that $$ 0 < \varepsilon < \frac 1 3 \min \{ s^* - x_1, \ x_1 - s^* + 1 \},$$ we can conclude that $$s^* -1 < s_{\varphi_1(N_1 + 1) } < s^*.$$ Let's take $$n_1 \colon= \varphi_1(N_1 + 1).$$
As $s^* = \sup E$ in $\mathbb{R}$, there is an element $x_2 \in E$ such that $s^* - \frac 1 2 < x_2 \leq s^*$. If $x_2 = s^*$, then we are done. Otherwise we have $$s^*- \frac 1 2 < x_2 < s^*.$$ Now $x_2$ is a subsequential limit of $\{s_n\}$. So there is a strictly increasing function $\varphi_2 \colon \mathbb{N} \to \mathbb{N}$ such that $$x_2 = \lim_{n\to\infty} s_{\varphi_2(n)}.$$ So, given a real number $\varepsilon > 0$, we can find a natural number $N_2$ such that $n>N_2$ implies that $$\left\vert s_{\varphi_2(n)} - x_2 \right\vert < \varepsilon.$$ Thus, by taking $\varepsilon$ such that $$0< \varepsilon < \frac 1 3 \min \left\{ s^* - x_2 , \ x_2 - s^* + \frac 1 2 \right\},$$ we can conclude that $$s^* - \frac 1 2 < s_{\varphi_2(N_2 + 1)} < s^*.$$ Let's take $$n_2 \colon= \max \left\{ \varphi_2(n_1 + 1), \varphi_2(N_2+ 1) \right\}.$$ Then $n_2 > n_1$ and $$s^* - \frac 1 2 < s_{n_2} < s^*.$$
Now as $s^* = \sup E$ in $\mathbb{R}$, we can find an element $x_3 \in E$ such that $$s^* -\frac 1 3 < x_3 \leq s^*.$$ If this $x_3 = s^*$, then we are done. Otherwise we have $$s^* - \frac 1 3 < x_3 < s^*.$$ Moreover, $x_3$ is a subsequential limit of $\{s_n\}$. So there is a strictly increasing function $\varphi_3 \colon \mathbb{N} \to \mathbb{N}$ such that $$x_2 = \lim_{n\to\infty} s_{\varphi_3(n)}.$$ Thus, given a real number $\varepsilon > 0$, we can find a natural number $N_3$ such that $n > N_3$ implies $$\left\vert s_{\varphi_3(n)} - x_3 \right\vert < \varepsilon.$$ Thus, by taking $\varepsilon$ such that $$0< \varepsilon < \frac 1 3 \min \left\{ s^* - x_3 , \ x_3 - s^* + \frac 1 3 \right\},$$ we can conclude that $$s^* - \frac 1 3 < s_{\varphi_3(N_3 + 1)} < s^*.$$ Let's take $$n_3 \colon= \max \left\{ \varphi_3(n_2 + 1), \varphi_3(N_3+1) \right\}.$$ Then $n_3 > n_2$ and $$s^* - \frac 1 3 < s_{n_3} < s^*.$$
Continuing in this way, we obtain a sequence $\{n_k \}$ of natural numbers such that $n_1 < n_2 < n_3 < \cdots$ and $$s^* - \frac 1 k < s_{n_k} < s^*$$ for all $k \in \mathbb{N}$. From here, we can show that the subsequence $\{s_{n_k}\}$ of $\{s_n\}$ converges to $s^*$.
If $s^* = -\infty$, then there is no subsequential limit of $\{s_n\}$. Moreover, $\{s_n \}$ is bounded above in $\mathbb{R}$, for otherwise there would be a subsequence of $\{s_n \}$ which would diverge to $+\infty$.
Let $M$ be any real number. If we were to have $s_n \geq M$ for infinitely many values of $n \in \mathbb{N}$, then we could find a subsequence of $\{s_n\}$ which would be bounded and hence have a convergent subsequence (by Theorem 3.6 (b) in Rudin), which would in turn be a convergent subsequence of $\{s_n\}$ whose limit $x$ would satisfy $x \in E$ and $x > s^*$, a contradiction.
So we must have $s_n \geq M$ for at most a finite number of values of $n$. Thus, there is a natural number $N$ such that $n > N$ implies that $s_n < M$. Since $M$ was an arbitrary real number, we can conclude that $$s_n \rightarrow -\infty, $$ which shows that $-\infty \in E$.
Thus we have shown that $s^* \in E$ in all possible cases.
Now part (b):
We assume the contrary. That is, we assume that $x > s^*$ and that there are infinitely many $n$ such that $s_n \geq x$. Since $s^* < x$, $s^*$ cannot be $+\infty$. Moreover, there is a subsequence $\{s_{\varphi(n)}\}$ of $\{s_n\}$ such that $$s_{\varphi(n)} \geq x$$ for all $n \in \mathbb{N}$, where $\varphi \colon \mathbb{N} \to \mathbb{N}$ is a strictly increasing function.
If the subsequence $\{s_{\varphi(n)}\}$ is not bounded above, then some subsequence of $\{s_{\varphi(n)}\}$ --- which would in turn be a subsequence of $\{s_n\}$ --- would diverge to $+\infty$, showing that $+\infty \geq x > s^*$ and $+\infty \in E$, a contradiction.
On the other hand, if the subsequence $\{s_{\varphi(n)}\}$ is bounded above, then it would be a bounded sequence in $\mathbb{R}$ and so would have a convergent subsequence (by Theorem 3.6(b) in Rudin), which would in turn be a convergent subsequence of $\{s_n\}$, whose limit $s$ would satisfy $s \in E$ and $s \geq x > s^*$, which is a contradiction to the fact that $s^*$ is the supremum of $E$.
To show that $s^*$ is the only number with the properties (a) and (b), suppose that there are two numbers $p$ and $q$ which satisfiy properties (a) and (b) of Theorem 3.17 in Rudin, and suppose that $p < q$. Let's choose a real number $x$ such that $p < x < q$. Then by property (b), there is an integer $N$ such that $s_n < x$ for all $n \in \mathbb{N}$ such that $n \geq N$. Let us chooes a real number $\varepsilon$ such that $$0 < \varepsilon < \frac{ q-x}{3}.$$ Then there are at most a finite number of terms of $\{s_n\}$ in the neighborhood $(q-\varepsilon, q+ \varepsilon)$. So no subsequence of $\{s_n \}$ can converge to $q$ (or diverge to $+\infty$ if $q = +\infty$), showing that $q \not\in E$, which is a contradiction to the property (a) for $q$.
Based on how I have elaborated Rudin's proof in the last few paragraphs, have I been able to understand this proof correctly?
If not, where am I going wrong (or falling short)?
What is lacking in my reasoning, apart from brevity of course?