$P(X\in B)=1$ when $X_n$ converges in distribution to $X$ for open and closed $B$ Suppose that $X_n \rightarrow X$ in distribution. If $B$ is a closed Borel subset of $\mathbb{R}$,
and $P(X_n \in B) = 1$ for all $n$, then 
(a) Prove that $P(X \in B) = 1$.
(b) Show that, however, if $B$ is open subset of $R$, then (a) is false.
For part (b), consider $B = (0,1)$, $X_n := \frac{1}{n+1}, n = 1,2,...$ and $X = 0$. Clearly $X_n \rightarrow X$ in distribution, $P(X_n \in B) = 1$ for all $n$ but $P(X \in B) = 0$. Thus (a) does not hold. Is this correct?
For part (a) please give me some hints.    
 A: Use the Portmanteau Lemma, i.e. for any closed $B$ 
$$1=\limsup_{n\to\infty}P\{X_n\in B\}\le P\{X\in B\}$$
A: Your example is correct for part b).
For part a), I think what is asked is precisely to show that part of the Portmanteau lemma. We can adapt the proof for the open Borel set case found in the link provided by d.k.o. to this case.
Recall that $P(X\in B) = \mathbb E1_B(X)$. 
The useful idea is to approximate $1_B(x)$ from above by a decreasing sequence of bounded continuous functions. We can use $$f_m(x)=1 - \min\{1, m d(x,B)\}.$$ 
(Why does it work? Use the fact that $B$ is closed.) We know that $\mathbb Ef_m(X_n)\overset n \longrightarrow \mathbb Ef_m(X)$ for any of these functions $f_m$  by the equivalent definition of convergence in distribution. Since $f_m(X_n)\ge 1_B(X_n)$, we can take expectations and $\limsup$ in $n$ to get 
$$\mathbb E f_m(X)\ge \limsup_n \mathbb E 1_B(X_n)=\limsup_n P(X_n\in B)=1.$$ Now take the limit in $m$ using the bounded convergence theorem to conclude.
