Require Export TopologicalSpaces.
Section OpenBasis.
Variable X : TopologicalSpace.
Variable B : Family (point_set X).
Record open_basis : Prop :=
{ open_basis_elements :
forall V:Ensemble (point_set X), In B V -> open V;
open_basis_cover :
forall (x:point_set X) (U:Ensemble (point_set X)),
open U -> In U x -> exists V:Ensemble (point_set X),
In B V /\ Included V U /\ In V x
}.
Hypothesis Hbasis: open_basis.

(* Specifications: *)
Lemma coverable_by_open_basis_impl_open:
forall U:Ensemble (point_set X),
(forall x:point_set X, In U x -> exists V:Ensemble (point_set X),
In B V /\ Included V U /\ In V x) -> open U.