Definition closed {X:TopologicalSpace} (F:Ensemble (point_set X)) :=
open (Ensembles.Complement F).

(* Specifications: *)
Lemma closed_complement_open: forall {X:TopologicalSpace}
(U:Ensemble (point_set X)), closed (Ensembles.Complement U) ->
open U.
Lemma closed_union2: forall {X:TopologicalSpace}
(F G:Ensemble (point_set X)),
closed F -> closed G -> closed (Union F G).
Lemma closed_intersection2: forall {X:TopologicalSpace}
(F G:Ensemble (point_set X)),
closed F -> closed G -> closed (Intersection F G).
Lemma closed_family_intersection: forall {X:TopologicalSpace}
(F:Family (point_set X)),
(forall S:Ensemble (point_set X), In F S -> closed S) ->
closed (FamilyIntersection F).
Lemma closed_indexed_intersection: forall {X:TopologicalSpace}
{A:Type} (F:IndexedFamily A (point_set X)),
(forall a:A, closed (F a)) -> closed (IndexedIntersection F).
Lemma closed_finite_indexed_union: forall {X:TopologicalSpace}
{A:Type} (F:IndexedFamily A (point_set X)),
FiniteT A -> (forall a:A, closed (F a)) ->
closed (IndexedUnion F).