:: BORSUK_1 semantic presentation

theorem Th1: :: BORSUK_1:1
canceled;

theorem Th2: :: BORSUK_1:2
canceled;

theorem Th3: :: BORSUK_1:3
canceled;

theorem Th4: :: BORSUK_1:4
for b1 being set
for b2 being Subset of b1 holds (id b1) " b2 = b2
proof end;

theorem Th5: :: BORSUK_1:5
for b1, b2 being set
for b3 being Function st b1 c= b3 " b2 holds
b3 .: b1 c= b2
proof end;

theorem Th6: :: BORSUK_1:6
for b1, b2, b3 being set holds (b1 --> b2) .: b3 c= {b2}
proof end;

theorem Th7: :: BORSUK_1:7
canceled;

theorem Th8: :: BORSUK_1:8
canceled;

theorem Th9: :: BORSUK_1:9
for b1, b2, b3 being set st b1 c= [:b2,b3:] holds
(.: (pr1 b2,b3)) . b1 = (pr1 b2,b3) .: b1
proof end;

theorem Th10: :: BORSUK_1:10
for b1, b2, b3 being set st b1 c= [:b2,b3:] holds
(.: (pr2 b2,b3)) . b1 = (pr2 b2,b3) .: b1
proof end;

theorem Th11: :: BORSUK_1:11
canceled;

theorem Th12: :: BORSUK_1:12
for b1, b2 being set
for b3 being Subset of b1
for b4 being Subset of b2 st [:b3,b4:] <> {} holds
( (pr1 b1,b2) .: [:b3,b4:] = b3 & (pr2 b1,b2) .: [:b3,b4:] = b4 )
proof end;

theorem Th13: :: BORSUK_1:13
for b1, b2 being set
for b3 being Subset of b1
for b4 being Subset of b2 st [:b3,b4:] <> {} holds
( (.: (pr1 b1,b2)) . [:b3,b4:] = b3 & (.: (pr2 b1,b2)) . [:b3,b4:] = b4 )
proof end;

theorem Th14: :: BORSUK_1:14
for b1, b2 being set
for b3 being Subset of [:b1,b2:]
for b4 being Subset-Family of [:b1,b2:] st ( for b5 being set st b5 in b4 holds
( b5 c= b3 & ex b6 being Subset of b1ex b7 being Subset of b2 st b5 = [:b6,b7:] ) ) holds
[:(union ((.: (pr1 b1,b2)) .: b4)),(meet ((.: (pr2 b1,b2)) .: b4)):] c= b3
proof end;

theorem Th15: :: BORSUK_1:15
for b1, b2 being set
for b3 being Subset of [:b1,b2:]
for b4 being Subset-Family of [:b1,b2:] st ( for b5 being set st b5 in b4 holds
( b5 c= b3 & ex b6 being Subset of b1ex b7 being Subset of b2 st b5 = [:b6,b7:] ) ) holds
[:(meet ((.: (pr1 b1,b2)) .: b4)),(union ((.: (pr2 b1,b2)) .: b4)):] c= b3
proof end;

theorem Th16: :: BORSUK_1:16
for b1 being set
for b2 being non empty set
for b3 being Function of b1,b2
for b4 being Subset-Family of b1 holds union ((.: b3) .: b4) = b3 .: (union b4)
proof end;

theorem Th17: :: BORSUK_1:17
for b1 being set
for b2 being Subset-Family of b1 holds union (union b2) = union { (union b3) where B is Subset of b1 : b3 in b2 }
proof end;

theorem Th18: :: BORSUK_1:18
for b1 being set
for b2 being Subset-Family of b1 st union b2 = b1 holds
for b3 being Subset of b2
for b4 being Subset of b1 st b4 = union b3 holds
b4 ` c= union (b3 ` )
proof end;

theorem Th19: :: BORSUK_1:19
for b1, b2, b3 being non empty set
for b4 being Function of b1,b2
for b5 being Function of b1,b3 st ( for b6, b7 being Element of b1 st b4 . b6 = b4 . b7 holds
b5 . b6 = b5 . b7 ) holds
ex b6 being Function of b2,b3 st b6 * b4 = b5
proof end;

theorem Th20: :: BORSUK_1:20
for b1, b2, b3 being non empty set
for b4 being Element of b2
for b5 being Function of b1,b2
for b6 being Function of b2,b3 holds b5 " {b4} c= (b6 * b5) " {(b6 . b4)}
proof end;

theorem Th21: :: BORSUK_1:21
for b1, b2, b3 being non empty set
for b4 being Function of b1,b2
for b5 being Element of b1
for b6 being Element of b3 holds [:b4,(id b3):] . [b5,b6] = [(b4 . b5),b6]
proof end;

theorem Th22: :: BORSUK_1:22
canceled;

theorem Th23: :: BORSUK_1:23
for b1, b2, b3 being non empty set
for b4 being Function of b1,b2
for b5 being Subset of b1
for b6 being Subset of b3 holds [:b4,(id b3):] .: [:b5,b6:] = [:(b4 .: b5),b6:]
proof end;

theorem Th24: :: BORSUK_1:24
for b1, b2, b3 being non empty set
for b4 being Function of b1,b2
for b5 being Element of b2
for b6 being Element of b3 holds [:b4,(id b3):] " {[b5,b6]} = [:(b4 " {b5}),{b6}:]
proof end;

definition
let c1 be non empty set ;
let c2 be set ;
let c3 be Element of c1;
redefine func --> as c2 --> c3 -> Function of a2,a1;
coherence
c2 --> c3 is Function of c2,c1
by FUNCOP_1:58;
end;

