:: 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 st b3 in b2 holds
not 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 filtered upper proper ;
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 st b3 in b2 holds
for b4 being Filter of (BoolePoset ([#] b1)) st b3 is_a_convergence_point_of b4,b1 holds
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 st ( for b4 being Element of b3 holds b4 is Subset of b1,b2 ) holds
ex b4 being Subset of b1,b2 st 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 filtered upper proper ;
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 st 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 ) holds
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 st b2 in Cl b3 holds
for b4 being proper Filter of (BoolePoset ([#] b1)) st b4 = NeighborhoodSystem b2 holds
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 st b3 is_eventually_in b2 holds
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 st b2 c= b3 & b4 is_a_convergence_point_of b2,b1 holds
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 st b3 is_eventually_in b2 holds
for b4 being Point of b1 st b4 is_a_cluster_point_of b3 holds
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 st b3 is_eventually_in b2 holds
for b4 being Point of b1 st b4 in Lim b3 holds
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)) st b2 in b3 holds
for b4 being Point of b1 st b4 is_a_cluster_point_of b3,b1 holds
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)) st b2 in b3 holds
for b4 being Point of b1 st b4 is_a_convergence_point_of b3,b1 holds
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 st b2 is closed holds
FinMeetCl b2 is closed
proof end;

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

Lemma25: for b1 being non empty TopSpace st ( for b2 being net of b1 st b2 in NetUniv b1 holds
ex b3 being Point of b1 st b3 is_a_cluster_point_of b2 ) holds
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)) 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)) 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 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 st b2 in NetUniv b1 holds
ex b3 being Point of b1 st 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 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 st b2 is Cauchy holds
b2 is convergent )
proof end;