In Rudin, $\limsup$ is defined as follows:
Let $S$ be the set of subsequential limits of $\{s_n\}$. Then $$\limsup s_n = \sup S. \tag{1}$$
However, our real analysis instructor defined $\limsup$ in a different manner:
$$\limsup s_n = \lim_{n \to \infty} \sup_{m \ge n} s_m. \tag{2}$$
I am having trouble understanding how these two definitions are equivalent. It would be very helpful to me if somebody could provide a proof with some explanation.
My thoughts on the problem:
I have noticed that the usual trend with these sort of proofs is to prove the upper bound $(1) \le (2)$ and then the lower bound $(1) \ge (2)$ to get the desired conclusion. However, I am unsure how to even begin.
We first construct a sub-sequence in $S$ that has limit $\lim_{n\to\infty} \sup_{k>n} s_k$. We do this by observing that there's a $l(n)>n$ such that $\sup_{k>n}s_k \ge s_{l(n)} \ge \sup_{k>n}s_k-2^{-n}$, now $\lim_{n\to\infty}s_{l(n)} = \lim_{n \to \infty} \sup_{k>n} s_k$.
Now as $l(n)>n$ we have $l(n)\to\infty$ so $l(n)$ has an increasing subsequence $t_n$ and by that we can construct the desired subsequence of $s_n$.
That is we have proved that
$$\sup S \ge \lim t_n = \lim_{n\to\infty}\sup_{k>n}s_k$$
To prove the opposite lets consider "synchronized" subsequence $u_n$ (that $u_n=s_n$ or $u_n=u_{n-1}$ - just repeating the elements in the subsequence to keep them in sync) - this kind of construct doesn't alter the definition if $S$. Now $\{u_k: k>n\}\subseteq \{s_k: k>n\}$ and therefore $\sup_{k>n}u_k \le sup_{k_n}s_k$.
This means that:
$$\lim_{n\to\infty} u_k \le \lim_{n\to\infty}\sup_{k>n}u_k \le \lim_{n\to\infty}\sup_{k>n}s_k$$
That is for all subsequences in $S$ the limit is less than or equal the $\liminf$ of definition (2) that is:
$$\sup S\le\lim_{n\to\infty}\sup_{k>n}s_k$$