Soit O un voisinage ouvert d'un point x. On prend N un voisinage compact de x (il en existe par hypothèse). On pose Q = N \ O. Il s'agit d'un compact qui ne contient pas x. Par séparation, Q est recouvert par les ouverts U pour lesquels il existe un ouvert V disjoint de U et contenant x.
La propriété de Borel-Lebesgue permet d'en extraire un sous-recouvrement fini U_1, ... , U_r. On choisit des ouverts V_1 , ... , V_r qui vont avec. Alors, en posant V = Adh(N n V_1 n ... n V_r) on obtient un voisinage compact de x inclus dans O.
Ça montre bien que les voisinages compacts de x constituent une base de voisinages de x.