Require Export TopologicalSpaces.
Require Export DirectedSets.
Require Export InteriorsClosures.
Require Export Continuity.
Set Asymmetric Patterns.
Section Net.
Variable I:DirectedSet.
Variable X:TopologicalSpace.
Definition Net := DS_set I -> point_set X.
Definition net_limit (x:Net) (x0:point_set X) : Prop :=
forall U:Ensemble (point_set X), open U -> In U x0 ->
for large i:DS_set I, In U (x i).
Definition net_cluster_point (x:Net) (x0:point_set X) : Prop :=
forall U:Ensemble (point_set X), open U -> In U x0 ->
exists arbitrarily large i:DS_set I, In U (x i).

(* Specifications: *)
Lemma net_limit_is_cluster_point: forall (x:Net) (x0:point_set X),
net_limit x x0 -> net_cluster_point x x0.
Lemma net_limit_in_closure: forall (S:Ensemble (point_set X))
(x:Net) (x0:point_set X),
(exists arbitrarily large i:DS_set I, In S (x i)) ->
net_limit x x0 -> In (closure S) x0.
Lemma net_cluster_point_in_closure: forall (S:Ensemble (point_set X))
(x:Net) (x0:point_set X),
(for large i:DS_set I, In S (x i)) ->
net_cluster_point x x0 -> In (closure S) x0.