:: YELLOW12 semantic presentation

registration
let c1 be empty set ;
cluster union a1 -> empty ;
coherence
union c1 is empty
by ZFMISC_1:2;
end;

E1: now
let c1, c2, c3, c4 be set ;
assume E2: ( c3 in c1 & c4 in c2 ) ;
E3: dom <:(pr2 c1,c2),(pr1 c1,c2):> = (dom (pr2 c1,c2)) /\ (dom (pr1 c1,c2)) by FUNCT_3:def 8
.= (dom (pr2 c1,c2)) /\ [:c1,c2:] by FUNCT_3:def 5
.= [:c1,c2:] /\ [:c1,c2:] by FUNCT_3:def 6
.= [:c1,c2:] ;
[c3,c4] in [:c1,c2:] by E2, ZFMISC_1:106;
hence <:(pr2 c1,c2),(pr1 c1,c2):> . [c3,c4] = [((pr2 c1,c2) . [c3,c4]),((pr1 c1,c2) . [c3,c4])] by E3, FUNCT_3:def 8
.= [c4,((pr1 c1,c2) . [c3,c4])] by E2, FUNCT_3:def 6
.= [c4,c3] by E2, FUNCT_3:def 5 ;

end;

theorem Th1: :: YELLOW12:1
for b1, b2 being set holds (delta b1) .: b2 c= [:b2,b2:]
proof end;

theorem Th2: :: YELLOW12:2
for b1, b2 being set holds (delta b1) " [:b2,b2:] c= b2
proof end;

theorem Th3: :: YELLOW12:3
for b1 being set
for b2 being Subset of b1 holds (delta b1) " [:b2,b2:] = b2
proof end;

theorem Th4: :: YELLOW12:4
for b1, b2 being set holds
( dom <:(pr2 b1,b2),(pr1 b1,b2):> = [:b1,b2:] & rng <:(pr2 b1,b2),(pr1 b1,b2):> = [:b2,b1:] )
proof end;

theorem Th5: :: YELLOW12:5
for b1, b2, b3, b4 being set holds <:(pr2 b1,b2),(pr1 b1,b2):> .: [:b3,b4:] c= [:b4,b3:]
proof end;

theorem Th6: :: YELLOW12:6
for b1, b2 being set
for b3 being Subset of b1
for b4 being Subset of b2 holds <:(pr2 b1,b2),(pr1 b1,b2):> .: [:b3,b4:] = [:b4,b3:]
proof end;

theorem Th7: :: YELLOW12:7
for b1, b2 being set holds <:(pr2 b1,b2),(pr1 b1,b2):> is one-to-one
proof end;

registration
let c1, c2 be set ;
cluster <:(pr2 a1,a2),(pr1 a1,a2):> -> one-to-one ;
coherence
<:(pr2 c1,c2),(pr1 c1,c2):> is one-to-one
by Th7;
end;

theorem Th8: :: YELLOW12:8
for b1, b2 being set holds <:(pr2 b1,b2),(pr1 b1,b2):> " = <:(pr2 b2,b1),(pr1 b2,b1):>
proof end;

