Require Export TopologicalSpaces.
Require Export Nets.
Require Export FilterLimits.
Require Export Continuity.
Set Asymmetric Patterns.
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 net_cluster_point_impl_compact: forall X:TopologicalSpace,
(forall (I:DirectedSet) (x:Net I X), inhabited (DS_set I) ->
exists x0:point_set X, net_cluster_point x x0) ->
compact X.