Accumulation point in topological space problem Exercise
If $(x_{\alpha})_{\alpha \in \Lambda}$ is a net, then $x$ is an accumulation point of the net if for every $A \in \mathcal F_x$, the set $\{\alpha \in \Lambda: x_{\alpha}\in A\}$ is cofinal in $\Lambda$. Prove that $x$ is an accumulation point of the net if and only if there is a subnet of $(x_{\alpha})_{\alpha \in \Lambda}$ that converges to $x$. 
I couldn't do much of the exercise. Here is what I've thought for the first implication:
If $S=\{\alpha \in \Lambda: x_{\alpha}\in A\}$ is cofinal in $\Lambda$, then, by definition, for every $\alpha \in \Lambda$, there is $\beta \in S$ such that $\beta \geq \alpha$. I want to construct a subnet that converges to $x$. For every open set $U: x \in U$, there must be an element $y_U$ of the subnet such that $y_U \in U$. I know that the elements of the subnet are going to be some (or all) elements of $S$. I am pretty lost on how to construct the subnet
As for the other implication I have no idea how to show it. Any suggestions would be appreciated.  
 A: Suppose that $(y_\beta)_{\beta \in B}$ is a subnet of $(x_\alpha)$ via the map $h:B \rightarrow A$, and this subnet converges to $x$. Let $O$ be an open subset of $X$ that contains $x$. Then by the convergence we have some $\beta_0 \in B$, such that for all $\beta \ge \beta_0$ we have that $(y_\beta) \in O$. Then consider the set $A_O=\{ \alpha \in A: x_\alpha \in O \}$; we have to show it is cofinal in $A$ to see that $x$ is an accumulation point of the original net. 
To this end, pick $\alpha \in A$. Then as $h[B]$ is cofinal in $A$, there is some $\beta_1 \in B$ such that $h(\beta_1) \ge \alpha$. Then, as $B$ is directed, there is some $\beta_2 \in B$, such that $\beta_2 \ge \beta_1, \beta_2 \ge \beta_0$. Now $y_{\beta_2} \in O$, and also $y_{\beta_2} = x_{h(\beta_2)}$ (definition of subnet) and as $\alpha \le h(\beta_1) \le h(\beta_2)$ (using that $h$ is increasing), we have an index larger than $\alpha$ that is in $A_O$, so indeed this set is cofinal. 
Now suppose that $x$ is an accumulation point of $(x_\alpha)$. Now define the set $$B= \{(\alpha, U): \alpha \in A, U \text{ open and such that } x_\alpha \in U \}\text{.}$$ Define a partial order by $(\alpha_1, U_1) \le (\alpha_2, U_2) \text{ iff } \alpha_1 \le \alpha_2, \text{ and } U_2 \subseteq U_1$. One easily checks that this makes $B$ a directed set, and defining $h: B \rightarrow A$ by $h((\alpha, U)) = \alpha$, and again a small check shows that setting $y_\beta = y_{(\alpha,U)} = x_\alpha$ defines a subnet via $h$ (do these checks yourself!). And $(y_\beta)_{\beta \in B}$ converges to $x$: let $O$ be an open neighbourhood of $x$. Then the set $A_O$ (as defined above) is cofinal in $A$, so pick any $\alpha_0 \in A$ such that $x_{\alpha_0} \in O$. Then $\beta_0 = (\alpha_0, O) \in B$, and if $\beta = (\alpha, U) \ge \beta_0$, we know in particular that $U \subset O$, and $y_\beta = x_\alpha \in U \subset O$, so indeed all net elements with index larger than $\beta_0$ are in $O$, as required. 
