Munkres in his book states that:
Theorem 30.3 Suppose that $X$ has countable basis, then every open covering of $X$ contains a countable subcollection covering $X$.
$\textbf{Proof.}$
Let ${B_n}$ be a countable basis and $\mathcal{A}$ an open cover of $X$. For each positive integer $n$ for which it is possible, choose an element $A_n$ of $\mathcal{A}$ containing the basis element $B_n$. The collection $\mathcal{A'}$ of the sets $A_n$ is countable, since it is indexed with a subset $J$ of the positive integers. Furthermore, it covers X: given a point $x \in X$, we can chosse an element $A$ of $\mathcal{A}$ containing $x$. Since $A$ is open, there is a basis element $B_n$ such that $x \in B_n \subset A$. Because $B_n$ lies in an element of $\mathcal{A}$, the index $n$ belong to the set $J$, so $A_n$ is defined; since $A_n$ contains $B_n$, it contains $x$. Thus $\mathcal{A'}$ is a countable subcollection of $\mathcal{A}$ that covers $X$.
My first doubt is when he states $A_n$ is indexed with $J \subset \mathbb{Z}^+$. Why is this true? My second doubt is about the construction of $\mathcal{A'}$: he states that $\mathcal{A'}$ is the collection of the sets $A_n$, but could have $A, A^* \in \mathcal{A'}$ such that $B_n \subset A \ \cap \ A^*$. In this case, I think that we need have one of these sets in $\mathcal{A'}$ to ensure that $\mathcal{A'}$ is countable, but how exactly do I do this?
Thanks in advance!