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 finite_nonempty_closed_intersection_impl_compact: forall X:TopologicalSpace, (forall F:Family (point_set X), (forall G:Ensemble (point_set X), In F G -> closed G) -> (forall F':Family (point_set X), Finite _ F' -> Included F' F -> Inhabited (FamilyIntersection F')) -> Inhabited (FamilyIntersection F)) -> compact X.