theorem Th25: :: BORSUK_1:25
for b1 being non empty set
for b2 being Subset-Family of b1
for b3 being Subset of b2 holds union b3 is Subset of b1
proof end;

theorem Th26: :: BORSUK_1:26
for b1 being set
for b2 being a_partition of b1
for b3, b4 being Subset of b2 holds union (b3 /\ b4) = (union b3) /\ (union b4)
proof end;

theorem Th27: :: BORSUK_1:27
for b1 being non empty set
for b2 being a_partition of b1
for b3 being Subset of b2
for b4 being Subset of b1 st b4 = union b3 holds
b4 ` = union (b3 ` )
proof end;

theorem Th28: :: BORSUK_1:28
for b1 being non empty set
for b2 being Equivalence_Relation of b1 holds not Class b2 is empty ;

registration
let c1 be non empty set ;
cluster non empty a_partition of a1;
existence
not for b1 being a_partition of c1 holds b1 is empty
proof end;
end;

definition
let c1 be non empty set ;
let c2 be non empty a_partition of c1;
func proj c2 -> Function of a1,a2 means :Def1: :: BORSUK_1:def 1
for b1 being Element of a1 holds b1 in a3 . b1;
existence
ex b1 being Function of c1,c2 st
for b2 being Element of c1 holds b2 in b1 . b2
proof end;
correctness
uniqueness
for b1, b2 being Function of c1,c2 st ( for b3 being Element of c1 holds b3 in b1 . b3 ) & ( for b3 being Element of c1 holds b3 in b2 . b3 ) holds
b1 = b2
;
proof end;
end;

:: deftheorem Def1 defines proj BORSUK_1:def 1 :
for b1 being non empty set
for b2 being non empty a_partition of b1
for b3 being Function of b1,b2 holds
( b3 = proj b2 iff for b4 being Element of b1 holds b4 in b3 . b4 );

theorem Th29: :: BORSUK_1:29
for b1 being non empty set
for b2 being non empty a_partition of b1
for b3 being Element of b1
for b4 being Element of b2 st b3 in b4 holds
b4 = (proj b2) . b3
proof end;

theorem Th30: :: BORSUK_1:30
for b1 being non empty set
for b2 being non empty a_partition of b1
for b3 being Element of b2 holds b3 = (proj b2) " {b3}
proof end;

theorem Th31: :: BORSUK_1:31
for b1 being non empty set
for b2 being non empty a_partition of b1
for b3 being Subset of b2 holds (proj b2) " b3 = union b3
proof end;

theorem Th32: :: BORSUK_1:32
for b1 being non empty set
for b2 being non empty a_partition of b1
for b3 being Element of b2 ex b4 being Element of b1 st (proj b2) . b4 = b3
proof end;

theorem Th33: :: BORSUK_1:33
for b1 being non empty set
for b2 being non empty a_partition of b1
for b3 being Subset of b1 st ( for b4 being Subset of b1 st b4 in b2 & b4 meets b3 holds
b4 c= b3 ) holds
b3 = (proj b2) " ((proj b2) .: b3)
proof end;

theorem Th34: :: BORSUK_1:34
canceled;

theorem Th35: :: BORSUK_1:35
for b1 being TopStruct
for b2 being SubSpace of b1 holds the carrier of b2 c= the carrier of b1
proof end;

definition
let c1, c2 be non empty TopSpace;
let c3 be Function of c1,c2;
redefine attr a3 is continuous means :: BORSUK_1:def 2
for b1 being Point of a1
for b2 being a_neighborhood of a3 . b1 ex b3 being a_neighborhood of b1 st a3 .: b3 c= b2;
compatibility
( c3 is continuous iff for b1 being Point of c1
for b2 being a_neighborhood of c3 . b1 ex b3 being a_neighborhood of b1 st c3 .: b3 c= b2 )
proof end;
end;

:: deftheorem Def2 defines continuous BORSUK_1:def 2 :
for b1, b2 being non empty TopSpace
for b3 being Function of b1,b2 holds
( b3 is continuous iff for b4 being Point of b1
for b5 being a_neighborhood of b3 . b4 ex b6 being a_neighborhood of b4 st b3 .: b6 c= b5 );

definition
let c1 be 1-sorted ;
let c2 be non empty 1-sorted ;
let c3 be Element of c2;
func c1 --> c3 -> Function of a1,a2 equals :: BORSUK_1:def 3
the carrier of a1 --> a3;
coherence
the carrier of c1 --> c3 is Function of c1,c2
;
end;

:: deftheorem Def3 defines --> BORSUK_1:def 3 :
for b1 being 1-sorted
for b2 being non empty 1-sorted
for b3 being Element of b2 holds b1 --> b3 = the carrier of b1 --> b3;

theorem Th36: :: BORSUK_1:36
for b1, b2 being non empty TopSpace
for b3 being Point of b1 holds b2 --> b3 is continuous
proof end;

registration
let c1, c2 be non empty TopSpace;
let c3 be Point of c2;
cluster a1 --> a3 -> continuous ;
coherence
c1 --> c3 is continuous
by Th36;
end;

registration
let c1, c2 be non empty TopSpace;
cluster continuous M6(the carrier of a1,the carrier of a2);
existence
ex b1 being Function of c1,c2 st b1 is continuous
proof end;
end;

