Proving the Borel-Cantelli Lemma 
Let $\{{E_k}\}^{\infty}_{k=1}$ be a countable family of measurable subsets of $\mathbb{R}^d$ and that
  \begin{equation} % Equation (1)
\sum^{\infty}_{k=1}m(E_k)<\infty
\end{equation}
  Let
  \begin{align*}
E&=\{x\in \mathbb{R}^d:x\in E_k, \text{ for infinitely many $k$ }\} \\
&= \underset{k\rightarrow \infty}{\lim \sup}(E_k).\\
\end{align*}
(a) Show that $E$ is measurable
(b) Prove $m(E)=0.$

My Proof Attempt:
Proof. Let the assumptions be as above. We will prove part (a) by showing that
\begin{equation*}
E=\cap^{\infty}_{n=1}\cup_{k\geq n}E_k. 
\end{equation*}
Hence, E would be measurable, since for every
fixed $n$, $\cup_{k\geq n}E_k$ is measurable since it is a countable union of measurable sets.
Then $\cap^{\infty}_{n=1}\cup_{k\geq n}E_k$ is the countable intersection of measurable sets.
From here, we shall denote $\cup_{k\geq n}E_k$ as $S_n$.
 Let $x\in \cap^{\infty}_{n=1}S_n$.  Then $x\in S_n$ for every
$n\in \mathbb{N}$. Hence, $x$ must be in $E_k$ for infinitely many $k$, otherwise there would exist
an $N\in \mathbb{N}$ such that $x\notin S_N$. Leaving $x$ out of the intersection.
Thus, $\cap^{\infty}_{n=1}S_n\subset E$.
Conversely, let $x\in E.$ 
Then $x\in E_k$ for infinitely many $k$. Therefore, $\forall n\in \mathbb{N}$,
 $x\in S_n$. Otherwise, $\exists N\in \mathbb{N}$ such that $x\notin S_N$.
Which would imply that $x\in E_k$ for only $k$ up to $N$, i.e. finitely many. A contradiction.
Therefore, $x\in \cap^{\infty}_{n=1}S_n$. Hence, they contain one
another and equality holds. This proves part (1).
Now for part (b). Fix $\epsilon>0$. We need to show that there exists $N\in \mathbb{N}$ such that
\begin{equation*}
m(S_N)\leq \epsilon
\end{equation*}
Then since $E\subset S_N$, monotonicity of the measure would imply that $m(E)\leq \epsilon$.
Hence, proving our desired conclusion as we let $\epsilon \rightarrow 0$.
Since $\sum^{\infty}_{k=1}m(E_k)<\infty$, there exists $N\in \mathbb{N}$ such that
\begin{equation*}
\left| \sum^{\infty}_{k=N}m(E_k)\right |\leq \epsilon
\end{equation*}
By definition, 
\begin{equation*}
m(S_N)=m(\cup_{k\geq N}E_k)=\sum^{\infty}_{k=N}m(E_k)
\end{equation*}
Thus, $m(S_N)\leq \epsilon$. This completes our proof.

Any corrections of the proof, or comments on style of the proof are welcome and appreciated. Thank you all for your time.
 A: The proof is almost perfect, only in the end it is not necessary true that $m(\cup_{k\geq N}E_k)=\sum_{k=N}^\infty m(E_k)$ since the sets $E_k$ might not be pairwise disjoint. So the measure of the union is only at most the sum of measures. But in our case it doesn't change anything for the proof, since we anyway get $m(S_N)\leq\sum_{k=N}^\infty m(E_k)\leq\epsilon$. Still it is important to remember the correct properties of measure. 
A: Your proof is fine, modulo the comment in the other answer. For another approach, which I think is the way Rudin does it, note that $x\in E$ if and only if the series $\sum^{\infty}_{k=1}1_{E_k}(x)$ diverges. 
Set $s_n(x)=\sum^{n}_{k=1}1_{E_k}(x).$ Then, $s_n(x)\to s(x)=\sum^{\infty}_{k=1}1_{E_k}(x)$ and the monotone converge theorem gives $\sum^{n}_{k=1}m(E_k)\to \sum^{\infty}_{k=1}m(E_k)<\infty.$ Thus, $s\in L^1(m)$, so the series converges almost everywhere $m$. That is, the set on which it diverges, namely $E$, has Lebesgue measure zero and so $m(E)=0.$
Remark: since we proved that $m(E)=0,$ we get part $(a)$ for free. 
