Definition compact (X:TopologicalSpace) :=
  forall C:Family (point_set X),
    (forall U:Ensemble (point_set X), In C U -> open U) ->
    FamilyUnion C = Full_set ->
    exists C':Family (point_set X),
      Finite _ C' /\ Included C' C /\
      FamilyUnion C' = Full_set.

Lemma closed_compact: forall (X:TopologicalSpace) (S:Ensemble (point_set X)), compact X -> closed S -> compact (SubspaceTopology S).