definition
let c1, c2, c3 be non empty TopSpace;
let c4 be continuous Function of c1,c2;
let c5 be continuous Function of c2,c3;
redefine func * as c5 * c4 -> continuous Function of a1,a3;
coherence
c4 * c5 is continuous Function of c1,c3
by TOPS_2:58;
end;

theorem Th37: :: BORSUK_1:37
for b1, b2 being non empty TopSpace
for b3 being continuous Function of b1,b2
for b4 being Subset of b2 holds b3 " (Int b4) c= Int (b3 " b4)
proof end;

theorem Th38: :: BORSUK_1:38
for b1, b2 being non empty TopSpace
for b3 being Point of b1
for b4 being continuous Function of b2,b1
for b5 being a_neighborhood of b3 holds b4 " b5 is a_neighborhood of b4 " {b3}
proof end;

definition
let c1, c2 be non empty TopSpace;
let c3 be Point of c2;
let c4 be continuous Function of c1,c2;
let c5 be a_neighborhood of c3;
redefine func " as c4 " c5 -> a_neighborhood of a4 " {a3};
correctness
coherence
c4 " c5 is a_neighborhood of c4 " {c3}
;
by Th38;
end;

theorem Th39: :: BORSUK_1:39
for b1 being non empty TopSpace
for b2, b3 being Subset of b1
for b4 being a_neighborhood of b3 st b2 c= b3 holds
b4 is a_neighborhood of b2
proof end;

theorem Th40: :: BORSUK_1:40
canceled;

theorem Th41: :: BORSUK_1:41
for b1 being non empty TopSpace
for b2 being Point of b1 holds {b2} is compact
proof end;

theorem Th42: :: BORSUK_1:42
for b1 being TopStruct
for b2 being SubSpace of b1
for b3 being Subset of b1
for b4 being Subset of b2 st b3 = b4 holds
( b3 is compact iff b4 is compact )
proof end;

definition
let c1, c2 be TopSpace;
canceled;
func [:c1,c2:] -> strict TopSpace means :Def5: :: BORSUK_1:def 5
( the carrier of a3 = [:the carrier of a1,the carrier of a2:] & the topology of a3 = { (union b1) where B is Subset-Family of a3 : b1 c= { [:b2,b3:] where B is Subset of a1, B is Subset of a2 : ( b2 in the topology of a1 & b3 in the topology of a2 ) } } );
existence
ex b1 being strict TopSpace st
( the carrier of b1 = [:the carrier of c1,the carrier of c2:] & the topology of b1 = { (union b2) where B is Subset-Family of b1 : b2 c= { [:b3,b4:] where B is Subset of c1, B is Subset of c2 : ( b3 in the topology of c1 & b4 in the topology of c2 ) } } )
proof end;
uniqueness
for b1, b2 being strict TopSpace st the carrier of b1 = [:the carrier of c1,the carrier of c2:] & the topology of b1 = { (union b3) where B is Subset-Family of b1 : b3 c= { [:b4,b5:] where B is Subset of c1, B is Subset of c2 : ( b4 in the topology of c1 & b5 in the topology of c2 ) } } & the carrier of b2 = [:the carrier of c1,the carrier of c2:] & the topology of b2 = { (union b3) where B is Subset-Family of b2 : b3 c= { [:b4,b5:] where B is Subset of c1, B is Subset of c2 : ( b4 in the topology of c1 & b5 in the topology of c2 ) } } holds
b1 = b2
;
end;

:: deftheorem Def4 BORSUK_1:def 4 :
canceled;

