Definition first_countable (X:TopologicalSpace) : Prop :=
  forall x:point_set X, exists NBx:Family (point_set X),
    neighborhood_basis NBx x /\ Countable NBx.

(* Specifications: *)
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.
Lemma first_countable_sequence_closure: forall (X:TopologicalSpace) (S:Ensemble (point_set X)) (x:point_set X), first_countable X -> In (closure S) x -> exists y:Net nat_DS X, (forall n:nat, In S (y n)) /\ net_limit y x.