Definition open_neighborhood {X:TopologicalSpace}
  (U:Ensemble (point_set X)) (x:point_set X) :=
  open U /\ In U x.Definition neighborhood {X:TopologicalSpace}
  (N:Ensemble (point_set X)) (x:point_set X) :=
  exists U:Ensemble (point_set X),
    open_neighborhood U x /\ Included U N.

(* Specifications: *)
Lemma open_neighborhood_is_neighborhood: forall {X:TopologicalSpace} (U:Ensemble (point_set X)) (x:point_set X), open_neighborhood U x -> neighborhood U x.
Lemma neighborhood_interior: forall {X:TopologicalSpace} (N:Ensemble (point_set X)) (x:point_set X), neighborhood N x -> In (interior N) x.
Lemma interior_neighborhood: forall {X:TopologicalSpace} (N:Ensemble (point_set X)) (x:point_set X), In (interior N) x -> neighborhood N x.