:: YELLOW19 semantic presentation

theorem Th1: :: YELLOW19:1
canceled;

theorem Th2: :: YELLOW19:2
for b1 being non empty set
for b2 being proper Filter of (BoolePoset b1)
for b3 being set holds
not ( b3 in b2 & b3 is empty )
proof end;

definition
let c1 be non empty TopSpace;
let c2 be Point of c1;
func NeighborhoodSystem c2 -> Subset of (BoolePoset ([#] a1)) equals :: YELLOW19:def 1
{ b1 where B is a_neighborhood of a2 : verum } ;
coherence
{ b1 where B is a_neighborhood of c2 : verum } is Subset of (BoolePoset ([#] c1))
proof end;
end;

:: deftheorem Def1 defines NeighborhoodSystem YELLOW19:def 1 :
for b1 being non empty TopSpace
for b2 being Point of b1 holds NeighborhoodSystem b2 = { b3 where B is a_neighborhood of b2 : verum } ;

theorem Th3: :: YELLOW19:3
for b1 being non empty TopSpace
for b2 being Point of b1
for b3 being set holds
( b3 in NeighborhoodSystem b2 iff b3 is a_neighborhood of b2 )
proof end;

registration
let c1 be non empty TopSpace;
let c2 be Point of c1;
cluster NeighborhoodSystem a2 -> non empty proper filtered upper ;
coherence
( not NeighborhoodSystem c2 is empty & NeighborhoodSystem c2 is proper & NeighborhoodSystem c2 is upper & NeighborhoodSystem c2 is filtered )
proof end;
end;

theorem Th4: :: YELLOW19:4
for b1 being non empty TopSpace
for b2 being Point of b1
for b3 being upper Subset of (BoolePoset ([#] b1)) holds
( b2 is_a_convergence_point_of b3,b1 iff NeighborhoodSystem b2 c= b3 )
proof end;

theorem Th5: :: YELLOW19:5
for b1 being non empty TopSpace
for b2 being Point of b1 holds b2 is_a_convergence_point_of NeighborhoodSystem b2,b1 by Th4;

theorem Th6: :: YELLOW19:6
for b1 being non empty TopSpace
for b2 being Subset of b1 holds
( b2 is open iff for b3 being Point of b1 holds
( b3 in b2 implies for b4 being Filter of (BoolePoset ([#] b1)) holds
( b3 is_a_convergence_point_of b4,b1 implies b2 in b4 ) ) )
proof end;

definition
let c1 be non empty 1-sorted ;
let c2 be non empty NetStr of c1;
mode Subset of c1,c2 -> Subset of a1 means :Def2: :: YELLOW19:def 2
ex b1 being Element of a2 st a3 = rng the mapping of (a2 | b1);
existence
ex b1 being Subset of c1ex b2 being Element of c2 st b1 = rng the mapping of (c2 | b2)
proof end;
end;

:: deftheorem Def2 defines Subset YELLOW19:def 2 :
for b1 being non empty 1-sorted
for b2 being non empty NetStr of b1
for b3 being Subset of b1 holds
( b3 is Subset of b1,b2 iff ex b4 being Element of b2 st b3 = rng the mapping of (b2 | b4) );

theorem Th7: :: YELLOW19:7
for b1 being non empty 1-sorted
for b2 being non empty NetStr of b1
for b3 being Element of b2 holds
rng the mapping of (b2 | b3) is Subset of b1,b2 by Def2;

registration
let c1 be non empty 1-sorted ;
let c2 be non empty reflexive NetStr of c1;
cluster -> non empty Subset of a1,a2;
coherence
for b1 being Subset of c1,c2 holds
not b1 is empty
proof end;
end;

theorem Th8: :: YELLOW19:8
for b1 being non empty 1-sorted
for b2 being net of b1
for b3 being Element of b2
for b4 being set holds
( b4 in rng the mapping of (b2 | b3) iff ex b5 being Element of b2 st
( b3 <= b5 & b4 = b2 . b5 ) )
proof end;

theorem Th9: :: YELLOW19:9
for b1 being non empty 1-sorted
for b2 being net of b1
for b3 being Subset of b1,b2 holds b2 is_eventually_in b3
proof end;

theorem Th10: :: YELLOW19:10
for b1 being non empty 1-sorted
for b2 being net of b1
for b3 being non empty finite set holds
not ( ( for b4 being Element of b3 holds
b4 is Subset of b1,b2 ) & ( for b4 being Subset of b1,b2 holds
not b4 c= meet b3 ) )
proof end;

definition
let c1 be non empty 1-sorted ;
let c2 be non empty NetStr of c1;
func a_filter c2 -> Subset of (BoolePoset ([#] a1)) equals :: YELLOW19:def 3
{ b1 where B is Subset of a1 : a2 is_eventually_in b1 } ;
coherence
{ b1 where B is Subset of c1 : c2 is_eventually_in b1 } is Subset of (BoolePoset ([#] c1))
proof end;
end;

:: deftheorem Def3 defines a_filter YELLOW19:def 3 :
for b1 being non empty 1-sorted
for b2 being non empty NetStr of b1 holds a_filter b2 = { b3 where B is Subset of b1 : b2 is_eventually_in b3 } ;

theorem Th11: :: YELLOW19:11
for b1 being non empty 1-sorted
for b2 being non empty NetStr of b1
for b3 being set holds
( b3 in a_filter b2 iff ( b2 is_eventually_in b3 & b3 is Subset of b1 ) )
proof end;

registration
let c1 be non empty 1-sorted ;
let c2 be non empty NetStr of c1;
cluster a_filter a2 -> non empty upper ;
coherence
( not a_filter c2 is empty & a_filter c2 is upper )
proof end;
end;

registration
let c1 be non empty 1-sorted ;
let c2 be net of c1;
cluster a_filter a2 -> non empty proper filtered upper ;
coherence
( a_filter c2 is proper & a_filter c2 is filtered )
proof end;
end;

theorem Th12: :: YELLOW19:12
for b1 being non empty TopSpace
for b2 being net of b1
for b3 being Point of b1 holds
( b3 is_a_cluster_point_of b2 iff b3 is_a_cluster_point_of a_filter b2,b1 )
proof end;

theorem Th13: :: YELLOW19:13
for b1 being non empty TopSpace
for b2 being net of b1
for b3 being Point of b1 holds
( b3 in Lim b2 iff b3 is_a_convergence_point_of a_filter b2,b1 )
proof end;

definition
let c1 be non empty 1-sorted ;
let c2 be non empty Subset of c1;
let c3 be Filter of (BoolePoset c2);
func a_net c3 -> non empty strict NetStr of a1 means :Def4: :: YELLOW19:def 4
( the carrier of a4 = { [b1,b2] where B is Element of a1, B is Element of a3 : b1 in b2 } & ( for b1, b2 being Element of a4 holds
( b1 <= b2 iff b2 `2 c= b1 `2 ) ) & ( for b1 being Element of a4 holds a4 . b1 = b1 `1 ) );
existence
ex b1 being non empty strict NetStr of c1 st
( the carrier of b1 = { [b2,b3] where B is Element of c1, B is Element of c3 : b2 in b3 } & ( for b2, b3 being Element of b1 holds
( b2 <= b3 iff b3 `2 c= b2 `2 ) ) & ( for b2 being Element of b1 holds b1 . b2 = b2 `1 ) )
proof end;
uniqueness
for b1, b2 being non empty strict NetStr of c1 holds
( the carrier of b1 = { [b3,b4] where B is Element of c1, B is Element of c3 : b3 in b4 } & ( for b3, b4 being Element of b1 holds
( b3 <= b4 iff b4 `2 c= b3 `2 ) ) & ( for b3 being Element of b1 holds b1 . b3 = b3 `1 ) & the carrier of b2 = { [b3,b4] where B is Element of c1, B is Element of c3 : b3 in b4 } & ( for b3, b4 being Element of b2 holds
( b3 <= b4 iff b4 `2 c= b3 `2 ) ) & ( for b3 being Element of b2 holds b2 . b3 = b3 `1 ) implies b1 = b2 )
proof end;
end;

:: deftheorem Def4 defines a_net YELLOW19:def 4 :
for b1 being non empty 1-sorted
for b2 being non empty Subset of b1
for b3 being Filter of (BoolePoset b2)
for b4 being non empty strict NetStr of b1 holds
( b4 = a_net b3 iff ( the carrier of b4 = { [b5,b6] where B is Element of b1, B is Element of b3 : b5 in b6 } & ( for b5, b6 being Element of b4 holds
( b5 <= b6 iff b6 `2 c= b5 `2 ) ) & ( for b5 being Element of b4 holds b4 . b5 = b5 `1 ) ) );

registration
let c1 be non empty 1-sorted ;
let c2 be non empty Subset of c1;
let c3 be Filter of (BoolePoset c2);
cluster a_net a3 -> non empty reflexive transitive strict ;
coherence
( a_net c3 is reflexive & a_net c3 is transitive )
proof end;
end;

registration
let c1 be non empty 1-sorted ;
let c2 be non empty Subset of c1;
let c3 be proper Filter of (BoolePoset c2);
cluster a_net a3 -> non empty reflexive transitive strict directed ;
coherence
a_net c3 is directed
proof end;
end;

theorem Th14: :: YELLOW19:14
for b1 being non empty 1-sorted
for b2 being Filter of (BoolePoset ([#] b1)) holds b2 \ {{} } = a_filter (a_net b2)
proof end;

theorem Th15: :: YELLOW19:15
for b1 being non empty 1-sorted
for b2 being proper Filter of (BoolePoset ([#] b1)) holds b2 = a_filter (a_net b2)
proof end;

theorem Th16: :: YELLOW19:16
for b1 being non empty 1-sorted
for b2 being Filter of (BoolePoset ([#] b1))
for b3 being non empty Subset of b1 holds
( b3 in b2 iff a_net b2 is_eventually_in b3 )
proof end;

theorem Th17: :: YELLOW19:17
for b1 being non empty TopSpace
for b2 being proper Filter of (BoolePoset ([#] b1))
for b3 being Point of b1 holds
( b3 is_a_cluster_point_of a_net b2 iff b3 is_a_cluster_point_of b2,b1 )
proof end;

theorem Th18: :: YELLOW19:18
for b1 being non empty TopSpace
for b2 being proper Filter of (BoolePoset ([#] b1))
for b3 being Point of b1 holds
( b3 in Lim (a_net b2) iff b3 is_a_convergence_point_of b2,b1 )
proof end;

theorem Th19: :: YELLOW19:19
canceled;

theorem Th20: :: YELLOW19:20
for b1 being non empty TopSpace
for b2 being Point of b1
for b3 being Subset of b1 holds
( b2 in Cl b3 implies for b4 being proper Filter of (BoolePoset ([#] b1)) holds
( b4 = NeighborhoodSystem b2 implies a_net b4 is_often_in b3 ) )
proof end;

theorem Th21: :: YELLOW19:21
for b1 being non empty 1-sorted
for b2 being set
for b3 being net of b1 holds
( b3 is_eventually_in b2 implies for b4 being subnet of b3 holds b4 is_eventually_in b2 )
proof end;

theorem Th22: :: YELLOW19:22
for b1 being non empty TopSpace
for b2, b3, b4 being set holds
( b2 c= b3 & b4 is_a_convergence_point_of b2,b1 implies b4 is_a_convergence_point_of b3,b1 )
proof end;

theorem Th23: :: YELLOW19:23
for b1 being non empty TopSpace
for b2 being Subset of b1
for b3 being Point of b1 holds
( b3 in Cl b2 iff ex b4 being net of b1 st
( b4 is_eventually_in b2 & b3 is_a_cluster_point_of b4 ) )
proof end;

theorem Th24: :: YELLOW19:24
for b1 being non empty TopSpace
for b2 being Subset of b1
for b3 being Point of b1 holds
( b3 in Cl b2 iff ex b4 being convergent net of b1 st
( b4 is_eventually_in b2 & b3 in Lim b4 ) )
proof end;

theorem Th25: :: YELLOW19:25
for b1 being non empty TopSpace
for b2 being Subset of b1 holds
( b2 is closed iff for b3 being net of b1 holds
( b3 is_eventually_in b2 implies for b4 being Point of b1 holds
( b4 is_a_cluster_point_of b3 implies b4 in b2 ) ) )
proof end;

theorem Th26: :: YELLOW19:26
for b1 being non empty TopSpace
for b2 being Subset of b1 holds
( b2 is closed iff for b3 being convergent net of b1 holds
( b3 is_eventually_in b2 implies for b4 being Point of b1 holds
( b4 in Lim b3 implies b4 in b2 ) ) )
proof end;

theorem Th27: :: YELLOW19:27
for b1 being non empty TopSpace
for b2 being Subset of b1
for b3 being Point of b1 holds
( b3 in Cl b2 iff ex b4 being proper Filter of (BoolePoset ([#] b1)) st
( b2 in b4 & b3 is_a_cluster_point_of b4,b1 ) )
proof end;

theorem Th28: :: YELLOW19:28
for b1 being non empty TopSpace
for b2 being Subset of b1
for b3 being Point of b1 holds
( b3 in Cl b2 iff ex b4 being ultra Filter of (BoolePoset ([#] b1)) st
( b2 in b4 & b3 is_a_convergence_point_of b4,b1 ) )
proof end;

theorem Th29: :: YELLOW19:29
for b1 being non empty TopSpace
for b2 being Subset of b1 holds
( b2 is closed iff for b3 being proper Filter of (BoolePoset ([#] b1)) holds
( b2 in b3 implies for b4 being Point of b1 holds
( b4 is_a_cluster_point_of b3,b1 implies b4 in b2 ) ) )
proof end;

theorem Th30: :: YELLOW19:30
for b1 being non empty TopSpace
for b2 being Subset of b1 holds
( b2 is closed iff for b3 being ultra Filter of (BoolePoset ([#] b1)) holds
( b2 in b3 implies for b4 being Point of b1 holds
( b4 is_a_convergence_point_of b3,b1 implies b4 in b2 ) ) )
proof end;

theorem Th31: :: YELLOW19:31
for b1 being non empty TopSpace
for b2 being net of b1
for b3 being Point of b1 holds
( b3 is_a_cluster_point_of b2 iff for b4 being Subset of b1,b2 holds b3 in Cl b4 )
proof end;

theorem Th32: :: YELLOW19:32
for b1 being non empty TopSpace
for b2 being Subset-Family of b1 holds
( b2 is closed implies FinMeetCl b2 is closed )
proof end;

Lemma24: for b1 being non empty TopSpace holds
( b1 is compact implies for b2 being net of b1 holds
ex b3 being Point of b1 st b3 is_a_cluster_point_of b2 )
proof end;

Lemma25: for b1 being non empty TopSpace holds
( ( for b2 being net of b1 holds
not ( b2 in NetUniv b1 & ( for b3 being Point of b1 holds
not b3 is_a_cluster_point_of b2 ) ) ) implies b1 is compact )
proof end;

theorem Th33: :: YELLOW19:33
for b1 being non empty TopSpace holds
( b1 is compact iff for b2 being ultra Filter of (BoolePoset ([#] b1)) holds
ex b3 being Point of b1 st b3 is_a_convergence_point_of b2,b1 )
proof end;

theorem Th34: :: YELLOW19:34
for b1 being non empty TopSpace holds
( b1 is compact iff for b2 being proper Filter of (BoolePoset ([#] b1)) holds
ex b3 being Point of b1 st b3 is_a_cluster_point_of b2,b1 )
proof end;

theorem Th35: :: YELLOW19:35
for b1 being non empty TopSpace holds
( b1 is compact iff for b2 being net of b1 holds
ex b3 being Point of b1 st b3 is_a_cluster_point_of b2 )
proof end;

theorem Th36: :: YELLOW19:36
for b1 being non empty TopSpace holds
( b1 is compact iff for b2 being net of b1 holds
not ( b2 in NetUniv b1 & ( for b3 being Point of b1 holds
not b3 is_a_cluster_point_of b2 ) ) ) by Lemma24, Lemma25;

registration
let c1 be non empty 1-sorted ;
let c2 be transitive NetStr of c1;
cluster full -> transitive full SubNetStr of a2;
coherence
for b1 being full SubNetStr of c2 holds b1 is transitive
proof end;
end;

registration
let c1 be non empty 1-sorted ;
let c2 be non empty directed NetStr of c1;
cluster non empty strict directed full SubNetStr of a2;
existence
ex b1 being SubNetStr of c2 st
( b1 is strict & not b1 is empty & b1 is directed & b1 is full )
proof end;
end;

theorem Th37: :: YELLOW19:37
for b1 being non empty TopSpace holds
( b1 is compact iff for b2 being net of b1 holds
ex b3 being subnet of b2 st b3 is convergent )
proof end;

definition
let c1 be non empty 1-sorted ;
let c2 be non empty NetStr of c1;
attr a2 is Cauchy means :: YELLOW19:def 5
for b1 being Subset of a1 holds
( a2 is_eventually_in b1 or a2 is_eventually_in b1 ` );
end;

:: deftheorem Def5 defines Cauchy YELLOW19:def 5 :
for b1 being non empty 1-sorted
for b2 being non empty NetStr of b1 holds
( b2 is Cauchy iff for b3 being Subset of b1 holds
( b2 is_eventually_in b3 or b2 is_eventually_in b3 ` ) );

registration
let c1 be non empty 1-sorted ;
let c2 be ultra Filter of (BoolePoset ([#] c1));
cluster a_net a2 -> non empty reflexive transitive strict directed Cauchy ;
coherence
a_net c2 is Cauchy
proof end;
end;

theorem Th38: :: YELLOW19:38
for b1 being non empty TopSpace holds
( b1 is compact iff for b2 being net of b1 holds
( b2 is Cauchy implies b2 is convergent ) )
proof end;