theorem Th9: :: YELLOW12:9
for b1 being Semilattice
for b2 being non empty RelStr
for b3, b4 being Element of b1
for b5, b6 being Element of b2 st RelStr(# the carrier of b1,the InternalRel of b1 #) = RelStr(# the carrier of b2,the InternalRel of b2 #) & b3 = b5 & b4 = b6 holds
b3 "/\" b4 = b5 "/\" b6
proof end;

theorem Th10: :: YELLOW12:10
for b1 being sup-Semilattice
for b2 being non empty RelStr
for b3, b4 being Element of b1
for b5, b6 being Element of b2 st RelStr(# the carrier of b1,the InternalRel of b1 #) = RelStr(# the carrier of b2,the InternalRel of b2 #) & b3 = b5 & b4 = b6 holds
b3 "\/" b4 = b5 "\/" b6
proof end;

theorem Th11: :: YELLOW12:11
for b1 being Semilattice
for b2 being non empty RelStr
for b3, b4 being Subset of b1
for b5, b6 being Subset of b2 st RelStr(# the carrier of b1,the InternalRel of b1 #) = RelStr(# the carrier of b2,the InternalRel of b2 #) & b3 = b5 & b4 = b6 holds
b3 "/\" b4 = b5 "/\" b6
proof end;

theorem Th12: :: YELLOW12:12
for b1 being sup-Semilattice
for b2 being non empty RelStr
for b3, b4 being Subset of b1
for b5, b6 being Subset of b2 st RelStr(# the carrier of b1,the InternalRel of b1 #) = RelStr(# the carrier of b2,the InternalRel of b2 #) & b3 = b5 & b4 = b6 holds
b3 "\/" b4 = b5 "\/" b6
proof end;

theorem Th13: :: YELLOW12:13
for b1 being non empty reflexive antisymmetric up-complete RelStr
for b2 being non empty reflexive RelStr
for b3 being Element of b1
for b4 being Element of b2 st RelStr(# the carrier of b1,the InternalRel of b1 #) = RelStr(# the carrier of b2,the InternalRel of b2 #) & b3 = b4 holds
( waybelow b3 = waybelow b4 & wayabove b3 = wayabove b4 )
proof end;

theorem Th14: :: YELLOW12:14
for b1 being meet-continuous Semilattice
for b2 being non empty reflexive RelStr st RelStr(# the carrier of b1,the InternalRel of b1 #) = RelStr(# the carrier of b2,the InternalRel of b2 #) holds
b2 is meet-continuous
proof end;

theorem Th15: :: YELLOW12:15
for b1 being non empty reflexive antisymmetric continuous RelStr
for b2 being non empty reflexive RelStr st RelStr(# the carrier of b1,the InternalRel of b1 #) = RelStr(# the carrier of b2,the InternalRel of b2 #) holds
b2 is continuous
proof end;

theorem Th16: :: YELLOW12:16
for b1, b2 being RelStr
for b3 being Subset of b1
for b4 being Subset of b2 st RelStr(# the carrier of b1,the InternalRel of b1 #) = RelStr(# the carrier of b2,the InternalRel of b2 #) & b3 = b4 holds
subrelstr b3 = subrelstr b4
proof end;

theorem Th17: :: YELLOW12:17
for b1, b2 being non empty RelStr
for b3 being SubRelStr of b1
for b4 being SubRelStr of b2 st RelStr(# the carrier of b1,the InternalRel of b1 #) = RelStr(# the carrier of b2,the InternalRel of b2 #) & RelStr(# the carrier of b3,the InternalRel of b3 #) = RelStr(# the carrier of b4,the InternalRel of b4 #) & b3 is meet-inheriting holds
b4 is meet-inheriting
proof end;

theorem Th18: :: YELLOW12:18
for b1, b2 being non empty RelStr
for b3 being SubRelStr of b1
for b4 being SubRelStr of b2 st RelStr(# the carrier of b1,the InternalRel of b1 #) = RelStr(# the carrier of b2,the InternalRel of b2 #) & RelStr(# the carrier of b3,the InternalRel of b3 #) = RelStr(# the carrier of b4,the InternalRel of b4 #) & b3 is join-inheriting holds
b4 is join-inheriting
proof end;

theorem Th19: :: YELLOW12:19
for b1 being non empty reflexive antisymmetric up-complete RelStr
for b2 being non empty reflexive RelStr
for b3 being Subset of b1
for b4 being Subset of b2 st RelStr(# the carrier of b1,the InternalRel of b1 #) = RelStr(# the carrier of b2,the InternalRel of b2 #) & b3 = b4 & b3 has_the_property_(S) holds
b4 has_the_property_(S)
proof end;

theorem Th20: :: YELLOW12:20
for b1 being non empty reflexive antisymmetric up-complete RelStr
for b2 being non empty reflexive RelStr
for b3 being Subset of b1
for b4 being Subset of b2 st RelStr(# the carrier of b1,the InternalRel of b1 #) = RelStr(# the carrier of b2,the InternalRel of b2 #) & b3 = b4 & b3 is closed_under_directed_sups holds
b4 is closed_under_directed_sups
proof end;

theorem Th21: :: YELLOW12:21
for b1 being antisymmetric with_infima RelStr
for b2, b3 being Subset of b1
for b4 being upper Subset of b1 st b2 misses b4 holds
b2 "/\" b3 misses b4
proof end;

theorem Th22: :: YELLOW12:22
for b1 being non empty reflexive RelStr holds id the carrier of b1 c= the InternalRel of b1 /\ the InternalRel of (b1 ~ )
proof end;

theorem Th23: :: YELLOW12:23
for b1 being antisymmetric RelStr holds the InternalRel of b1 /\ the InternalRel of (b1 ~ ) c= id the carrier of b1
proof end;

theorem Th24: :: YELLOW12:24
for b1 being upper-bounded Semilattice
for b2 being Subset of [:b1,b1:] st ex_inf_of (inf_op b1) .: b2,b1 holds
inf_op b1 preserves_inf_of b2
proof end;

registration
let c1 be complete Semilattice;
cluster inf_op a1 -> infs-preserving ;
coherence
inf_op c1 is infs-preserving
proof end;
end;

theorem Th25: :: YELLOW12:25
for b1 being lower-bounded sup-Semilattice
for b2 being Subset of [:b1,b1:] st ex_sup_of (sup_op b1) .: b2,b1 holds
sup_op b1 preserves_sup_of b2
proof end;

registration
let c1 be complete sup-Semilattice;
cluster sup_op a1 -> sups-preserving ;
coherence
sup_op c1 is sups-preserving
proof end;
end;

theorem Th26: :: YELLOW12:26
for b1 being Semilattice
for b2 being Subset of b1 st subrelstr b2 is meet-inheriting holds
b2 is filtered
proof end;

theorem Th27: :: YELLOW12:27
for b1 being sup-Semilattice
for b2 being Subset of b1 st subrelstr b2 is join-inheriting holds
b2 is directed
proof end;

theorem Th28: :: YELLOW12:28
for b1 being transitive RelStr
for b2, b3 being Subset of b1 st b2 is_coarser_than uparrow b3 holds
uparrow b2 c= uparrow b3
proof end;

theorem Th29: :: YELLOW12:29
for b1 being transitive RelStr
for b2, b3 being Subset of b1 st b2 is_finer_than downarrow b3 holds
downarrow b2 c= downarrow b3
proof end;

theorem Th30: :: YELLOW12:30
for b1 being non empty reflexive RelStr
for b2 being Element of b1
for b3 being Subset of b1 st b2 in b3 holds
uparrow b2 c= uparrow b3
proof end;

theorem Th31: :: YELLOW12:31
for b1 being non empty reflexive RelStr
for b2 being Element of b1
for b3 being Subset of b1 st b2 in b3 holds
downarrow b2 c= downarrow b3
proof end;

registration
let c1 be non empty TopStruct ;
cluster TopStruct(# the carrier of a1,the topology of a1 #) -> non empty ;
coherence
not TopStruct(# the carrier of c1,the topology of c1 #) is empty
by STRUCT_0:def 1;
end;

registration
let c1 be TopSpace;
cluster TopStruct(# the carrier of a1,the topology of a1 #) -> TopSpace-like ;
coherence
TopStruct(# the carrier of c1,the topology of c1 #) is TopSpace-like
proof end;
end;

theorem Th32: :: YELLOW12:32
for b1, b2 being TopStruct
for b3 being Basis of b1 st TopStruct(# the carrier of b1,the topology of b1 #) = TopStruct(# the carrier of b2,the topology of b2 #) holds
b3 is Basis of b2
proof end;

theorem Th33: :: YELLOW12:33
for b1, b2 being TopStruct
for b3 being prebasis of b1 st TopStruct(# the carrier of b1,the topology of b1 #) = TopStruct(# the carrier of b2,the topology of b2 #) holds
b3 is prebasis of b2
proof end;

theorem Th34: :: YELLOW12:34
for b1 being non empty TopSpace
for b2 being Basis of b1 holds not b2 is empty
proof end;

registration
let c1 be non empty TopSpace;
cluster -> non empty Basis of a1;
coherence
for b1 being Basis of c1 holds not b1 is empty
by Th34;
end;

theorem Th35: :: YELLOW12:35
for b1 being non empty TopSpace
for b2 being Point of b1
for b3 being Basis of b2 holds not b3 is empty
proof end;

registration
let c1 be non empty TopSpace;
let c2 be Point of c1;
cluster -> non empty Basis of a2;
coherence
for b1 being Basis of c2 holds not b1 is empty
by Th35;
end;

theorem Th36: :: YELLOW12:36
for b1, b2, b3, b4 being TopSpace
for b5 being Function of b1,b3
for b6 being Function of b2,b4 st TopStruct(# the carrier of b1,the topology of b1 #) = TopStruct(# the carrier of b2,the topology of b2 #) & TopStruct(# the carrier of b3,the topology of b3 #) = TopStruct(# the carrier of b4,the topology of b4 #) & b5 = b6 & b5 is continuous holds
b6 is continuous
proof end;

theorem Th37: :: YELLOW12:37
for b1 being non empty TopSpace holds id the carrier of b1 = { b2 where B is Point of [:b1,b1:] : (pr1 the carrier of b1,the carrier of b1) . b2 = (pr2 the carrier of b1,the carrier of b1) . b2 }
proof end;

theorem Th38: :: YELLOW12:38
for b1 being non empty TopSpace holds delta the carrier of b1 is continuous Function of b1,[:b1,b1:]
proof end;

theorem Th39: :: YELLOW12:39
for b1, b2 being non empty TopSpace holds pr1 the carrier of b1,the carrier of b2 is continuous Function of [:b1,b2:],b1
proof end;

theorem Th40: :: YELLOW12:40
for b1, b2 being non empty TopSpace holds pr2 the carrier of b1,the carrier of b2 is continuous Function of [:b1,b2:],b2
proof end;

theorem Th41: :: YELLOW12:41
for b1, b2, b3 being non empty TopSpace
for b4 being continuous Function of b1,b2
for b5 being continuous Function of b1,b3 holds <:b4,b5:> is continuous Function of b1,[:b2,b3:]
proof end;

theorem Th42: :: YELLOW12:42
for b1, b2 being non empty TopSpace holds <:(pr2 the carrier of b1,the carrier of b2),(pr1 the carrier of b1,the carrier of b2):> is continuous Function of [:b1,b2:],[:b2,b1:]
proof end;

theorem Th43: :: YELLOW12:43
for b1, b2 being non empty TopSpace
for b3 being Function of [:b1,b2:],[:b2,b1:] st b3 = <:(pr2 the carrier of b1,the carrier of b2),(pr1 the carrier of b1,the carrier of b2):> holds
b3 is_homeomorphism
proof end;

theorem Th44: :: YELLOW12:44
for b1, b2 being non empty TopSpace holds [:b1,b2:],[:b2,b1:] are_homeomorphic
proof end;

theorem Th45: :: YELLOW12:45
for b1 being non empty TopSpace
for b2 being non empty Hausdorff TopSpace
for b3, b4 being continuous Function of b1,b2 holds
( ( for b5 being Subset of b1 st b5 = { b6 where B is Point of b1 : b3 . b6 <> b4 . b6 } holds
b5 is open ) & ( for b5 being Subset of b1 st b5 = { b6 where B is Point of b1 : b3 . b6 = b4 . b6 } holds
b5 is closed ) )
proof end;

theorem Th46: :: YELLOW12:46
for b1 being non empty TopSpace holds
( b1 is Hausdorff iff for b2 being Subset of [:b1,b1:] st b2 = id the carrier of b1 holds
b2 is closed )
proof end;

registration
let c1, c2 be TopStruct ;
cluster strict Refinement of a1,a2;
existence
ex b1 being Refinement of c1,c2 st b1 is strict
proof end;
end;

registration
let c1 be non empty TopStruct ;
let c2 be TopStruct ;
cluster non empty strict Refinement of a1,a2;
existence
ex b1 being Refinement of c1,c2 st
( b1 is strict & not b1 is empty )
proof end;
cluster non empty strict Refinement of a2,a1;
existence
ex b1 being Refinement of c2,c1 st
( b1 is strict & not b1 is empty )
proof end;
end;

theorem Th47: :: YELLOW12:47
for b1, b2, b3 being TopStruct holds
( b1 is Refinement of b2,b3 iff TopStruct(# the carrier of b1,the topology of b1 #) is Refinement of b2,b3 )
proof end;

theorem Th48: :: YELLOW12:48
for b1, b2, b3, b4 being non empty TopSpace
for b5 being Refinement of [:b1,b3:],[:b2,b4:] st the carrier of b1 = the carrier of b2 & the carrier of b3 = the carrier of b4 holds
{ ([:b6,b8:] /\ [:b7,b9:]) where B is Subset of b1, B is Subset of b2, B is Subset of b3, B is Subset of b4 : ( b6 is open & b7 is open & b8 is open & b9 is open ) } is Basis of b5
proof end;

theorem Th49: :: YELLOW12:49
for b1, b2, b3, b4 being non empty TopSpace
for b5 being Refinement of [:b1,b3:],[:b2,b4:]
for b6 being Refinement of b1,b2
for b7 being Refinement of b3,b4 st the carrier of b1 = the carrier of b2 & the carrier of b3 = the carrier of b4 holds
( the carrier of [:b6,b7:] = the carrier of b5 & the topology of [:b6,b7:] = the topology of b5 )
proof end;

theorem Th50: :: YELLOW12:50
for b1, b2, b3, b4 being non empty TopSpace
for b5 being Refinement of b1,b2
for b6 being Refinement of b3,b4 st the carrier of b1 = the carrier of b2 & the carrier of b3 = the carrier of b4 holds
[:b5,b6:] is Refinement of [:b1,b3:],[:b2,b4:]
proof end;