let T be non empty TopSpace; :: thesis: for N being net of T
for x being Point of T st x is_a_cluster_point_of N holds
ex M being subnet of N st x in Lim M

let N be net of T; :: thesis: for x being Point of T st x is_a_cluster_point_of N holds
ex M being subnet of N st x in Lim M

let x be Point of T; :: thesis: ( x is_a_cluster_point_of N implies ex M being subnet of N st x in Lim M )
assume A1: x is_a_cluster_point_of N ; :: thesis: ex M being subnet of N st x in Lim M
set q = the Element of N;
set S9 = { [s,O] where s is Element of N, O is Element of (OpenNeighborhoods x) : N . s in O } ;
reconsider O = [#] T as Element of (OpenNeighborhoods x) by YELLOW_6:30;
N . the Element of N in [#] T ;
then [ the Element of N,O] in { [s,O] where s is Element of N, O is Element of (OpenNeighborhoods x) : N . s in O } ;
then reconsider S9 = { [s,O] where s is Element of N, O is Element of (OpenNeighborhoods x) : N . s in O } as non empty set ;
set n = the mapping of N;
defpred S1[ set , set ] means ex s1, s2 being Element of N st
( s1 = $1 `1 & s2 = $2 `1 & s1 <= s2 & $2 `2 c= $1 `2 );
consider L being non empty strict RelStr such that
A2: the carrier of L = S9 and
A3: for a, b being Element of L holds
( a <= b iff S1[a,b] ) from YELLOW_0:sch 1();
deffunc H1( Element of L) -> set = the mapping of N . ($1 `1);
A4: for a being Element of L holds H1(a) in the carrier of T
proof
let a be Element of L; :: thesis: H1(a) in the carrier of T
a in S9 by A2;
then consider s being Element of N, O being Element of (OpenNeighborhoods x) such that
A5: a = [s,O] and
N . s in O ;
the mapping of N . (a `1) = the mapping of N . s by A5;
hence H1(a) in the carrier of T ; :: thesis: verum
end;
consider g being Function of the carrier of L, the carrier of T such that
A6: for x being Element of L holds g . x = H1(x) from FUNCT_2:sch 8(A4);
set M = NetStr(# the carrier of L, the InternalRel of L,g #);
for a, b being Element of NetStr(# the carrier of L, the InternalRel of L,g #) ex z being Element of NetStr(# the carrier of L, the InternalRel of L,g #) st
( a <= z & b <= z )
proof
let a, b be Element of NetStr(# the carrier of L, the InternalRel of L,g #); :: thesis: ex z being Element of NetStr(# the carrier of L, the InternalRel of L,g #) st
( a <= z & b <= z )

a in S9 by A2;
then consider aa being Element of N, Oa being Element of (OpenNeighborhoods x) such that
A7: a = [aa,Oa] and
N . aa in Oa ;
b in S9 by A2;
then consider bb being Element of N, Ob being Element of (OpenNeighborhoods x) such that
A8: b = [bb,Ob] and
N . bb in Ob ;
consider z1 being Element of N such that
A9: aa <= z1 and
A10: bb <= z1 by YELLOW_6:def 3;
( Oa is a_neighborhood of x & Ob is a_neighborhood of x ) by Th21;
then Oa /\ Ob is a_neighborhood of x by CONNSP_2:2;
then N is_often_in Oa /\ Ob by A1;
then consider d being Element of N such that
A11: z1 <= d and
A12: N . d in Oa /\ Ob ;
Oa /\ Ob is Element of (OpenNeighborhoods x) by Th22;
then [d,(Oa /\ Ob)] in S9 by A12;
then reconsider z = [d,(Oa /\ Ob)] as Element of NetStr(# the carrier of L, the InternalRel of L,g #) by A2;
reconsider A1 = a, C7 = b, z2 = z as Element of L ;
A13: ( C7 `1 = bb & C7 `2 = Ob ) by A8;
take z ; :: thesis: ( a <= z & b <= z )
A14: ( A1 `1 = aa & A1 `2 = Oa ) by A7;
A15: ( z2 `1 = d & z2 `2 = Oa /\ Ob ) ;
( Oa /\ Ob c= Ob & bb <= d ) by A10, A11, XBOOLE_1:17, YELLOW_0:def 2;
then A16: C7 <= z2 by A3, A13, A15;
( Oa /\ Ob c= Oa & aa <= d ) by A9, A11, XBOOLE_1:17, YELLOW_0:def 2;
then A1 <= z2 by A3, A14, A15;
hence ( a <= z & b <= z ) by A16; :: thesis: verum
end;
then reconsider M = NetStr(# the carrier of L, the InternalRel of L,g #) as prenet of T by YELLOW_6:def 3;
M is transitive
proof
let x, y, z be Element of M; :: according to YELLOW_0:def 2 :: thesis: ( not x <= y or not y <= z or x <= z )
assume that
A17: x <= y and
A18: y <= z ; :: thesis: x <= z
reconsider x1 = x, y1 = y, z1 = z as Element of L ;
x1 <= y1 by A17;
then consider sx, sy being Element of N such that
A19: sx = x1 `1 and
A20: ( sy = y1 `1 & sx <= sy & y1 `2 c= x1 `2 ) by A3;
y1 <= z1 by A18;
then consider s1, s2 being Element of N such that
A21: s1 = y1 `1 and
A22: s2 = z1 `1 and
A23: ( s1 <= s2 & z1 `2 c= y1 `2 ) by A3;
( sx <= s2 & z1 `2 c= x1 `2 ) by A20, A21, A23, YELLOW_0:def 2;
then x1 <= z1 by A3, A19, A22;
hence x <= z ; :: thesis: verum
end;
then reconsider M = M as net of T ;
M is subnet of N
proof
deffunc H2( Element of L) -> set = $1 `1 ;
A24: for a being Element of L holds H2(a) in the carrier of N
proof
let a be Element of L; :: thesis: H2(a) in the carrier of N
a in S9 by A2;
then consider s being Element of N, O being Element of (OpenNeighborhoods x) such that
A25: a = [s,O] and
N . s in O ;
a `1 = s by A25;
hence H2(a) in the carrier of N ; :: thesis: verum
end;
consider f being Function of the carrier of L, the carrier of N such that
A26: for x being Element of L holds f . x = H2(x) from FUNCT_2:sch 8(A24);
reconsider f = f as Function of M,N ;
take f ; :: according to YELLOW_6:def 9 :: thesis: ( the mapping of M = the mapping of N * f & ( for b1 being Element of the carrier of N ex b2 being Element of the carrier of M st
for b3 being Element of the carrier of M holds
( not b2 <= b3 or b1 <= f . b3 ) ) )

for x being object st x in the carrier of M holds
g . x = ( the mapping of N * f) . x
proof
let x be object ; :: thesis: ( x in the carrier of M implies g . x = ( the mapping of N * f) . x )
assume A27: x in the carrier of M ; :: thesis: g . x = ( the mapping of N * f) . x
hence g . x = the mapping of N . (x `1) by A6
.= the mapping of N . (f . x) by A26, A27
.= ( the mapping of N * f) . x by A27, FUNCT_2:15 ;
:: thesis: verum
end;
hence the mapping of M = the mapping of N * f by FUNCT_2:12; :: thesis: for b1 being Element of the carrier of N ex b2 being Element of the carrier of M st
for b3 being Element of the carrier of M holds
( not b2 <= b3 or b1 <= f . b3 )

let m be Element of N; :: thesis: ex b1 being Element of the carrier of M st
for b2 being Element of the carrier of M holds
( not b1 <= b2 or m <= f . b2 )

N . m in [#] T ;
then [m,O] in S9 ;
then reconsider n = [m,O] as Element of M by A2;
take n ; :: thesis: for b1 being Element of the carrier of M holds
( not n <= b1 or m <= f . b1 )

let p be Element of M; :: thesis: ( not n <= p or m <= f . p )
assume A28: n <= p ; :: thesis: m <= f . p
reconsider n1 = n, p1 = p as Element of L ;
n1 <= p1 by A28;
then A29: ex s1, s2 being Element of N st
( s1 = n1 `1 & s2 = p1 `1 & s1 <= s2 & p1 `2 c= n1 `2 ) by A3;
f . p = p `1 by A26;
hence m <= f . p by A29; :: thesis: verum
end;
then reconsider M = M as subnet of N ;
take M ; :: thesis: x in Lim M
for V being a_neighborhood of x holds M is_eventually_in V
proof
set i = the Element of N;
let V be a_neighborhood of x; :: thesis: M is_eventually_in V
( x in Int V & Int V is open ) by CONNSP_2:def 1;
then A30: Int V in the carrier of (OpenNeighborhoods x) by YELLOW_6:30;
then Int V is a_neighborhood of x by Th21;
then N is_often_in Int V by A1;
then consider s being Element of N such that
the Element of N <= s and
A31: N . s in Int V ;
A32: M is_eventually_in Int V
proof
[s,(Int V)] in S9 by A30, A31;
then reconsider j = [s,(Int V)] as Element of M by A2;
take j ; :: according to WAYBEL_0:def 11 :: thesis: for b1 being Element of the carrier of M holds
( not j <= b1 or M . b1 in Int V )

let s9 be Element of M; :: thesis: ( not j <= s9 or M . s9 in Int V )
assume A33: j <= s9 ; :: thesis: M . s9 in Int V
reconsider j1 = j, s1 = s9 as Element of L ;
j1 <= s1 by A33;
then A34: ex s1, s2 being Element of N st
( s1 = j `1 & s2 = s9 `1 & s1 <= s2 & s9 `2 c= j `2 ) by A3;
s9 in S9 by A2;
then consider ss being Element of N, OO being Element of (OpenNeighborhoods x) such that
A35: s9 = [ss,OO] and
A36: N . ss in OO ;
A37: ( j `2 = Int V & s9 `2 = OO ) by A35;
M . s9 = the mapping of N . (s9 `1) by A6
.= N . ss by A35 ;
hence M . s9 in Int V by A36, A34, A37; :: thesis: verum
end;
Int V c= V by TOPS_1:16;
hence M is_eventually_in V by A32, WAYBEL_0:8; :: thesis: verum
end;
hence x in Lim M by YELLOW_6:def 15; :: thesis: verum