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 ultrafilter_limit_impl_compact:
forall X:TopologicalSpace,
(forall U:Filter (point_set X), ultrafilter U ->
exists x0:point_set X, filter_limit U x0) -> compact X.