:: TOPALG_1 semantic presentation

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

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

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

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

theorem Th5: :: TOPALG_1:5
for b1 being Subset of I[01]
for b2 being Point of I[01] holds
( b1 = [.0,b2.[ implies 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 holds
( 0 <= b1 & b1 <= 1 implies |.(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) holds
not ( b4 = b10 & b5 = b11 & b6 = b12 & b7 = b13 & b8 = b10 + b12 & b9 = b11 + b13 & dist b4,b5 < b1 & dist b6,b7 < b2 & not 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) holds
not ( b4 = b8 & b5 = b9 & b6 = b1 * b8 & b7 = b1 * b9 & dist b4,b5 < b2 & b1 <> 0 & not 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) holds
not ( 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 & not 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) holds
( b3 is continuous & b4 is continuous & ( for b6 being Point of b2 holds b5 . b6 = (b3 . b6) + (b4 . b6) ) implies 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) holds
( b4 is continuous & ( for b6 being Point of b3 holds b5 . b6 = b1 * (b4 . b6) ) implies 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) holds
( b5 is continuous & b6 is continuous & ( for b8 being Point of b4 holds b7 . b8 = (b1 * (b5 . b8)) + (b2 * (b6 . b8)) ) implies 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) holds
( ( for b3 being Point of (TOP-REAL b1)
for b4 being Point of I[01] holds b2 . b3,b4 = (1 - b4) * b3 ) implies 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) holds
( ( for b3 being Point of (TOP-REAL b1)
for b4 being Point of I[01] holds b2 . b3,b4 = b4 * b3 ) implies b2 is continuous )
proof end;

theorem Th20: :: TOPALG_1:20
for b1 being non empty TopSpace
for b2, b3, b4 being Point of b1 holds
( b2,b3 are_connected & b3,b4 are_connected implies for b5, b6 being Path of b2,b3
for b7 being Path of b3,b4 holds
( b5,b6 are_homotopic implies b5,(b6 + b7) + (- b7) 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, b6 being Path of b2,b3
for b7 being Path of b3,b4 holds
( b5,b6 are_homotopic implies b5,(b6 + b7) + (- b7) are_homotopic )
proof end;

theorem Th22: :: TOPALG_1:22
for b1 being non empty TopSpace
for b2, b3, b4 being Point of b1 holds
( b2,b3 are_connected & b4,b3 are_connected implies for b5, b6 being Path of b2,b3
for b7 being Path of b4,b3 holds
( b5,b6 are_homotopic implies b5,(b6 + (- b7)) + b7 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, b6 being Path of b2,b3
for b7 being Path of b4,b3 holds
( b5,b6 are_homotopic implies b5,(b6 + (- b7)) + b7 are_homotopic )
proof end;

theorem Th24: :: TOPALG_1:24
for b1 being non empty TopSpace
for b2, b3, b4 being Point of b1 holds
( b2,b3 are_connected & b4,b2 are_connected implies for b5, b6 being Path of b2,b3
for b7 being Path of b4,b2 holds
( b5,b6 are_homotopic implies b5,((- b7) + b7) + b6 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, b6 being Path of b2,b3
for b7 being Path of b4,b2 holds
( b5,b6 are_homotopic implies b5,((- b7) + b7) + b6 are_homotopic )
proof end;

theorem Th26: :: TOPALG_1:26
for b1 being non empty TopSpace
for b2, b3, b4 being Point of b1 holds
( b2,b3 are_connected & b2,b4 are_connected implies for b5, b6 being Path of b2,b3
for b7 being Path of b2,b4 holds
( b5,b6 are_homotopic implies b5,(b7 + (- b7)) + b6 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, b6 being Path of b2,b3
for b7 being Path of b2,b4 holds
( b5,b6 are_homotopic implies b5,(b7 + (- b7)) + b6 are_homotopic )
proof end;

theorem Th28: :: TOPALG_1:28
for b1 being non empty TopSpace
for b2, b3, b4 being Point of b1 holds
( b2,b3 are_connected & b4,b3 are_connected implies for b5, b6 being Path of b2,b3
for b7 being Path of b3,b4 holds
( b5 + b7,b6 + b7 are_homotopic implies 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 holds
( b5 + b7,b6 + b7 are_homotopic implies 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 holds
( b2,b3 are_connected & b2,b4 are_connected implies for b5, b6 being Path of b2,b3
for b7 being Path of b4,b2 holds
( b7 + b5,b7 + b6 are_homotopic implies 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 holds
( b7 + b5,b7 + b6 are_homotopic implies 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 holds
( b2,b3 are_connected & b3,b4 are_connected & b4,b5 are_connected & b5,b6 are_connected implies 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 holds
( b2,b3 are_connected & b3,b4 are_connected & b4,b5 are_connected & b5,b6 are_connected implies 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 holds
( b2,b3 are_connected & b3,b4 are_connected & b4,b5 are_connected & b5,b6 are_connected implies 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 holds
( b2,b3 are_connected & b3,b4 are_connected & b3,b5 are_connected implies 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 holds
( b2,b3 are_connected & b2,b4 are_connected & b4,b5 are_connected implies 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 holds
( b2,b3 are_connected & b2,b4 are_connected & b5,b4 are_connected implies 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 holds
( b2,b3 are_connected & b3,b4 are_connected & b4,b5 are_connected & b5,b6 are_connected & b2,b7 are_connected implies 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 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 holds
( ( 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 ) ) implies 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 holds
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 holds
( ( 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 ) ) implies 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 holds
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 holds
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 holds
( the carrier of b1 = Class (EqRel c1,c2) & ( for b3, b4 being Element of b1 holds
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 holds
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) ) ) implies 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 holds
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;

Lemma36: for b1 being non empty TopSpace
for b2 being Point of b1
for b3, b4 being Element of (pi_1 b1,b2)
for b5, b6 being Loop of b2 holds
( b3 = Class (EqRel b1,b2),b5 & b4 = Class (EqRel b1,b2),b6 implies b3 * b4 = Class (EqRel b1,b2),(b5 + b6) )
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 E37: 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) holds
( ( 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)) ) implies 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 holds
( b2,b3 are_connected implies 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 holds
( b2,b3 are_connected & b4,b5 are_homotopic implies 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 holds
( b4,b5 are_homotopic implies 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 holds
( b2,b3 are_connected implies 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 holds
( b2,b3 are_connected implies 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 holds
( b2,b3 are_connected implies 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 holds
( b2,b3 are_connected implies (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 holds
( b2,b3 are_connected implies for b5 being Homomorphism of (pi_1 b1,b3),(pi_1 b1,b2) holds
( b5 = pi_1-iso b4 implies 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 holds
( b2,b3 are_connected implies 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) holds
( ( 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)) ) implies 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)) );

Lemma46: 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;

Lemma47: 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;

theorem Th62: :: TOPALG_1:62
for b1 being non empty TopSpace
for b2 being Point of b1
for b3, b4 being Element of (pi_1 b1,b2)
for b5, b6 being Loop of b2 holds
( b3 = Class (EqRel b1,b2),b5 & b4 = Class (EqRel b1,b2),b6 implies b3 * b4 = Class (EqRel b1,b2),(b5 + b6) ) by Lemma36;