:: TOPALG_1 semantic presentation

theorem Th1: :: TOPALG_1:1
for b1, b2 being Group
for b3 being Homomorphism of b1,b2 st b3 * (b3 " ) = id b2 & (b3 " ) * b3 = id b1 holds
b3 is_isomorphism
proof end;

theorem Th2: :: TOPALG_1:2
for b1 being Subset of I[01]
for b2 being Point of I[01] st b1 = ].b2,1.] holds
b1 ` = [.0,b2.]
proof end;

theorem Th3: :: TOPALG_1:3
for b1 being Subset of I[01]
for b2 being Point of I[01] st b1 = [.0,b2.[ holds
b1 ` = [.b2,1.]
proof end;

theorem Th4: :: TOPALG_1:4
for b1 being Subset of I[01]
for b2 being Point of I[01] st b1 = ].b2,1.] holds
b1 is open
proof end;

theorem Th5: :: TOPALG_1:5
for b1 being Subset of I[01]
for b2 being Point of I[01] st b1 = [.0,b2.[ holds
b1 is open
proof end;

theorem Th6: :: TOPALG_1:6
for b1 being real number
for b2 being Nat
for b3 being Element of b2 -tuples_on REAL holds b1 * (- b3) = - (b1 * b3)
proof end;

theorem Th7: :: TOPALG_1:7
for b1 being real number
for b2 being Nat
for b3, b4 being Element of b2 -tuples_on REAL holds b1 * (b3 - b4) = (b1 * b3) - (b1 * b4)
proof end;

theorem Th8: :: TOPALG_1:8
for b1, b2 being real number
for b3 being Nat
for b4 being Element of b3 -tuples_on REAL holds (b1 - b2) * b4 = (b1 * b4) - (b2 * b4)
proof end;

theorem Th9: :: TOPALG_1:9
for b1 being Nat
for b2, b3, b4, b5 being Element of b1 -tuples_on REAL holds (b2 + b3) - (b4 + b5) = (b2 - b4) + (b3 - b5)
proof end;

theorem Th10: :: TOPALG_1:10
for b1 being real number
for b2 being Nat
for b3 being Element of REAL b2 st 0 <= b1 & b1 <= 1 holds
|.(b1 * b3).| <= |.b3.|
proof end;

theorem Th11: :: TOPALG_1:11
for b1 being Nat
for b2 being Element of REAL b1
for b3 being Point of I[01] holds |.(b3 * b2).| <= |.b2.|
proof end;

theorem Th12: :: TOPALG_1:12
for b1, b2 being real number
for b3 being Nat
for b4, b5, b6, b7, b8, b9 being Point of (Euclid b3)
for b10, b11, b12, b13 being Point of (TOP-REAL b3) st b4 = b10 & b5 = b11 & b6 = b12 & b7 = b13 & b8 = b10 + b12 & b9 = b11 + b13 & dist b4,b5 < b1 & dist b6,b7 < b2 holds
dist b8,b9 < b1 + b2
proof end;

theorem Th13: :: TOPALG_1:13
for b1, b2 being real number
for b3 being Nat
for b4, b5, b6, b7 being Point of (Euclid b3)
for b8, b9 being Point of (TOP-REAL b3) st b4 = b8 & b5 = b9 & b6 = b1 * b8 & b7 = b1 * b9 & dist b4,b5 < b2 & b1 <> 0 holds
dist b6,b7 < (abs b1) * b2
proof end;

theorem Th14: :: TOPALG_1:14
for b1, b2, b3, b4 being real number
for b5 being Nat
for b6, b7, b8, b9, b10, b11 being Point of (Euclid b5)
for b12, b13, b14, b15 being Point of (TOP-REAL b5) st b6 = b12 & b7 = b13 & b8 = b14 & b9 = b15 & b10 = (b1 * b12) + (b2 * b14) & b11 = (b1 * b13) + (b2 * b15) & dist b6,b7 < b3 & dist b8,b9 < b4 & b1 <> 0 & b2 <> 0 holds
dist b10,b11 < ((abs b1) * b3) + ((abs b2) * b4)
proof end;

Lemma12: for b1 being Nat
for b2 being non empty TopSpace
for b3, b4, b5 being Function of b2,(TOP-REAL b1) st b3 is continuous & b4 is continuous & ( for b6 being Point of b2 holds b5 . b6 = (b3 . b6) + (b4 . b6) ) holds
b5 is continuous
proof end;

theorem Th15: :: TOPALG_1:15
canceled;

theorem Th16: :: TOPALG_1:16
for b1 being real number
for b2 being Nat
for b3 being non empty TopSpace
for b4, b5 being Function of b3,(TOP-REAL b2) st b4 is continuous & ( for b6 being Point of b3 holds b5 . b6 = b1 * (b4 . b6) ) holds
b5 is continuous
proof end;

theorem Th17: :: TOPALG_1:17
for b1, b2 being real number
for b3 being Nat
for b4 being non empty TopSpace
for b5, b6, b7 being Function of b4,(TOP-REAL b3) st b5 is continuous & b6 is continuous & ( for b8 being Point of b4 holds b7 . b8 = (b1 * (b5 . b8)) + (b2 * (b6 . b8)) ) holds
b7 is continuous
proof end;

theorem Th18: :: TOPALG_1:18
for b1 being Nat
for b2 being Function of [:(TOP-REAL b1),I[01] :],(TOP-REAL b1) st ( for b3 being Point of (TOP-REAL b1)
for b4 being Point of I[01] holds b2 . b3,b4 = (1 - b4) * b3 ) holds
b2 is continuous
proof end;

theorem Th19: :: TOPALG_1:19
for b1 being Nat
for b2 being Function of [:(TOP-REAL b1),I[01] :],(TOP-REAL b1) st ( for b3 being Point of (TOP-REAL b1)
for b4 being Point of I[01] holds b2 . b3,b4 = b4 * b3 ) holds
b2 is continuous
proof end;

theorem Th20: :: TOPALG_1:20
for b1 being non empty TopSpace
for b2, b3, b4 being Point of b1 st b2,b3 are_connected & b3,b4 are_connected holds
for b5 being Path of b2,b3
for b6 being Path of b3,b4 holds b5,(b5 + b6) + (- b6) are_homotopic
proof end;

theorem Th21: :: TOPALG_1:21
for b1 being non empty arcwise_connected TopSpace
for b2, b3, b4 being Point of b1
for b5 being Path of b2,b3
for b6 being Path of b3,b4 holds b5,(b5 + b6) + (- b6) are_homotopic
proof end;

theorem Th22: :: TOPALG_1:22
for b1 being non empty TopSpace
for b2, b3, b4 being Point of b1 st b2,b3 are_connected & b4,b3 are_connected holds
for b5 being Path of b2,b3
for b6 being Path of b4,b3 holds b5,(b5 + (- b6)) + b6 are_homotopic
proof end;

theorem Th23: :: TOPALG_1:23
for b1 being non empty arcwise_connected TopSpace
for b2, b3, b4 being Point of b1
for b5 being Path of b2,b3
for b6 being Path of b4,b3 holds b5,(b5 + (- b6)) + b6 are_homotopic
proof end;

theorem Th24: :: TOPALG_1:24
for b1 being non empty TopSpace
for b2, b3, b4 being Point of b1 st b2,b3 are_connected & b4,b2 are_connected holds
for b5 being Path of b2,b3
for b6 being Path of b4,b2 holds b5,((- b6) + b6) + b5 are_homotopic
proof end;

theorem Th25: :: TOPALG_1:25
for b1 being non empty arcwise_connected TopSpace
for b2, b3, b4 being Point of b1
for b5 being Path of b2,b3
for b6 being Path of b4,b2 holds b5,((- b6) + b6) + b5 are_homotopic
proof end;

theorem Th26: :: TOPALG_1:26
for b1 being non empty TopSpace
for b2, b3, b4 being Point of b1 st b2,b3 are_connected & b2,b4 are_connected holds
for b5 being Path of b2,b3
for b6 being Path of b2,b4 holds b5,(b6 + (- b6)) + b5 are_homotopic
proof end;

theorem Th27: :: TOPALG_1:27
for b1 being non empty arcwise_connected TopSpace
for b2, b3, b4 being Point of b1
for b5 being Path of b2,b3
for b6 being Path of b2,b4 holds b5,(b6 + (- b6)) + b5 are_homotopic
proof end;

theorem Th28: :: TOPALG_1:28
for b1 being non empty TopSpace
for b2, b3, b4 being Point of b1 st b2,b3 are_connected & b4,b3 are_connected holds
for b5, b6 being Path of b2,b3
for b7 being Path of b3,b4 st b5 + b7,b6 + b7 are_homotopic holds
b5,b6 are_homotopic
proof end;

theorem Th29: :: TOPALG_1:29
for b1 being non empty arcwise_connected TopSpace
for b2, b3, b4 being Point of b1
for b5, b6 being Path of b2,b3
for b7 being Path of b3,b4 st b5 + b7,b6 + b7 are_homotopic holds
b5,b6 are_homotopic
proof end;

theorem Th30: :: TOPALG_1:30
for b1 being non empty TopSpace
for b2, b3, b4 being Point of b1 st b2,b3 are_connected & b2,b4 are_connected holds
for b5, b6 being Path of b2,b3
for b7 being Path of b4,b2 st b7 + b5,b7 + b6 are_homotopic holds
b5,b6 are_homotopic
proof end;

theorem Th31: :: TOPALG_1:31
for b1 being non empty arcwise_connected TopSpace
for b2, b3, b4 being Point of b1
for b5, b6 being Path of b2,b3
for b7 being Path of b4,b2 st b7 + b5,b7 + b6 are_homotopic holds
b5,b6 are_homotopic
proof end;

theorem Th32: :: TOPALG_1:32
for b1 being non empty TopSpace
for b2, b3, b4, b5, b6 being Point of b1 st b2,b3 are_connected & b3,b4 are_connected & b4,b5 are_connected & b5,b6 are_connected holds
for b7 being Path of b2,b3
for b8 being Path of b3,b4
for b9 being Path of b4,b5
for b10 being Path of b5,b6 holds ((b7 + b8) + b9) + b10,(b7 + (b8 + b9)) + b10 are_homotopic
proof end;

theorem Th33: :: TOPALG_1:33
for b1 being non empty arcwise_connected TopSpace
for b2, b3, b4, b5, b6 being Point of b1
for b7 being Path of b2,b3
for b8 being Path of b3,b4
for b9 being Path of b4,b5
for b10 being Path of b5,b6 holds ((b7 + b8) + b9) + b10,(b7 + (b8 + b9)) + b10 are_homotopic
proof end;

theorem Th34: :: TOPALG_1:34
for b1 being non empty TopSpace
for b2, b3, b4, b5, b6 being Point of b1 st b2,b3 are_connected & b3,b4 are_connected & b4,b5 are_connected & b5,b6 are_connected holds
for b7 being Path of b2,b3
for b8 being Path of b3,b4
for b9 being Path of b4,b5
for b10 being Path of b5,b6 holds ((b7 + b8) + b9) + b10,b7 + ((b8 + b9) + b10) are_homotopic
proof end;

theorem Th35: :: TOPALG_1:35
for b1 being non empty arcwise_connected TopSpace
for b2, b3, b4, b5, b6 being Point of b1
for b7 being Path of b2,b3
for b8 being Path of b3,b4
for b9 being Path of b4,b5
for b10 being Path of b5,b6 holds ((b7 + b8) + b9) + b10,b7 + ((b8 + b9) + b10) are_homotopic
proof end;

theorem Th36: :: TOPALG_1:36
for b1 being non empty TopSpace
for b2, b3, b4, b5, b6 being Point of b1 st b2,b3 are_connected & b3,b4 are_connected & b4,b5 are_connected & b5,b6 are_connected holds
for b7 being Path of b2,b3
for b8 being Path of b3,b4
for b9 being Path of b4,b5
for b10 being Path of b5,b6 holds (b7 + (b8 + b9)) + b10,(b7 + b8) + (b9 + b10) are_homotopic
proof end;

theorem Th37: :: TOPALG_1:37
for b1 being non empty arcwise_connected TopSpace
for b2, b3, b4, b5, b6 being Point of b1
for b7 being Path of b2,b3
for b8 being Path of b3,b4
for b9 being Path of b4,b5
for b10 being Path of b5,b6 holds (b7 + (b8 + b9)) + b10,(b7 + b8) + (b9 + b10) are_homotopic
proof end;

theorem Th38: :: TOPALG_1:38
for b1 being non empty TopSpace
for b2, b3, b4, b5 being Point of b1 st b2,b3 are_connected & b3,b4 are_connected & b3,b5 are_connected holds
for b6 being Path of b2,b3
for b7 being Path of b5,b3
for b8 being Path of b3,b4 holds ((b6 + (- b7)) + b7) + b8,b6 + b8 are_homotopic
proof end;

theorem Th39: :: TOPALG_1:39
for b1 being non empty arcwise_connected TopSpace
for b2, b3, b4, b5 being Point of b1
for b6 being Path of b2,b3
for b7 being Path of b4,b3
for b8 being Path of b3,b5 holds ((b6 + (- b7)) + b7) + b8,b6 + b8 are_homotopic
proof end;

theorem Th40: :: TOPALG_1:40
for b1 being non empty TopSpace
for b2, b3, b4, b5 being Point of b1 st b2,b3 are_connected & b2,b4 are_connected & b4,b5 are_connected holds
for b6 being Path of b2,b3
for b7 being Path of b4,b5
for b8 being Path of b2,b4 holds (((b6 + (- b6)) + b8) + b7) + (- b7),b8 are_homotopic
proof end;

theorem Th41: :: TOPALG_1:41
for b1 being non empty arcwise_connected TopSpace
for b2, b3, b4, b5 being Point of b1
for b6 being Path of b2,b3
for b7 being Path of b4,b5
for b8 being Path of b2,b4 holds (((b6 + (- b6)) + b8) + b7) + (- b7),b8 are_homotopic
proof end;

theorem Th42: :: TOPALG_1:42
for b1 being non empty TopSpace
for b2, b3, b4, b5 being Point of b1 st b2,b3 are_connected & b2,b4 are_connected & b5,b4 are_connected holds
for b6 being Path of b2,b3
for b7 being Path of b4,b5
for b8 being Path of b2,b4 holds (b6 + (((- b6) + b8) + b7)) + (- b7),b8 are_homotopic
proof end;

theorem Th43: :: TOPALG_1:43
for b1 being non empty arcwise_connected TopSpace
for b2, b3, b4, b5 being Point of b1
for b6 being Path of b2,b3
for b7 being Path of b4,b5
for b8 being Path of b2,b4 holds (b6 + (((- b6) + b8) + b7)) + (- b7),b8 are_homotopic
proof end;

theorem Th44: :: TOPALG_1:44
for b1 being non empty TopSpace
for b2, b3, b4, b5, b6, b7 being Point of b1 st b2,b3 are_connected & b3,b4 are_connected & b4,b5 are_connected & b5,b6 are_connected & b2,b7 are_connected holds
for b8 being Path of b2,b3
for b9 being Path of b3,b4
for b10 being Path of b4,b5
for b11 being Path of b5,b6
for b12 being Path of b7,b4 holds (b8 + (b9 + b10)) + b11,((b8 + b9) + (- b12)) + ((b12 + b10) + b11) are_homotopic
proof end;

theorem Th45: :: TOPALG_1:45
for b1 being non empty arcwise_connected TopSpace
for b2, b3, b4, b5, b6, b7 being Point of b1
for b8 being Path of b2,b3
for b9 being Path of b3,b4
for b10 being Path of b4,b5
for b11 being Path of b5,b6
for b12 being Path of b7,b4 holds (b8 + (b9 + b10)) + b11,((b8 + b9) + (- b12)) + ((b12 + b10) + b11) are_homotopic
proof end;

definition
let c1 be TopStruct ;
let c2 be Point of c1;
mode Loop of a2 is Path of a2,a2;
end;

definition
let c1 be non empty TopStruct ;
let c2 be Point of c1;
func Loops c2 -> set means :Def1: :: TOPALG_1:def 1
for b1 being set holds
( b1 in a3 iff b1 is Loop of a2 );
existence
ex b1 being set st
for b2 being set holds
( b2 in b1 iff b2 is Loop of c2 )
proof end;
uniqueness
for b1, b2 being set st ( for b3 being set holds
( b3 in b1 iff b3 is Loop of c2 ) ) & ( for b3 being set holds
( b3 in b2 iff b3 is Loop of c2 ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def1 defines Loops TOPALG_1:def 1 :
for b1 being non empty TopStruct
for b2 being Point of b1
for b3 being set holds
( b3 = Loops b2 iff for b4 being set holds
( b4 in b3 iff b4 is Loop of b2 ) );

registration
let c1 be non empty TopStruct ;
let c2 be Point of c1;
cluster Loops a2 -> non empty ;
coherence
not Loops c2 is empty
proof end;
end;

Lemma30: for b1 being non empty TopSpace
for b2 being Point of b1 ex b3 being Equivalence_Relation of Loops b2 st
for b4, b5 being set holds
( [b4,b5] in b3 iff ( b4 in Loops b2 & b5 in Loops b2 & ex b6, b7 being Loop of b2 st
( b6 = b4 & b7 = b5 & b6,b7 are_homotopic ) ) )
proof end;

definition
let c1 be non empty TopSpace;
let c2 be Point of c1;
func EqRel c1,c2 -> Relation of Loops a2 means :Def2: :: TOPALG_1:def 2
for b1, b2 being Loop of a2 holds
( [b1,b2] in a3 iff b1,b2 are_homotopic );
existence
ex b1 being Relation of Loops c2 st
for b2, b3 being Loop of c2 holds
( [b2,b3] in b1 iff b2,b3 are_homotopic )
proof end;
uniqueness
for b1, b2 being Relation of Loops c2 st ( for b3, b4 being Loop of c2 holds
( [b3,b4] in b1 iff b3,b4 are_homotopic ) ) & ( for b3, b4 being Loop of c2 holds
( [b3,b4] in b2 iff b3,b4 are_homotopic ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def2 defines EqRel TOPALG_1:def 2 :
for b1 being non empty TopSpace
for b2 being Point of b1
for b3 being Relation of Loops b2 holds
( b3 = EqRel b1,b2 iff for b4, b5 being Loop of b2 holds
( [b4,b5] in b3 iff b4,b5 are_homotopic ) );

registration
let c1 be non empty TopSpace;
let c2 be Point of c1;
cluster EqRel a1,a2 -> non empty symmetric transitive total ;
coherence
( not EqRel c1,c2 is empty & EqRel c1,c2 is total & EqRel c1,c2 is symmetric & EqRel c1,c2 is transitive )
proof end;
end;

theorem Th46: :: TOPALG_1:46
for b1 being non empty TopSpace
for b2 being Point of b1
for b3, b4 being Loop of b2 holds
( b4 in Class (EqRel b1,b2),b3 iff b3,b4 are_homotopic )
proof end;

theorem Th47: :: TOPALG_1:47
for b1 being non empty TopSpace
for b2 being Point of b1
for b3, b4 being Loop of b2 holds
( Class (EqRel b1,b2),b3 = Class (EqRel b1,b2),b4 iff b3,b4 are_homotopic )
proof end;

definition
let c1 be non empty TopSpace;
let c2 be Point of c1;
func FundamentalGroup c1,c2 -> strict HGrStr means :Def3: :: TOPALG_1:def 3
( the carrier of a3 = Class (EqRel a1,a2) & ( for b1, b2 being Element of a3 ex b3, b4 being Loop of a2 st
( b1 = Class (EqRel a1,a2),b3 & b2 = Class (EqRel a1,a2),b4 & the mult of a3 . b1,b2 = Class (EqRel a1,a2),(b3 + b4) ) ) );
existence
ex b1 being strict HGrStr st
( the carrier of b1 = Class (EqRel c1,c2) & ( for b2, b3 being Element of b1 ex b4, b5 being Loop of c2 st
( b2 = Class (EqRel c1,c2),b4 & b3 = Class (EqRel c1,c2),b5 & the mult of b1 . b2,b3 = Class (EqRel c1,c2),(b4 + b5) ) ) )
proof end;
uniqueness
for b1, b2 being strict HGrStr st the carrier of b1 = Class (EqRel c1,c2) & ( for b3, b4 being Element of b1 ex b5, b6 being Loop of c2 st
( b3 = Class (EqRel c1,c2),b5 & b4 = Class (EqRel c1,c2),b6 & the mult of b1 . b3,b4 = Class (EqRel c1,c2),(b5 + b6) ) ) & the carrier of b2 = Class (EqRel c1,c2) & ( for b3, b4 being Element of b2 ex b5, b6 being Loop of c2 st
( b3 = Class (EqRel c1,c2),b5 & b4 = Class (EqRel c1,c2),b6 & the mult of b2 . b3,b4 = Class (EqRel c1,c2),(b5 + b6) ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def3 defines FundamentalGroup TOPALG_1:def 3 :
for b1 being non empty TopSpace
for b2 being Point of b1
for b3 being strict HGrStr holds
( b3 = FundamentalGroup b1,b2 iff ( the carrier of b3 = Class (EqRel b1,b2) & ( for b4, b5 being Element of b3 ex b6, b7 being Loop of b2 st
( b4 = Class (EqRel b1,b2),b6 & b5 = Class (EqRel b1,b2),b7 & the mult of b3 . b4,b5 = Class (EqRel b1,b2),(b6 + b7) ) ) ) );

notation
let c1 be non empty TopSpace;
let c2 be Point of c1;
synonym pi_1 c1,c2 for FundamentalGroup c1,c2;
end;

registration
let c1 be non empty TopSpace;
let c2 be Point of c1;
cluster FundamentalGroup a1,a2 -> non empty strict ;
coherence
not pi_1 c1,c2 is empty
proof end;
end;

theorem Th48: :: TOPALG_1:48
for b1 being non empty TopSpace
for b2 being Point of b1
for b3 being set holds
( b3 in the carrier of (pi_1 b1,b2) iff ex b4 being Loop of b2 st b3 = Class (EqRel b1,b2),b4 )
proof end;

registration
let c1 be non empty TopSpace;
let c2 be Point of c1;
cluster FundamentalGroup a1,a2 -> non empty strict Group-like associative ;
coherence
( pi_1 c1,c2 is associative & pi_1 c1,c2 is Group-like )
proof end;
end;

definition
let c1 be non empty TopSpace;
let c2, c3 be Point of c1;
let c4 be Path of c2,c3;
assume E36: c2,c3 are_connected ;
func pi_1-iso c4 -> Function of (pi_1 a1,a3),(pi_1 a1,a2) means :Def4: :: TOPALG_1:def 4
for b1 being Loop of a3 holds a5 . (Class (EqRel a1,a3),b1) = Class (EqRel a1,a2),((a4 + b1) + (- a4));
existence
ex b1 being Function of (pi_1 c1,c3),(pi_1 c1,c2) st
for b2 being Loop of c3 holds b1 . (Class (EqRel c1,c3),b2) = Class (EqRel c1,c2),((c4 + b2) + (- c4))
proof end;
uniqueness
for b1, b2 being Function of (pi_1 c1,c3),(pi_1 c1,c2) st ( for b3 being Loop of c3 holds b1 . (Class (EqRel c1,c3),b3) = Class (EqRel c1,c2),((c4 + b3) + (- c4)) ) & ( for b3 being Loop of c3 holds b2 . (Class (EqRel c1,c3),b3) = Class (EqRel c1,c2),((c4 + b3) + (- c4)) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def4 defines pi_1-iso TOPALG_1:def 4 :
for b1 being non empty TopSpace
for b2, b3 being Point of b1
for b4 being Path of b2,b3 st b2,b3 are_connected holds
for b5 being Function of (pi_1 b1,b3),(pi_1 b1,b2) holds
( b5 = pi_1-iso b4 iff for b6 being Loop of b3 holds b5 . (Class (EqRel b1,b3),b6) = Class (EqRel b1,b2),((b4 + b6) + (- b4)) );

theorem Th49: :: TOPALG_1:49
for b1 being non empty TopSpace
for b2, b3 being Point of b1
for b4, b5 being Path of b2,b3 st b2,b3 are_connected & b4,b5 are_homotopic holds
pi_1-iso b4 = pi_1-iso b5
proof end;

theorem Th50: :: TOPALG_1:50
for b1 being non empty arcwise_connected TopSpace
for b2, b3 being Point of b1
for b4, b5 being Path of b2,b3 st b4,b5 are_homotopic holds
pi_1-iso b4 = pi_1-iso b5
proof end;

theorem Th51: :: TOPALG_1:51
for b1 being non empty TopSpace
for b2, b3 being Point of b1
for b4 being Path of b2,b3 st b2,b3 are_connected holds
pi_1-iso b4 is Homomorphism of (pi_1 b1,b3),(pi_1 b1,b2)
proof end;

definition
let c1 be non empty arcwise_connected TopSpace;
let c2, c3 be Point of c1;
let c4 be Path of c2,c3;
redefine func pi_1-iso as pi_1-iso c4 -> Homomorphism of (pi_1 a1,a3),(pi_1 a1,a2);
coherence
pi_1-iso c4 is Homomorphism of (pi_1 c1,c3),(pi_1 c1,c2)
proof end;
end;

theorem Th52: :: TOPALG_1:52
for b1 being non empty TopSpace
for b2, b3 being Point of b1
for b4 being Path of b2,b3 st b2,b3 are_connected holds
pi_1-iso b4 is one-to-one
proof end;

theorem Th53: :: TOPALG_1:53
for b1 being non empty TopSpace
for b2, b3 being Point of b1
for b4 being Path of b2,b3 st b2,b3 are_connected holds
pi_1-iso b4 is onto
proof end;

registration
let c1 be non empty arcwise_connected TopSpace;
let c2, c3 be Point of c1;
let c4 be Path of c2,c3;
cluster pi_1-iso a4 -> one-to-one onto ;
coherence
( pi_1-iso c4 is one-to-one & pi_1-iso c4 is onto )
proof end;
end;

theorem Th54: :: TOPALG_1:54
for b1 being non empty TopSpace
for b2, b3 being Point of b1
for b4 being Path of b2,b3 st b2,b3 are_connected holds
(pi_1-iso b4) " = pi_1-iso (- b4)
proof end;

theorem Th55: :: TOPALG_1:55
for b1 being non empty arcwise_connected TopSpace
for b2, b3 being Point of b1
for b4 being Path of b2,b3 holds (pi_1-iso b4) " = pi_1-iso (- b4)
proof end;

theorem Th56: :: TOPALG_1:56
for b1 being non empty TopSpace
for b2, b3 being Point of b1
for b4 being Path of b2,b3 st b2,b3 are_connected holds
for b5 being Homomorphism of (pi_1 b1,b3),(pi_1 b1,b2) st b5 = pi_1-iso b4 holds
b5 is_isomorphism
proof end;

theorem Th57: :: TOPALG_1:57
for b1 being non empty arcwise_connected TopSpace
for b2, b3 being Point of b1
for b4 being Path of b2,b3 holds pi_1-iso b4 is_isomorphism
proof end;

theorem Th58: :: TOPALG_1:58
for b1 being non empty TopSpace
for b2, b3 being Point of b1 st b2,b3 are_connected holds
pi_1 b1,b2, pi_1 b1,b3 are_isomorphic
proof end;

theorem Th59: :: TOPALG_1:59
for b1 being non empty arcwise_connected TopSpace
for b2, b3 being Point of b1 holds pi_1 b1,b2, pi_1 b1,b3 are_isomorphic
proof end;

definition
let c1 be Nat;
let c2, c3 be Point of (TOP-REAL c1);
let c4, c5 be Path of c2,c3;
func RealHomotopy c4,c5 -> Function of [:I[01] ,I[01] :],(TOP-REAL a1) means :Def5: :: TOPALG_1:def 5
for b1, b2 being Element of I[01] holds a6 . b1,b2 = ((1 - b2) * (a4 . b1)) + (b2 * (a5 . b1));
existence
ex b1 being Function of [:I[01] ,I[01] :],(TOP-REAL c1) st
for b2, b3 being Element of I[01] holds b1 . b2,b3 = ((1 - b3) * (c4 . b2)) + (b3 * (c5 . b2))
proof end;
uniqueness
for b1, b2 being Function of [:I[01] ,I[01] :],(TOP-REAL c1) st ( for b3, b4 being Element of I[01] holds b1 . b3,b4 = ((1 - b4) * (c4 . b3)) + (b4 * (c5 . b3)) ) & ( for b3, b4 being Element of I[01] holds b2 . b3,b4 = ((1 - b4) * (c4 . b3)) + (b4 * (c5 . b3)) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def5 defines RealHomotopy TOPALG_1:def 5 :
for b1 being Nat
for b2, b3 being Point of (TOP-REAL b1)
for b4, b5 being Path of b2,b3
for b6 being Function of [:I[01] ,I[01] :],(TOP-REAL b1) holds
( b6 = RealHomotopy b4,b5 iff for b7, b8 being Element of I[01] holds b6 . b7,b8 = ((1 - b8) * (b4 . b7)) + (b8 * (b5 . b7)) );

Lemma45: for b1 being Nat
for b2, b3 being Point of (TOP-REAL b1)
for b4, b5 being Path of b2,b3 holds RealHomotopy b4,b5 is continuous
proof end;

Lemma46: for b1 being Nat
for b2, b3 being Point of (TOP-REAL b1)
for b4, b5 being Path of b2,b3
for b6 being Point of I[01] holds
( (RealHomotopy b4,b5) . b6,0 = b4 . b6 & (RealHomotopy b4,b5) . b6,1 = b5 . b6 & ( for b7 being Point of I[01] holds
( (RealHomotopy b4,b5) . 0,b7 = b2 & (RealHomotopy b4,b5) . 1,b7 = b3 ) ) )
proof end;

theorem Th60: :: TOPALG_1:60
for b1 being Nat
for b2, b3 being Point of (TOP-REAL b1)
for b4, b5 being Path of b2,b3 holds b4,b5 are_homotopic
proof end;

definition
let c1 be Nat;
let c2, c3 be Point of (TOP-REAL c1);
let c4, c5 be Path of c2,c3;
redefine func RealHomotopy as RealHomotopy c4,c5 -> Homotopy of a4,a5;
coherence
RealHomotopy c4,c5 is Homotopy of c4,c5
proof end;
end;

registration
let c1 be Nat;
let c2, c3 be Point of (TOP-REAL c1);
let c4, c5 be Path of c2,c3;
cluster -> continuous Homotopy of a4,a5;
coherence
for b1 being Homotopy of c4,c5 holds b1 is continuous
proof end;
end;

theorem Th61: :: TOPALG_1:61
for b1 being Nat
for b2 being Point of (TOP-REAL b1)
for b3 being Loop of b2 holds the carrier of (pi_1 (TOP-REAL b1),b2) = {(Class (EqRel (TOP-REAL b1),b2),b3)}
proof end;

registration
let c1 be Nat;
let c2 be Point of (TOP-REAL c1);
cluster FundamentalGroup (TOP-REAL a1),a2 -> non empty strict Group-like associative trivial ;
coherence
pi_1 (TOP-REAL c1),c2 is trivial
proof end;
end;