The following are equivalent:
(i) $a=\limsup s_n$,
(ii) $\forall \varepsilon>0$ there are only a finite number of natural numbers $n$ such that $a+\varepsilon<s_n$ but there are an infinite number such that $a-\varepsilon< s_n$
I don't believe this result is true. If (ii) is true, $\exists N$ such that if $n\ge N$, then $a-\varepsilon<s_n\le a+\varepsilon.$ This means that $a=\lim s_n$.
On the other hand, assuming (i) is true, $a=\limsup s_n= \lim_{N\to \infty}\sup_{n\ge N}s_n\iff(\forall\varepsilon\exists M:N>M\Rightarrow|\sup_{n\ge N}s_n-a<\varepsilon.|)$ So shouldn't the $\varepsilon$-condition in (ii) involve $\sup_{n\ge N}s_n$ rather than $s_n?$
This is incorrect. There may be infinitely many $n$ such that $a-\epsilon\geq s_n$. For instance, maybe $a-\epsilon<s_n$ whenever $n$ is odd but $a-\epsilon\geq s_n$ whenever $n$ is even. You don't know that $a-\epsilon<s_n$ for all but finitely many $n$, only for infinitely many $n$.