Require Export TopologicalSpaces NeighborhoodBases.
From ZornsLemma Require Export CountableTypes.
From Coq Require ProofIrrelevance ClassicalChoice.
Global Set Asymmetric Patterns.
Definition first_countable (X:TopologicalSpace) : Prop :=
forall x:point_set X, exists NBx:Family (point_set X),
neighborhood_basis NBx x /\ Countable NBx.

Lemma first_countable_open_neighborhood_bases:
forall X:TopologicalSpace, first_countable X ->
forall x:point_set X, exists NBx:Family (point_set X),
open_neighborhood_basis NBx x /\ Countable NBx.