:: deftheorem Def5 defines [: BORSUK_1:def 5 :
for b1, b2 being TopSpace
for b3 being strict TopSpace holds
( b3 = [:b1,b2:] iff ( the carrier of b3 = [:the carrier of b1,the carrier of b2:] & the topology of b3 = { (union b4) where B is Subset-Family of b3 : b4 c= { [:b5,b6:] where B is Subset of b1, B is Subset of b2 : ( b5 in the topology of b1 & b6 in the topology of b2 ) } } ) );

registration
let c1, c2 be non empty TopSpace;
cluster [:a1,a2:] -> non empty strict ;
coherence
not [:c1,c2:] is empty
proof end;
end;

theorem Th43: :: BORSUK_1:43
canceled;

theorem Th44: :: BORSUK_1:44
canceled;

theorem Th45: :: BORSUK_1:45
for b1, b2 being TopSpace
for b3 being Subset of [:b1,b2:] holds
( b3 is open iff ex b4 being Subset-Family of [:b1,b2:] st
( b3 = union b4 & ( for b5 being set st b5 in b4 holds
ex b6 being Subset of b1ex b7 being Subset of b2 st
( b5 = [:b6,b7:] & b6 is open & b7 is open ) ) ) )
proof end;

definition
let c1, c2 be TopSpace;
let c3 be Subset of c1;
let c4 be Subset of c2;
redefine func [: as [:c3,c4:] -> Subset of [:a1,a2:];
correctness
coherence
[:c3,c4:] is Subset of [:c1,c2:]
;
proof end;
end;

definition
let c1, c2 be non empty TopSpace;
let c3 be Point of c1;
let c4 be Point of c2;
redefine func [ as [c3,c4] -> Point of [:a1,a2:];
correctness
coherence
[c3,c4] is Point of [:c1,c2:]
;
proof end;
end;

theorem Th46: :: BORSUK_1:46
for b1, b2 being TopSpace
for b3 being Subset of b1
for b4 being Subset of b2 st b3 is open & b4 is open holds
[:b3,b4:] is open
proof end;

theorem Th47: :: BORSUK_1:47
for b1, b2 being TopSpace
for b3 being Subset of b1
for b4 being Subset of b2 holds Int [:b3,b4:] = [:(Int b3),(Int b4):]
proof end;

theorem Th48: :: BORSUK_1:48
for b1, b2 being non empty TopSpace
for b3 being Point of b1
for b4 being Point of b2
for b5 being a_neighborhood of b3
for b6 being a_neighborhood of b4 holds [:b5,b6:] is a_neighborhood of [b3,b4]
proof end;

theorem Th49: :: BORSUK_1:49
for b1, b2 being non empty TopSpace
for b3 being Subset of b1
for b4 being Subset of b2
for b5 being a_neighborhood of b3
for b6 being a_neighborhood of b4 holds [:b5,b6:] is a_neighborhood of [:b3,b4:]
proof end;

definition
let c1, c2 be non empty TopSpace;
let c3 be Point of c1;
let c4 be Point of c2;
let c5 be a_neighborhood of c3;
let c6 be a_neighborhood of c4;
redefine func [: as [:c5,c6:] -> a_neighborhood of [a3,a4];
correctness
coherence
[:c5,c6:] is a_neighborhood of [c3,c4]
;
by Th48;
end;

theorem Th50: :: BORSUK_1:50
for b1, b2 being non empty TopSpace
for b3 being Point of [:b1,b2:] ex b4 being Point of b1ex b5 being Point of b2 st b3 = [b4,b5]
proof end;

definition
let c1, c2 be non empty TopSpace;
let c3 be Subset of c1;
let c4 be Point of c2;
let c5 be a_neighborhood of c3;
let c6 be a_neighborhood of c4;
redefine func [: as [:c5,c6:] -> a_neighborhood of [:a3,{a4}:];
correctness
coherence
[:c5,c6:] is a_neighborhood of [:c3,{c4}:]
;
proof end;
end;

definition
let c1, c2 be TopSpace;
let c3 be Subset of [:c1,c2:];
func Base-Appr c3 -> Subset-Family of [:a1,a2:] equals :: BORSUK_1:def 6
{ [:b1,b2:] where B is Subset of a1, B is Subset of a2 : ( [:b1,b2:] c= a3 & b1 is open & b2 is open ) } ;
coherence
{ [:b1,b2:] where B is Subset of c1, B is Subset of c2 : ( [:b1,b2:] c= c3 & b1 is open & b2 is open ) } is Subset-Family of [:c1,c2:]
proof end;
end;

:: deftheorem Def6 defines Base-Appr BORSUK_1:def 6 :
for b1, b2 being TopSpace
for b3 being Subset of [:b1,b2:] holds Base-Appr b3 = { [:b4,b5:] where B is Subset of b1, B is Subset of b2 : ( [:b4,b5:] c= b3 & b4 is open & b5 is open ) } ;

theorem Th51: :: BORSUK_1:51
for b1, b2 being TopSpace
for b3 being Subset of [:b1,b2:] holds Base-Appr b3 is open
proof end;

theorem Th52: :: BORSUK_1:52
for b1, b2 being TopSpace
for b3, b4 being Subset of [:b1,b2:] st b3 c= b4 holds
Base-Appr b3 c= Base-Appr b4
proof end;

theorem Th53: :: BORSUK_1:53
for b1, b2 being TopSpace
for b3 being Subset of [:b1,b2:] holds union (Base-Appr b3) c= b3
proof end;

theorem Th54: :: BORSUK_1:54
for b1, b2 being TopSpace
for b3 being Subset of [:b1,b2:] st b3 is open holds
b3 = union (Base-Appr b3)
proof end;

theorem Th55: :: BORSUK_1:55
for b1, b2 being TopSpace
for b3 being Subset of [:b1,b2:] holds Int b3 = union (Base-Appr b3)
proof end;

definition
let c1, c2 be non empty TopSpace;
func Pr1 c1,c2 -> Function of bool the carrier of [:a1,a2:], bool the carrier of a1 equals :: BORSUK_1:def 7
.: (pr1 the carrier of a1,the carrier of a2);
coherence
.: (pr1 the carrier of c1,the carrier of c2) is Function of bool the carrier of [:c1,c2:], bool the carrier of c1
proof end;
correctness
;
func Pr2 c1,c2 -> Function of bool the carrier of [:a1,a2:], bool the carrier of a2 equals :: BORSUK_1:def 8
.: (pr2 the carrier of a1,the carrier of a2);
coherence
.: (pr2 the carrier of c1,the carrier of c2) is Function of bool the carrier of [:c1,c2:], bool the carrier of c2
proof end;
correctness
;
end;

:: deftheorem Def7 defines Pr1 BORSUK_1:def 7 :
for b1, b2 being non empty TopSpace holds Pr1 b1,b2 = .: (pr1 the carrier of b1,the carrier of b2);

:: deftheorem Def8 defines Pr2 BORSUK_1:def 8 :
for b1, b2 being non empty TopSpace holds Pr2 b1,b2 = .: (pr2 the carrier of b1,the carrier of b2);

theorem Th56: :: BORSUK_1:56
for b1, b2 being non empty TopSpace
for b3 being Subset of [:b1,b2:]
for b4 being Subset-Family of [:b1,b2:] st ( for b5 being set st b5 in b4 holds
( b5 c= b3 & ex b6 being Subset of b1ex b7 being Subset of b2 st b5 = [:b6,b7:] ) ) holds
[:(union ((Pr1 b1,b2) .: b4)),(meet ((Pr2 b1,b2) .: b4)):] c= b3
proof end;

theorem Th57: :: BORSUK_1:57
for b1, b2 being non empty TopSpace
for b3 being Subset-Family of [:b1,b2:]
for b4 being set st b4 in (Pr1 b1,b2) .: b3 holds
ex b5 being Subset of [:b1,b2:] st
( b5 in b3 & b4 = (pr1 the carrier of b1,the carrier of b2) .: b5 )
proof end;

theorem Th58: :: BORSUK_1:58
for b1, b2 being non empty TopSpace
for b3 being Subset-Family of [:b1,b2:]
for b4 being set st b4 in (Pr2 b1,b2) .: b3 holds
ex b5 being Subset of [:b1,b2:] st
( b5 in b3 & b4 = (pr2 the carrier of b1,the carrier of b2) .: b5 )
proof end;

theorem Th59: :: BORSUK_1:59
for b1, b2 being non empty TopSpace
for b3 being Subset of [:b1,b2:] st b3 is open holds
for b4 being Subset of b1
for b5 being Subset of b2 holds
( ( b4 = (pr1 the carrier of b1,the carrier of b2) .: b3 implies b4 is open ) & ( b5 = (pr2 the carrier of b1,the carrier of b2) .: b3 implies b5 is open ) )
proof end;

definition
let c1, c2 be set ;
let c3 be Function of bool c1, bool c2;
let c4 be Subset-Family of c1;
redefine func .: as c3 .: c4 -> Subset-Family of a2;
coherence
c3 .: c4 is Subset-Family of c2
proof end;
end;

theorem Th60: :: BORSUK_1:60
for b1, b2 being non empty TopSpace
for b3 being Subset-Family of [:b1,b2:] st b3 is open holds
( (Pr1 b1,b2) .: b3 is open & (Pr2 b1,b2) .: b3 is open )
proof end;

theorem Th61: :: BORSUK_1:61
for b1, b2 being non empty TopSpace
for b3 being Subset-Family of [:b1,b2:] st ( (Pr1 b1,b2) .: b3 = {} or (Pr2 b1,b2) .: b3 = {} ) holds
b3 = {}
proof end;

theorem Th62: :: BORSUK_1:62
for b1, b2 being non empty TopSpace
for b3 being Subset-Family of [:b1,b2:]
for b4 being Subset of b1
for b5 being Subset of b2 st b3 is_a_cover_of [:b4,b5:] holds
( ( b5 <> {} implies (Pr1 b1,b2) .: b3 is_a_cover_of b4 ) & ( b4 <> {} implies (Pr2 b1,b2) .: b3 is_a_cover_of b5 ) )
proof end;

theorem Th63: :: BORSUK_1:63
for b1, b2 being TopSpace
for b3 being Subset-Family of b1
for b4 being Subset of b1 st b3 is_a_cover_of b4 holds
ex b5 being Subset-Family of b1 st
( b5 c= b3 & b5 is_a_cover_of b4 & ( for b6 being set st b6 in b5 holds
b6 meets b4 ) )
proof end;

theorem Th64: :: BORSUK_1:64
for b1, b2 being non empty TopSpace
for b3 being Subset-Family of b1
for b4 being Subset-Family of [:b1,b2:] st b3 is finite & b3 c= (Pr1 b1,b2) .: b4 holds
ex b5 being Subset-Family of [:b1,b2:] st
( b5 c= b4 & b5 is finite & b3 = (Pr1 b1,b2) .: b5 )
proof end;

theorem Th65: :: BORSUK_1:65
for b1, b2 being non empty TopSpace
for b3 being Subset of b1
for b4 being Subset of b2 st [:b3,b4:] <> {} holds
( (Pr1 b1,b2) . [:b3,b4:] = b3 & (Pr2 b1,b2) . [:b3,b4:] = b4 ) by Th13;

theorem Th66: :: BORSUK_1:66
for b1, b2 being non empty TopSpace holds
( (Pr1 b1,b2) . {} = {} & (Pr2 b1,b2) . {} = {} ) by FUNCT_3:9;

theorem Th67: :: BORSUK_1:67
for b1, b2 being non empty TopSpace
for b3 being Point of b1
for b4 being Subset of b2 st b4 is compact holds
for b5 being a_neighborhood of [:b4,{b3}:] ex b6 being a_neighborhood of b4ex b7 being a_neighborhood of b3 st [:b6,b7:] c= b5
proof end;

definition
let c1 be 1-sorted ;
func TrivDecomp c1 -> a_partition of the carrier of a1 equals :: BORSUK_1:def 9
Class (id the carrier of a1);
coherence
Class (id the carrier of c1) is a_partition of the carrier of c1
;
end;

:: deftheorem Def9 defines TrivDecomp BORSUK_1:def 9 :
for b1 being 1-sorted holds TrivDecomp b1 = Class (id the carrier of b1);

registration
let c1 be non empty 1-sorted ;
cluster TrivDecomp a1 -> non empty ;
coherence
not TrivDecomp c1 is empty
;
end;

theorem Th68: :: BORSUK_1:68
for b1 being non empty TopSpace
for b2 being Subset of b1 st b2 in TrivDecomp b1 holds
ex b3 being Point of b1 st b2 = {b3}
proof end;

Lemma56: for b1 being non empty TopSpace
for b2 being Subset of b1 st b2 in TrivDecomp b1 holds
for b3 being a_neighborhood of b2 ex b4 being Subset of b1 st
( b4 is open & b2 c= b4 & b4 c= b3 & ( for b5 being Subset of b1 st b5 in TrivDecomp b1 & b5 meets b4 holds
b5 c= b4 ) )
proof end;

definition
let c1 be TopSpace;
let c2 be a_partition of the carrier of c1;
func space c2 -> strict TopSpace means :Def10: :: BORSUK_1:def 10
( the carrier of a3 = a2 & the topology of a3 = { b1 where B is Subset of a2 : union b1 in the topology of a1 } );
existence
ex b1 being strict TopSpace st
( the carrier of b1 = c2 & the topology of b1 = { b2 where B is Subset of c2 : union b2 in the topology of c1 } )
proof end;
uniqueness
for b1, b2 being strict TopSpace st the carrier of b1 = c2 & the topology of b1 = { b3 where B is Subset of c2 : union b3 in the topology of c1 } & the carrier of b2 = c2 & the topology of b2 = { b3 where B is Subset of c2 : union b3 in the topology of c1 } holds
b1 = b2
;
end;

:: deftheorem Def10 defines space BORSUK_1:def 10 :
for b1 being TopSpace
for b2 being a_partition of the carrier of b1
for b3 being strict TopSpace holds
( b3 = space b2 iff ( the carrier of b3 = b2 & the topology of b3 = { b4 where B is Subset of b2 : union b4 in the topology of b1 } ) );

registration
let c1 be non empty TopSpace;
let c2 be non empty a_partition of the carrier of c1;
cluster space a2 -> non empty strict ;
coherence
not space c2 is empty
proof end;
end;

theorem Th69: :: BORSUK_1:69
for b1 being non empty TopSpace
for b2 being non empty a_partition of the carrier of b1
for b3 being Subset of b2 holds
( union b3 in the topology of b1 iff b3 in the topology of (space b2) )
proof end;

definition
let c1 be non empty TopSpace;
let c2 be non empty a_partition of the carrier of c1;
func Proj c2 -> continuous Function of a1,(space a2) equals :: BORSUK_1:def 11
proj a2;
coherence
proj c2 is continuous Function of c1,(space c2)
proof end;
correctness
;
end;

:: deftheorem Def11 defines Proj BORSUK_1:def 11 :
for b1 being non empty TopSpace
for b2 being non empty a_partition of the carrier of b1 holds Proj b2 = proj b2;

theorem Th70: :: BORSUK_1:70
for b1 being non empty TopSpace
for b2 being non empty a_partition of the carrier of b1
for b3 being Point of b1 holds b3 in (Proj b2) . b3 by Def1;

theorem Th71: :: BORSUK_1:71
for b1 being non empty TopSpace
for b2 being non empty a_partition of the carrier of b1
for b3 being Point of (space b2) ex b4 being Point of b1 st (Proj b2) . b4 = b3
proof end;

theorem Th72: :: BORSUK_1:72
for b1 being non empty TopSpace
for b2 being non empty a_partition of the carrier of b1 holds rng (Proj b2) = the carrier of (space b2)
proof end;

definition
let c1 be non empty TopSpace;
let c2 be non empty SubSpace of c1;
let c3 be non empty a_partition of the carrier of c2;
func TrivExt c3 -> non empty a_partition of the carrier of a1 equals :: BORSUK_1:def 12
a3 \/ { {b1} where B is Point of a1 : not b1 in the carrier of a2 } ;
coherence
c3 \/ { {b1} where B is Point of c1 : not b1 in the carrier of c2 } is non empty a_partition of the carrier of c1
proof end;
correctness
;
end;

:: deftheorem Def12 defines TrivExt BORSUK_1:def 12 :
for b1 being non empty TopSpace
for b2 being non empty SubSpace of b1
for b3 being non empty a_partition of the carrier of b2 holds TrivExt b3 = b3 \/ { {b4} where B is Point of b1 : not b4 in the carrier of b2 } ;

theorem Th73: :: BORSUK_1:73
for b1 being non empty TopSpace
for b2 being non empty SubSpace of b1
for b3 being non empty a_partition of the carrier of b2 holds b3 c= TrivExt b3 by XBOOLE_1:7;

theorem Th74: :: BORSUK_1:74
for b1 being non empty TopSpace
for b2 being non empty SubSpace of b1
for b3 being non empty a_partition of the carrier of b2
for b4 being Subset of b1 holds
( not b4 in TrivExt b3 or b4 in b3 or ex b5 being Point of b1 st
( not b5 in [#] b2 & b4 = {b5} ) )
proof end;

theorem Th75: :: BORSUK_1:75
for b1 being non empty TopSpace
for b2 being non empty SubSpace of b1
for b3 being non empty a_partition of the carrier of b2
for b4 being Point of b1 st not b4 in the carrier of b2 holds
{b4} in TrivExt b3
proof end;

theorem Th76: :: BORSUK_1:76
for b1 being non empty TopSpace
for b2 being non empty SubSpace of b1
for b3 being non empty a_partition of the carrier of b2
for b4 being Point of b1 st b4 in the carrier of b2 holds
(Proj (TrivExt b3)) . b4 = (Proj b3) . b4
proof end;

theorem Th77: :: BORSUK_1:77
for b1 being non empty TopSpace
for b2 being non empty SubSpace of b1
for b3 being non empty a_partition of the carrier of b2
for b4 being Point of b1 st not b4 in the carrier of b2 holds
(Proj (TrivExt b3)) . b4 = {b4}
proof end;

theorem Th78: :: BORSUK_1:78
for b1 being non empty TopSpace
for b2 being non empty SubSpace of b1
for b3 being non empty a_partition of the carrier of b2
for b4, b5 being Point of b1 st not b4 in the carrier of b2 & (Proj (TrivExt b3)) . b4 = (Proj (TrivExt b3)) . b5 holds
b4 = b5
proof end;

theorem Th79: :: BORSUK_1:79
for b1 being non empty TopSpace
for b2 being non empty SubSpace of b1
for b3 being non empty a_partition of the carrier of b2
for b4 being Point of b1 st (Proj (TrivExt b3)) . b4 in the carrier of (space b3) holds
b4 in the carrier of b2
proof end;

theorem Th80: :: BORSUK_1:80
for b1 being non empty TopSpace
for b2 being non empty SubSpace of b1
for b3 being non empty a_partition of the carrier of b2
for b4 being set st b4 in the carrier of b2 holds
(Proj (TrivExt b3)) . b4 in the carrier of (space b3)
proof end;

definition
let c1 be non empty TopSpace;
mode u.s.c._decomposition of c1 -> non empty a_partition of the carrier of a1 means :Def13: :: BORSUK_1:def 13
for b1 being Subset of a1 st b1 in a2 holds
for b2 being a_neighborhood of b1 ex b3 being Subset of a1 st
( b3 is open & b1 c= b3 & b3 c= b2 & ( for b4 being Subset of a1 st b4 in a2 & b4 meets b3 holds
b4 c= b3 ) );
correctness
existence
ex b1 being non empty a_partition of the carrier of c1 st
for b2 being Subset of c1 st b2 in b1 holds
for b3 being a_neighborhood of b2 ex b4 being Subset of c1 st
( b4 is open & b2 c= b4 & b4 c= b3 & ( for b5 being Subset of c1 st b5 in b1 & b5 meets b4 holds
b5 c= b4 ) )
;
proof end;
end;

:: deftheorem Def13 defines u.s.c._decomposition BORSUK_1:def 13 :
for b1 being non empty TopSpace
for b2 being non empty a_partition of the carrier of b1 holds
( b2 is u.s.c._decomposition of b1 iff for b3 being Subset of b1 st b3 in b2 holds
for b4 being a_neighborhood of b3 ex b5 being Subset of b1 st
( b5 is open & b3 c= b5 & b5 c= b4 & ( for b6 being Subset of b1 st b6 in b2 & b6 meets b5 holds
b6 c= b5 ) ) );

theorem Th81: :: BORSUK_1:81
for b1 being non empty TopSpace
for b2 being u.s.c._decomposition of b1
for b3 being Point of (space b2)
for b4 being a_neighborhood of (Proj b2) " {b3} holds (Proj b2) .: b4 is a_neighborhood of b3
proof end;

theorem Th82: :: BORSUK_1:82
for b1 being non empty TopSpace holds TrivDecomp b1 is u.s.c._decomposition of b1
proof end;

definition
let c1 be TopSpace;
let c2 be SubSpace of c1;
attr a2 is closed means :Def14: :: BORSUK_1:def 14
for b1 being Subset of a1 st b1 = the carrier of a2 holds
b1 is closed;
end;

:: deftheorem Def14 defines closed BORSUK_1:def 14 :
for b1 being TopSpace
for b2 being SubSpace of b1 holds
( b2 is closed iff for b3 being Subset of b1 st b3 = the carrier of b2 holds
b3 is closed );

Lemma72: for b1 being TopStruct holds TopStruct(# the carrier of b1,the topology of b1 #) is SubSpace of b1
proof end;

registration
let c1 be TopSpace;
cluster strict closed SubSpace of a1;
existence
ex b1 being SubSpace of c1 st
( b1 is strict & b1 is closed )
proof end;
end;

registration
let c1 be non empty TopSpace;
cluster non empty strict closed SubSpace of a1;
existence
ex b1 being SubSpace of c1 st
( b1 is strict & b1 is closed & not b1 is empty )
proof end;
end;

definition
let c1 be non empty TopSpace;
let c2 be non empty closed SubSpace of c1;
let c3 be u.s.c._decomposition of c2;
redefine func TrivExt as TrivExt c3 -> u.s.c._decomposition of a1;
correctness
coherence
TrivExt c3 is u.s.c._decomposition of c1
;
proof end;
end;

definition
let c1 be non empty TopSpace;
let c2 be u.s.c._decomposition of c1;
attr a2 is DECOMPOSITION-like means :Def15: :: BORSUK_1:def 15
for b1 being Subset of a1 st b1 in a2 holds
b1 is compact;
end;

:: deftheorem Def15 defines DECOMPOSITION-like BORSUK_1:def 15 :
for b1 being non empty TopSpace
for b2 being u.s.c._decomposition of b1 holds
( b2 is DECOMPOSITION-like iff for b3 being Subset of b1 st b3 in b2 holds
b3 is compact );

registration
let c1 be non empty TopSpace;
cluster non empty DECOMPOSITION-like u.s.c._decomposition of a1;
existence
ex b1 being u.s.c._decomposition of c1 st b1 is DECOMPOSITION-like
proof end;
end;

definition
let c1 be non empty TopSpace;
mode DECOMPOSITION of a1 is DECOMPOSITION-like u.s.c._decomposition of a1;
end;

definition
let c1 be non empty TopSpace;
let c2 be non empty closed SubSpace of c1;
let c3 be DECOMPOSITION of c2;
redefine func TrivExt as TrivExt c3 -> DECOMPOSITION of a1;
correctness
coherence
TrivExt c3 is DECOMPOSITION of c1
;
proof end;
end;

definition
let c1 be non empty TopSpace;
let c2 be non empty closed SubSpace of c1;
let c3 be DECOMPOSITION of c2;
redefine func space as space c3 -> strict closed SubSpace of space (TrivExt a3);
correctness
coherence
space c3 is strict closed SubSpace of space (TrivExt c3)
;
proof end;
end;

Lemma74: TopSpaceMetr RealSpace = TopStruct(# the carrier of RealSpace ,(Family_open_set RealSpace ) #)
by PCOMPS_1:def 6;

definition
func I[01] -> TopStruct means :Def16: :: BORSUK_1:def 16
for b1 being Subset of (TopSpaceMetr RealSpace ) st b1 = [.0,1.] holds
a1 = (TopSpaceMetr RealSpace ) | b1;
existence
ex b1 being TopStruct st
for b2 being Subset of (TopSpaceMetr RealSpace ) st b2 = [.0,1.] holds
b1 = (TopSpaceMetr RealSpace ) | b2
proof end;
uniqueness
for b1, b2 being TopStruct st ( for b3 being Subset of (TopSpaceMetr RealSpace ) st b3 = [.0,1.] holds
b1 = (TopSpaceMetr RealSpace ) | b3 ) & ( for b3 being Subset of (TopSpaceMetr RealSpace ) st b3 = [.0,1.] holds
b2 = (TopSpaceMetr RealSpace ) | b3 ) holds
b1 = b2
proof end;
end;

:: deftheorem Def16 defines I[01] BORSUK_1:def 16 :
for b1 being TopStruct holds
( b1 = I[01] iff for b2 being Subset of (TopSpaceMetr RealSpace ) st b2 = [.0,1.] holds
b1 = (TopSpaceMetr RealSpace ) | b2 );

registration
cluster I[01] -> non empty strict TopSpace-like ;
coherence
( I[01] is strict & not I[01] is empty & I[01] is TopSpace-like )
proof end;
end;

theorem Th83: :: BORSUK_1:83
the carrier of I[01] = [.0,1.]
proof end;

definition
func 0[01] -> Point of I[01] equals :: BORSUK_1:def 17
0;
coherence
0 is Point of I[01]
by Th83, RCOMP_1:15;
func 1[01] -> Point of I[01] equals :: BORSUK_1:def 18
1;
coherence
1 is Point of I[01]
by Th83, RCOMP_1:15;
end;

:: deftheorem Def17 defines 0[01] BORSUK_1:def 17 :
0[01] = 0;

:: deftheorem Def18 defines 1[01] BORSUK_1:def 18 :
1[01] = 1;

definition
let c1 be non empty TopSpace;
let c2 be non empty SubSpace of c1;
let c3 be Function of c1,c2;
attr a3 is being_a_retraction means :Def19: :: BORSUK_1:def 19
for b1 being Point of a1 st b1 in the carrier of a2 holds
a3 . b1 = b1;
end;

:: deftheorem Def19 defines being_a_retraction BORSUK_1:def 19 :
for b1 being non empty TopSpace
for b2 being non empty SubSpace of b1
for b3 being Function of b1,b2 holds
( b3 is being_a_retraction iff for b4 being Point of b1 st b4 in the carrier of b2 holds
b3 . b4 = b4 );

notation
let c1 be non empty TopSpace;
let c2 be non empty SubSpace of c1;
let c3 be Function of c1,c2;
synonym c3 is_a_retraction for being_a_retraction c3;
end;

definition
let c1 be non empty TopSpace;
let c2 be non empty SubSpace of c1;
pred c2 is_a_retract_of c1 means :: BORSUK_1:def 20
ex b1 being continuous Function of a1,a2 st b1 is_a_retraction ;
pred c2 is_an_SDR_of c1 means :: BORSUK_1:def 21
ex b1 being continuous Function of [:a1,I[01] :],a1 st
for b2 being Point of a1 holds
( b1 . [b2,0[01] ] = b2 & b1 . [b2,1[01] ] in the carrier of a2 & ( b2 in the carrier of a2 implies for b3 being Point of I[01] holds b1 . [b2,b3] = b2 ) );
end;

:: deftheorem Def20 defines is_a_retract_of BORSUK_1:def 20 :
for b1 being non empty TopSpace
for b2 being non empty SubSpace of b1 holds
( b2 is_a_retract_of b1 iff ex b3 being continuous Function of b1,b2 st b3 is_a_retraction );

:: deftheorem Def21 defines is_an_SDR_of BORSUK_1:def 21 :
for b1 being non empty TopSpace
for b2 being non empty SubSpace of b1 holds
( b2 is_an_SDR_of b1 iff ex b3 being continuous Function of [:b1,I[01] :],b1 st
for b4 being Point of b1 holds
( b3 . [b4,0[01] ] = b4 & b3 . [b4,1[01] ] in the carrier of b2 & ( b4 in the carrier of b2 implies for b5 being Point of I[01] holds b3 . [b4,b5] = b4 ) ) );

theorem Th84: :: BORSUK_1:84
for b1 being non empty TopSpace
for b2 being non empty closed SubSpace of b1
for b3 being DECOMPOSITION of b2 st b2 is_a_retract_of b1 holds
space b3 is_a_retract_of space (TrivExt b3)
proof end;

theorem Th85: :: BORSUK_1:85
for b1 being non empty TopSpace
for b2 being non empty closed SubSpace of b1
for b3 being DECOMPOSITION of b2 st b2 is_an_SDR_of b1 holds
space b3 is_an_SDR_of space (TrivExt b3)
proof end;