:: TOPALG_4 semantic presentation

Lemma1: 1 in {1,2}
by TARSKI:def 2;

Lemma2: 2 in {1,2}
by TARSKI:def 2;

theorem Th1: :: TOPALG_4:1
for b1, b2 being non empty HGrStr
for b3 being Element of (product <*b1,b2*>) ex b4 being Element of b1ex b5 being Element of b2 st b3 = <*b4,b5*>
proof end;

definition
let c1, c2, c3, c4 be non empty HGrStr ;
let c5 be Function of c1,c3;
let c6 be Function of c2,c4;
func Gr2Iso c5,c6 -> Function of (product <*a1,a2*>),(product <*a3,a4*>) means :Def1: :: TOPALG_4:def 1
for b1 being Element of (product <*a1,a2*>) ex b2 being Element of a1ex b3 being Element of a2 st
( b1 = <*b2,b3*> & a7 . b1 = <*(a5 . b2),(a6 . b3)*> );
existence
ex b1 being Function of (product <*c1,c2*>),(product <*c3,c4*>) st
for b2 being Element of (product <*c1,c2*>) ex b3 being Element of c1ex b4 being Element of c2 st
( b2 = <*b3,b4*> & b1 . b2 = <*(c5 . b3),(c6 . b4)*> )
proof end;
uniqueness
for b1, b2 being Function of (product <*c1,c2*>),(product <*c3,c4*>) st ( for b3 being Element of (product <*c1,c2*>) ex b4 being Element of c1ex b5 being Element of c2 st
( b3 = <*b4,b5*> & b1 . b3 = <*(c5 . b4),(c6 . b5)*> ) ) & ( for b3 being Element of (product <*c1,c2*>) ex b4 being Element of c1ex b5 being Element of c2 st
( b3 = <*b4,b5*> & b2 . b3 = <*(c5 . b4),(c6 . b5)*> ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def1 defines Gr2Iso TOPALG_4:def 1 :
for b1, b2, b3, b4 being non empty HGrStr
for b5 being Function of b1,b3
for b6 being Function of b2,b4
for b7 being Function of (product <*b1,b2*>),(product <*b3,b4*>) holds
( b7 = Gr2Iso b5,b6 iff for b8 being Element of (product <*b1,b2*>) ex b9 being Element of b1ex b10 being Element of b2 st
( b8 = <*b9,b10*> & b7 . b8 = <*(b5 . b9),(b6 . b10)*> ) );

theorem Th2: :: TOPALG_4:2
for b1, b2, b3, b4 being non empty HGrStr
for b5 being Function of b1,b3
for b6 being Function of b2,b4
for b7 being Element of b1
for b8 being Element of b2 holds (Gr2Iso b5,b6) . <*b7,b8*> = <*(b5 . b7),(b6 . b8)*>
proof end;

definition
let c1, c2, c3, c4 be Group;
let c5 be Homomorphism of c1,c3;
let c6 be Homomorphism of c2,c4;
redefine func Gr2Iso as Gr2Iso c5,c6 -> Homomorphism of (product <*a1,a2*>),(product <*a3,a4*>);
coherence
Gr2Iso c5,c6 is Homomorphism of (product <*c1,c2*>),(product <*c3,c4*>)
proof end;
end;

theorem Th3: :: TOPALG_4:3
for b1, b2, b3, b4 being non empty HGrStr
for b5 being Function of b1,b3
for b6 being Function of b2,b4 st b5 is one-to-one & b6 is one-to-one holds
Gr2Iso b5,b6 is one-to-one
proof end;

theorem Th4: :: TOPALG_4:4
for b1, b2, b3, b4 being non empty HGrStr
for b5 being Function of b1,b3
for b6 being Function of b2,b4 st b5 is onto & b6 is onto holds
Gr2Iso b5,b6 is onto
proof end;

theorem Th5: :: TOPALG_4:5
for b1, b2, b3, b4 being Group
for b5 being Homomorphism of b1,b3
for b6 being Homomorphism of b2,b4 st b5 is being_isomorphism & b6 is being_isomorphism holds
Gr2Iso b5,b6 is being_isomorphism
proof end;

theorem Th6: :: TOPALG_4:6
for b1, b2, b3, b4 being Group st b1,b3 are_isomorphic & b2,b4 are_isomorphic holds
product <*b1,b2*>, product <*b3,b4*> are_isomorphic
proof end;

set c1 = the carrier of I[01] ;

reconsider c2 = 0, c3 = 1 as Point of I[01] by BORSUK_1:def 17, BORSUK_1:def 18;

theorem Th7: :: TOPALG_4:7
for b1, b2 being Function st dom b1 = dom b2 holds
pr1 <:b1,b2:> = b1
proof end;

theorem Th8: :: TOPALG_4:8
for b1, b2 being Function st dom b1 = dom b2 holds
pr2 <:b1,b2:> = b2
proof end;

definition
let c4, c5, c6 be non empty TopSpace;
let c7 be Function of c6,c4;
let c8 be Function of c6,c5;
redefine func <: as <:c4,c5:> -> Function of a3,[:a1,a2:];
coherence
<:c7,c8:> is Function of c6,[:c4,c5:]
proof end;
end;

definition
let c4, c5, c6 be non empty TopSpace;
let c7 be Function of c6,[:c4,c5:];
redefine func pr1 as pr1 c4 -> Function of a3,a1;
coherence
pr1 c7 is Function of c6,c4
proof end;
redefine func pr2 as pr2 c4 -> Function of a3,a2;
coherence
pr2 c7 is Function of c6,c5
proof end;
end;

theorem Th9: :: TOPALG_4:9
for b1, b2, b3 being non empty TopSpace
for b4 being continuous Function of b1,[:b2,b3:] holds pr1 b4 is continuous
proof end;

theorem Th10: :: TOPALG_4:10
for b1, b2, b3 being non empty TopSpace
for b4 being continuous Function of b1,[:b2,b3:] holds pr2 b4 is continuous
proof end;

theorem Th11: :: TOPALG_4:11
for b1, b2 being non empty TopSpace
for b3, b4 being Point of b1
for b5, b6 being Point of b2 st [b3,b5],[b4,b6] are_connected holds
b3,b4 are_connected
proof end;

theorem Th12: :: TOPALG_4:12
for b1, b2 being non empty TopSpace
for b3, b4 being Point of b1
for b5, b6 being Point of b2 st [b3,b5],[b4,b6] are_connected holds
b5,b6 are_connected
proof end;

theorem Th13: :: TOPALG_4:13
for b1, b2 being non empty TopSpace
for b3, b4 being Point of b1
for b5, b6 being Point of b2 st [b3,b5],[b4,b6] are_connected holds
for b7 being Path of [b3,b5],[b4,b6] holds pr1 b7 is Path of b3,b4
proof end;

theorem Th14: :: TOPALG_4:14
for b1, b2 being non empty TopSpace
for b3, b4 being Point of b1
for b5, b6 being Point of b2 st [b3,b5],[b4,b6] are_connected holds
for b7 being Path of [b3,b5],[b4,b6] holds pr2 b7 is Path of b5,b6
proof end;

theorem Th15: :: TOPALG_4:15
for b1, b2 being non empty TopSpace
for b3, b4 being Point of b1
for b5, b6 being Point of b2 st b3,b4 are_connected & b5,b6 are_connected holds
[b3,b5],[b4,b6] are_connected
proof end;

theorem Th16: :: TOPALG_4:16
for b1, b2 being non empty TopSpace
for b3, b4 being Point of b1
for b5, b6 being Point of b2 st b3,b4 are_connected & b5,b6 are_connected holds
for b7 being Path of b3,b4
for b8 being Path of b5,b6 holds <:b7,b8:> is Path of [b3,b5],[b4,b6]
proof end;

definition
let c4, c5 be non empty arcwise_connected TopSpace;
let c6, c7 be Point of c4;
let c8, c9 be Point of c5;
let c10 be Path of c6,c7;
let c11 be Path of c8,c9;
redefine func <: as <:c7,c8:> -> Path of [a3,a5],[a4,a6];
coherence
<:c10,c11:> is Path of [c6,c8],[c7,c9]
proof end;
end;

definition
let c4, c5 be non empty TopSpace;
let c6 be Point of c4;
let c7 be Point of c5;
let c8 be Loop of c6;
let c9 be Loop of c7;
redefine func <: as <:c5,c6:> -> Loop of [a3,a4];
coherence
<:c8,c9:> is Loop of [c6,c7]
by Th16;
end;

registration
let c4, c5 be non empty arcwise_connected TopSpace;
cluster [:a1,a2:] -> arcwise_connected ;
coherence
[:c4,c5:] is arcwise_connected
proof end;
end;

definition
let c4, c5 be non empty arcwise_connected TopSpace;
let c6, c7 be Point of c4;
let c8, c9 be Point of c5;
let c10 be Path of [c6,c8],[c7,c9];
redefine func pr1 as pr1 c7 -> Path of a3,a4;
coherence
pr1 c10 is Path of c6,c7
proof end;
redefine func pr2 as pr2 c7 -> Path of a5,a6;
coherence
pr2 c10 is Path of c8,c9
proof end;
end;

definition
let c4, c5 be non empty TopSpace;
let c6 be Point of c4;
let c7 be Point of c5;
let c8 be Loop of [c6,c7];
redefine func pr1 as pr1 c5 -> Loop of a3;
coherence
pr1 c8 is Loop of c6
by Th13;
redefine func pr2 as pr2 c5 -> Loop of a4;
coherence
pr2 c8 is Loop of c7
by Th14;
end;

Lemma19: for b1, b2 being non empty TopSpace
for b3, b4 being Point of b1
for b5, b6 being Point of b2
for b7, b8 being Path of [b3,b5],[b4,b6]
for b9 being Homotopy of b7,b8 st b7,b8 are_homotopic holds
( pr1 b9 is continuous & ( for b10 being Point of I[01] holds
( (pr1 b9) . b10,0 = (pr1 b7) . b10 & (pr1 b9) . b10,1 = (pr1 b8) . b10 & ( for b11 being Point of I[01] holds
( (pr1 b9) . 0,b11 = b3 & (pr1 b9) . 1,b11 = b4 ) ) ) ) )
proof end;

Lemma20: for b1, b2 being non empty TopSpace
for b3, b4 being Point of b1
for b5, b6 being Point of b2
for b7, b8 being Path of [b3,b5],[b4,b6]
for b9 being Homotopy of b7,b8 st b7,b8 are_homotopic holds
( pr2 b9 is continuous & ( for b10 being Point of I[01] holds
( (pr2 b9) . b10,0 = (pr2 b7) . b10 & (pr2 b9) . b10,1 = (pr2 b8) . b10 & ( for b11 being Point of I[01] holds
( (pr2 b9) . 0,b11 = b5 & (pr2 b9) . 1,b11 = b6 ) ) ) ) )
proof end;

theorem Th17: :: TOPALG_4:17
for b1, b2 being non empty TopSpace
for b3, b4 being Point of b1
for b5, b6 being Point of b2
for b7, b8 being Path of [b3,b5],[b4,b6]
for b9 being Homotopy of b7,b8
for b10, b11 being Path of b3,b4 st b10 = pr1 b7 & b11 = pr1 b8 & b7,b8 are_homotopic holds
pr1 b9 is Homotopy of b10,b11
proof end;

theorem Th18: :: TOPALG_4:18
for b1, b2 being non empty TopSpace
for b3, b4 being Point of b1
for b5, b6 being Point of b2
for b7, b8 being Path of [b3,b5],[b4,b6]
for b9 being Homotopy of b7,b8
for b10, b11 being Path of b5,b6 st b10 = pr2 b7 & b11 = pr2 b8 & b7,b8 are_homotopic holds
pr2 b9 is Homotopy of b10,b11
proof end;

theorem Th19: :: TOPALG_4:19
for b1, b2 being non empty TopSpace
for b3, b4 being Point of b1
for b5, b6 being Point of b2
for b7, b8 being Path of [b3,b5],[b4,b6]
for b9, b10 being Path of b3,b4 st b9 = pr1 b7 & b10 = pr1 b8 & b7,b8 are_homotopic holds
b9,b10 are_homotopic
proof end;

theorem Th20: :: TOPALG_4:20
for b1, b2 being non empty TopSpace
for b3, b4 being Point of b1
for b5, b6 being Point of b2
for b7, b8 being Path of [b3,b5],[b4,b6]
for b9, b10 being Path of b5,b6 st b9 = pr2 b7 & b10 = pr2 b8 & b7,b8 are_homotopic holds
b9,b10 are_homotopic
proof end;

Lemma23: for b1, b2 being non empty TopSpace
for b3, b4 being Point of b1
for b5, b6 being Point of b2
for b7, b8 being Path of [b3,b5],[b4,b6]
for b9, b10 being Path of b3,b4
for b11, b12 being Path of b5,b6
for b13 being Homotopy of b9,b10
for b14 being Homotopy of b11,b12 st b9 = pr1 b7 & b10 = pr1 b8 & b11 = pr2 b7 & b12 = pr2 b8 & b9,b10 are_homotopic & b11,b12 are_homotopic holds
( <:b13,b14:> is continuous & ( for b15 being Point of I[01] holds
( <:b13,b14:> . b15,0 = b7 . b15 & <:b13,b14:> . b15,1 = b8 . b15 & ( for b16 being Point of I[01] holds
( <:b13,b14:> . 0,b16 = [b3,b5] & <:b13,b14:> . 1,b16 = [b4,b6] ) ) ) ) )
proof end;

theorem Th21: :: TOPALG_4:21
for b1, b2 being non empty TopSpace
for b3, b4 being Point of b1
for b5, b6 being Point of b2
for b7, b8 being Path of [b3,b5],[b4,b6]
for b9, b10 being Path of b3,b4
for b11, b12 being Path of b5,b6
for b13 being Homotopy of b9,b10
for b14 being Homotopy of b11,b12 st b9 = pr1 b7 & b10 = pr1 b8 & b11 = pr2 b7 & b12 = pr2 b8 & b9,b10 are_homotopic & b11,b12 are_homotopic holds
<:b13,b14:> is Homotopy of b7,b8
proof end;

theorem Th22: :: TOPALG_4:22
for b1, b2 being non empty TopSpace
for b3, b4 being Point of b1
for b5, b6 being Point of b2
for b7, b8 being Path of [b3,b5],[b4,b6]
for b9, b10 being Path of b3,b4
for b11, b12 being Path of b5,b6 st b9 = pr1 b7 & b10 = pr1 b8 & b11 = pr2 b7 & b12 = pr2 b8 & b9,b10 are_homotopic & b11,b12 are_homotopic holds
b7,b8 are_homotopic
proof end;

theorem Th23: :: TOPALG_4:23
for b1, b2 being non empty TopSpace
for b3, b4, b5 being Point of b1
for b6, b7, b8 being Point of b2
for b9 being Path of [b3,b6],[b4,b7]
for b10 being Path of [b4,b7],[b5,b8]
for b11 being Path of b3,b4
for b12 being Path of b4,b5 st [b3,b6],[b4,b7] are_connected & [b4,b7],[b5,b8] are_connected & b11 = pr1 b9 & b12 = pr1 b10 holds
pr1 (b9 + b10) = b11 + b12
proof end;

theorem Th24: :: TOPALG_4:24
for b1, b2 being non empty arcwise_connected TopSpace
for b3, b4, b5 being Point of b1
for b6, b7, b8 being Point of b2
for b9 being Path of [b3,b6],[b4,b7]
for b10 being Path of [b4,b7],[b5,b8] holds pr1 (b9 + b10) = (pr1 b9) + (pr1 b10)
proof end;

theorem Th25: :: TOPALG_4:25
for b1, b2 being non empty TopSpace
for b3, b4, b5 being Point of b1
for b6, b7, b8 being Point of b2
for b9 being Path of [b3,b6],[b4,b7]
for b10 being Path of [b4,b7],[b5,b8]
for b11 being Path of b6,b7
for b12 being Path of b7,b8 st [b3,b6],[b4,b7] are_connected & [b4,b7],[b5,b8] are_connected & b11 = pr2 b9 & b12 = pr2 b10 holds
pr2 (b9 + b10) = b11 + b12
proof end;

theorem Th26: :: TOPALG_4:26
for b1, b2 being non empty arcwise_connected TopSpace
for b3, b4, b5 being Point of b1
for b6, b7, b8 being Point of b2
for b9 being Path of [b3,b6],[b4,b7]
for b10 being Path of [b4,b7],[b5,b8] holds pr2 (b9 + b10) = (pr2 b9) + (pr2 b10)
proof end;

definition
let c4, c5 be non empty TopSpace;
let c6 be Point of c4;
let c7 be Point of c5;
set c8 = pi_1 [:c4,c5:],[c6,c7];
set c9 = <*(pi_1 c4,c6),(pi_1 c5,c7)*>;
set c10 = product <*(pi_1 c4,c6),(pi_1 c5,c7)*>;
func FGPrIso c3,c4 -> Function of (pi_1 [:a1,a2:],[a3,a4]),(product <*(pi_1 a1,a3),(pi_1 a2,a4)*>) means :Def2: :: TOPALG_4:def 2
for b1 being Point of (pi_1 [:a1,a2:],[a3,a4]) ex b2 being Loop of [a3,a4] st
( b1 = Class (EqRel [:a1,a2:],[a3,a4]),b2 & a5 . b1 = <*(Class (EqRel a1,a3),(pr1 b2)),(Class (EqRel a2,a4),(pr2 b2))*> );
existence
ex b1 being Function of (pi_1 [:c4,c5:],[c6,c7]),(product <*(pi_1 c4,c6),(pi_1 c5,c7)*>) st
for b2 being Point of (pi_1 [:c4,c5:],[c6,c7]) ex b3 being Loop of [c6,c7] st
( b2 = Class (EqRel [:c4,c5:],[c6,c7]),b3 & b1 . b2 = <*(Class (EqRel c4,c6),(pr1 b3)),(Class (EqRel c5,c7),(pr2 b3))*> )
proof end;
uniqueness
for b1, b2 being Function of (pi_1 [:c4,c5:],[c6,c7]),(product <*(pi_1 c4,c6),(pi_1 c5,c7)*>) st ( for b3 being Point of (pi_1 [:c4,c5:],[c6,c7]) ex b4 being Loop of [c6,c7] st
( b3 = Class (EqRel [:c4,c5:],[c6,c7]),b4 & b1 . b3 = <*(Class (EqRel c4,c6),(pr1 b4)),(Class (EqRel c5,c7),(pr2 b4))*> ) ) & ( for b3 being Point of (pi_1 [:c4,c5:],[c6,c7]) ex b4 being Loop of [c6,c7] st
( b3 = Class (EqRel [:c4,c5:],[c6,c7]),b4 & b2 . b3 = <*(Class (EqRel c4,c6),(pr1 b4)),(Class (EqRel c5,c7),(pr2 b4))*> ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def2 defines FGPrIso TOPALG_4:def 2 :
for b1, b2 being non empty TopSpace
for b3 being Point of b1
for b4 being Point of b2
for b5 being Function of (pi_1 [:b1,b2:],[b3,b4]),(product <*(pi_1 b1,b3),(pi_1 b2,b4)*>) holds
( b5 = FGPrIso b3,b4 iff for b6 being Point of (pi_1 [:b1,b2:],[b3,b4]) ex b7 being Loop of [b3,b4] st
( b6 = Class (EqRel [:b1,b2:],[b3,b4]),b7 & b5 . b6 = <*(Class (EqRel b1,b3),(pr1 b7)),(Class (EqRel b2,b4),(pr2 b7))*> ) );

theorem Th27: :: TOPALG_4:27
for b1, b2 being non empty TopSpace
for b3 being Point of b1
for b4 being Point of b2
for b5 being Point of (pi_1 [:b1,b2:],[b3,b4])
for b6 being Loop of [b3,b4] st b5 = Class (EqRel [:b1,b2:],[b3,b4]),b6 holds
(FGPrIso b3,b4) . b5 = <*(Class (EqRel b1,b3),(pr1 b6)),(Class (EqRel b2,b4),(pr2 b6))*>
proof end;

theorem Th28: :: TOPALG_4:28
for b1, b2 being non empty TopSpace
for b3 being Point of b1
for b4 being Point of b2
for b5 being Loop of [b3,b4] holds (FGPrIso b3,b4) . (Class (EqRel [:b1,b2:],[b3,b4]),b5) = <*(Class (EqRel b1,b3),(pr1 b5)),(Class (EqRel b2,b4),(pr2 b5))*>
proof end;

registration
let c4, c5 be non empty TopSpace;
let c6 be Point of c4;
let c7 be Point of c5;
cluster FGPrIso a3,a4 -> one-to-one onto ;
coherence
( FGPrIso c6,c7 is one-to-one & FGPrIso c6,c7 is onto )
proof end;
end;

definition
let c4, c5 be non empty TopSpace;
let c6 be Point of c4;
let c7 be Point of c5;
redefine func FGPrIso as FGPrIso c3,c4 -> Homomorphism of (pi_1 [:a1,a2:],[a3,a4]),(product <*(pi_1 a1,a3),(pi_1 a2,a4)*>);
coherence
FGPrIso c6,c7 is Homomorphism of (pi_1 [:c4,c5:],[c6,c7]),(product <*(pi_1 c4,c6),(pi_1 c5,c7)*>)
proof end;
end;

theorem Th29: :: TOPALG_4:29
for b1, b2 being non empty TopSpace
for b3 being Point of b1
for b4 being Point of b2 holds FGPrIso b3,b4 is being_isomorphism
proof end;

theorem Th30: :: TOPALG_4:30
for b1, b2 being non empty TopSpace
for b3 being Point of b1
for b4 being Point of b2 holds pi_1 [:b1,b2:],[b3,b4], product <*(pi_1 b1,b3),(pi_1 b2,b4)*> are_isomorphic
proof end;

theorem Th31: :: TOPALG_4:31
for b1, b2 being non empty TopSpace
for b3, b4 being Point of b1
for b5, b6 being Point of b2
for b7 being Homomorphism of (pi_1 b1,b3),(pi_1 b1,b4)
for b8 being Homomorphism of (pi_1 b2,b5),(pi_1 b2,b6) st b7 is being_isomorphism & b8 is being_isomorphism holds
(Gr2Iso b7,b8) * (FGPrIso b3,b5) is being_isomorphism
proof end;

theorem Th32: :: TOPALG_4:32
for b1, b2 being non empty arcwise_connected TopSpace
for b3, b4 being Point of b1
for b5, b6 being Point of b2 holds pi_1 [:b1,b2:],[b3,b5], product <*(pi_1 b1,b4),(pi_1 b2,b6)*> are_isomorphic
proof end;