I am struggling to understand how to apply Borel-Cantelli lemma at the end of a complicated problem.
This is the problem:

The expressions I am having trouble with are the last two probability expressions which are highlighted.
1) For the first one I am trying to use the definition of limsup of events.
Defining $A_n= \{|S_n|\ge\varepsilon n^p \}$ The fact that the $\sum_n P\{|S_n|\ge\varepsilon n^p \}< \infty$ tells me that by the Borel Cantelli lemma, $P(\limsup A_n)=0$ and so $P((\limsup A_n )^C)=1$
Then if $x \in (\limsup A_n)^C= (\cap_{n\ge 1}\cup_{k\ge n} A_k)^C=\cup_{n\ge 1}\cap_{k\ge n} A_k^c$ it means that
$\exists n_0: \forall k\ge n_0, x \in A_k^C=\{\frac{S_k}{k^p}<\varepsilon\}$
or changing variables
$\exists n_0: \forall n\ge n_0, x \in A_n^C=\{\frac{S_n}{n^p}<\varepsilon\}$
This proves that for large enough n : $(\limsup A_n)^C \subseteq A_n^C=\{\frac{S_n}{n^p}<\varepsilon\}$
Can the the opposite inclusion be proven? How do I get to book's expression? Notice that in the book there is a $"\le \varepsilon"$ instead and there is an "$\implies$ " that I don't get. Then I am thinking about having to use some logic manipulation here $(p\implies q)\equiv \lnot p \vee q$ or it looks like " $\forall n\ge n_0 , |S_n/n^p|<\varepsilon$" is logically equivalent to "$n \ge n_0 \implies |S_n/n^p|<\varepsilon"$ which read out loud makes sense but it would be nice to have a rigorous proof
2)For the second one I am clueless. Can you explain in detail how is that countable intersection carried out to yield that expression?


For (1), I think the issue is mainly just notation. You have successfully shown that the event $(\limsup A_n)^c$, which has probability 1, can be written as $$\left\{ \exists n_0 \, \forall n \ge n_0 :\, \left|\frac{S_n}{n^p}\right| < \epsilon \right\}.$$ The book would write this as $$\left\{ \exists n_0 : n \ge n_0 \implies |S_n/n^p| < \epsilon\right\}.$$ It is basically just rephrasing "for all $n$ such that $n \ge n_0$ we have XXX" as "for all $n$, if $n \ge n_0$ then we have XXX"; they are logically equivalent. In fact if you think about it, it is really the meaning of the phrase "such that". They didn't write a quantifier on $n$ but it is assumed to be "for all".
To put it another way, you showed that for every $n \ge n_0$, the statement XXX is true. So let $\phi$ be the formula $n \ge n_0 \implies XXX$. We are trying to prove $\forall n : \phi$ so consider two cases. If $n \ge n_0$ then your argument gives XXX, so statement $\phi$ is true because its consequent is true. If $n < n_0$ then your argument doesn't give anything, but it doesn't matter because statement $\phi$ is vacuously true in this case (its antecedent is false).
So now the only discrepancy is that you have $< \epsilon$ and they have $\le \epsilon$. This is really irrelevant for what comes next, but your statement is actually stronger than theirs; i.e. your event is a subset of theirs. It's basically just the fact that $t < \epsilon$ implies $t \le \epsilon$, and you just have to work through the quantifiers. Or, use the facts that if $B_n \subset B_n'$ for every $n$, then we have $\bigcap B_n \subset \bigcap B_n'$ and $\bigcup B_n \subset \bigcup B_n'$.
For (2), notice that in your argument above, $\epsilon$ was arbitrary. So for any $k$, let $B_k = \{ \exists n_0 \, \forall n \ge n_0 \, : |S_n/n^p| \le 1/k\}$. Taking $\epsilon = 1/k$ in your above argument, you have shown $P(B_k) = 1$, for every $k$. Let $B = \bigcap_{k \in \mathbb{N}} B_k$; by countable additivity we have $P(B)=1$. (That is, by de Morgan we have $B = \bigcup_{k \in \mathbb{N}} B_k^c$, but since $P(B_k)=1$ we have $P(B_k^c) = 0$, hence $P(B^c) \le \sum_{k=0}^\infty P(B_k^c) = 0$.) But $B$ is exactly the event in the highlighted equation.