An equivalent definition for the limsup $a_n$ 
Suppose that for $(a_n)$ the limit superior is finite. Prove the
following statement:
$$ L = \limsup_{n \to \infty} a_n \iff [ \forall \varepsilon>0 \exists
 k \in \mathbb{N} : \forall n > k \implies a_n < L + \varepsilon \; \;
 \text{AND} \; \; \forall \varepsilon>0 \forall k \in \mathbb{N}
 \exists n_k > k  :  L - \varepsilon < a_{n_k}$$

Proof:
Let $L = \limsup a_n$ and let $S $ the set of limit points of $a_n$. WE know by definition that $L = \sup S$. Let $\varepsilon > 0$.
Now, $s \in S$ if for large $n$ one has $|a_n - s | < \epsilon \implies a_n < s +\epsilon \leq L + \epsilon $
Thus, we have that for any $\epsilon > 0$ we can find $k>0$ so that if $n>k$ then $a_n < L + \varepsilon $
${\bf Next}$ For this same $\epsilon$, we know by definition of supremum that $\exists s \in S$ such that $L-\epsilon < s $
and we know there exists subsequence $(a_{n_k})$ of $a_n$ that coverges to $s$. this means that for any $\epsilon_1 > 0$ we can find $k>0$ such that $n_k > k$ implies $s < a_{n_k} + \epsilon_1$. Choose $\epsilon_1 = \epsilon $(the one from above) and thus we get that $L-\epsilon < a_{n_k} + \epsilon \implies L - 2 \epsilon < a_{n_k}$.
${\bf other direction}$
Let $S$ be set of limit points of $(a_n)$. We need to prove that $L = \sup S$
Clearly, the first conditions imply that $\lim a_n \leq L$ so $L$ is upper bound for $S$.
Does the second condition imply that it is the least upper bound? Im having trouble working this direction.
Is my proof correct enough? I lost some points on the first direction, but it seems to me correct, but I know the second one is not completely correct. IS there any mistake in the first direction?
 A: Review
Let $a : n \mapsto a_n$ be a bounded sequence of real numbers. 
For each $m \in \mathbb{N}$, let $\mathbb{N}_m$ be the set of integers $\ge m$, and let 
$$A_m = \sup_{n \ge m} a_n.$$
The relation $\mathbb{N}_{m+1} \subseteq \mathbb{N}$ implies $A_{m+1} \le A_m$, and the relation $b \le a_m$ implies $b \le A_m$. This proves that the sequence $A : m \mapsto A_m$ is decreasing and bounded below. Therefore
$$\lim_{m \to \infty} A_m = \inf_{m \ge 0} A_m. \tag{$*$}$$
This number is called the upper limit of the sequence $n \mapsto a_n$. It is denoted by 
$$\limsup_{n \to \infty} a_n, \quad \text{since}\quad \limsup_{n \to \infty} a_n = \lim_{m \to \infty} A_m = \lim_{m \to \infty} \sup_{n \ge m} a_m.$$ 

Theorem. $\ \ $Let $a : n \mapsto a_n$ be a bounded sequence of real numbers. Let $L \in \mathbb{R}$, and let
$$M = \limsup_{n \to \infty} a_n = \inf_{m \ge 0} A_m.$$
Then $M = L$ if and only if, for every $\epsilon > 0$, the following two conditions are satisfied : 
1$\ \ $
There exists $m \in \mathbb{N}$ such that $a_n < L + \epsilon$ for all $n \ge m$.
2$\ \ $
For all $m \in \mathbb{N}$ there exists $n_m \ge m$ such that $a_{n_m} > L - \epsilon$.

Remark.$\ $
Let $\epsilon > 0$ and $m \in \mathbb{N}$. There exists $n_m \ge m$ such that $a_{n_m} > L - \epsilon$ if and only if $A_m > L - \epsilon$, for then $L - \epsilon$ is not an upper bound of $a(\mathbb{N}_m)$. 
Proof of Necessity.$\ $
Suppose that $M = L$. Let $\epsilon > 0$. By the definition of infimum, there exists $m \in \mathbb{N}$ such that $L + \epsilon > A_m$. This proves (1). If $m \in \mathbb{N}$, then $A_m \ge L > L - \epsilon$. This proves (2) by the remark.
Proof of Sufficiency. 
Given $\epsilon > 0$, suppose that conditions (1) and (2) are satisfied. Choose $m_0 \in \mathbb{N}$ such that $a_n < L + \epsilon$ for all $n \ge m_0$. Then $A_{m_0} \le L + \epsilon$, which implies that 
$M \le L + \epsilon.$ 
Let $m \in \mathbb{N}$. Choose $n_m \ge m$ such that $a_{n_m} > L - \epsilon$. Then $A_m > L - \epsilon$, so $M \ge L - \epsilon$ by the definition of infimum. Consequently
$$L - \epsilon \le M \le L + \epsilon.$$
Taking the limit as $\epsilon \to 0$ gives the result. 

Note 
Conditions (1) and (2) can be restated more idiomatically as follows :  
1'$\ \ $
$a_n < L + \epsilon$ for all but finitely many $n$.
2'$\ \ $
$a_n > L - \epsilon$ for infinitely many $n$.
However, I prefer the original statements for working out the proof. 

Comments on your attempt
Your necessity proof is correct. However, in the second part you should add that, for any $m \in \mathbb{N}$, there is $n_m \ge \max(k,m)$ such that $a_{n_m} > L - 2\epsilon$. 
The sequence $n \mapsto a_n$ converges if and only if
$$\liminf_{n \to \infty} a_n = \limsup_{n \to \infty} a_n,$$
in which case it converges to this common value. Your attempt at the sufficiency proof incorrectly makes this assumption. 
