:: TOPALG_2 semantic presentation

registration
let c1 be Nat;
cluster non empty convex Element of bool the carrier of (TOP-REAL a1);
existence
ex b1 being Subset of (TOP-REAL c1) st
( not b1 is empty & b1 is convex )
proof end;
end;

definition
let c1 be Nat;
let c2 be SubSpace of TOP-REAL c1;
attr a2 is convex means :Def1: :: TOPALG_2:def 1
[#] a2 is convex Subset of (TOP-REAL a1);
end;

:: deftheorem Def1 defines convex TOPALG_2:def 1 :
for b1 being Nat
for b2 being SubSpace of TOP-REAL b1 holds
( b2 is convex iff [#] b2 is convex Subset of (TOP-REAL b1) );

registration
let c1 be Nat;
cluster non empty convex -> non empty arcwise_connected SubSpace of TOP-REAL a1;
coherence
for b1 being non empty SubSpace of TOP-REAL c1 st b1 is convex holds
b1 is arcwise_connected
proof end;
end;

registration
let c1 be Nat;
cluster non empty strict arcwise_connected convex SubSpace of TOP-REAL a1;
existence
ex b1 being SubSpace of TOP-REAL c1 st
( b1 is strict & not b1 is empty & b1 is convex )
proof end;
end;

theorem Th1: :: TOPALG_2:1
for b1 being non empty TopSpace
for b2 being non empty SubSpace of b1
for b3, b4 being Point of b1
for b5, b6 being Point of b2
for b7 being Path of b5,b6 st b3 = b5 & b4 = b6 & b5,b6 are_connected holds
b7 is Path of b3,b4
proof end;

set c1 = the carrier of I[01] ;

Lemma3: the carrier of [:I[01] ,I[01] :] = [:the carrier of I[01] ,the carrier of I[01] :]
by BORSUK_1:def 5;

Lemma4: the carrier of [:(TOP-REAL 1),I[01] :] = [:the carrier of (TOP-REAL 1),the carrier of I[01] :]
by BORSUK_1:def 5;

Lemma5: the carrier of [:R^1 ,I[01] :] = [:the carrier of R^1 ,the carrier of I[01] :]
by BORSUK_1:def 5;

Lemma6: dom (id I[01] ) = the carrier of I[01]
by FUNCT_2:def 1;

definition
let c2 be Nat;
let c3 be non empty convex SubSpace of TOP-REAL c2;
let c4, c5 be Point of c3;
let c6, c7 be Path of c4,c5;
func ConvexHomotopy c5,c6 -> Function of [:I[01] ,I[01] :],a2 means :Def2: :: TOPALG_2:def 2
for b1, b2 being Element of I[01]
for b3, b4 being Point of (TOP-REAL a1) st b3 = a5 . b1 & b4 = a6 . b1 holds
a7 . b1,b2 = ((1 - b2) * b3) + (b2 * b4);
existence
ex b1 being Function of [:I[01] ,I[01] :],c3 st
for b2, b3 being Element of I[01]
for b4, b5 being Point of (TOP-REAL c2) st b4 = c6 . b2 & b5 = c7 . b2 holds
b1 . b2,b3 = ((1 - b3) * b4) + (b3 * b5)
proof end;
uniqueness
for b1, b2 being Function of [:I[01] ,I[01] :],c3 st ( for b3, b4 being Element of I[01]
for b5, b6 being Point of (TOP-REAL c2) st b5 = c6 . b3 & b6 = c7 . b3 holds
b1 . b3,b4 = ((1 - b4) * b5) + (b4 * b6) ) & ( for b3, b4 being Element of I[01]
for b5, b6 being Point of (TOP-REAL c2) st b5 = c6 . b3 & b6 = c7 . b3 holds
b2 . b3,b4 = ((1 - b4) * b5) + (b4 * b6) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def2 defines ConvexHomotopy TOPALG_2:def 2 :
for b1 being Nat
for b2 being non empty convex SubSpace of TOP-REAL b1
for b3, b4 being Point of b2
for b5, b6 being Path of b3,b4
for b7 being Function of [:I[01] ,I[01] :],b2 holds
( b7 = ConvexHomotopy b5,b6 iff for b8, b9 being Element of I[01]
for b10, b11 being Point of (TOP-REAL b1) st b10 = b5 . b8 & b11 = b6 . b8 holds
b7 . b8,b9 = ((1 - b9) * b10) + (b9 * b11) );

Lemma8: for b1 being Nat
for b2 being non empty convex SubSpace of TOP-REAL b1
for b3, b4 being Point of b2
for b5, b6 being Path of b3,b4 holds ConvexHomotopy b5,b6 is continuous
proof end;

Lemma9: for b1 being Nat
for b2 being non empty convex SubSpace of TOP-REAL b1
for b3, b4 being Point of b2
for b5, b6 being Path of b3,b4
for b7 being Point of I[01] holds
( (ConvexHomotopy b5,b6) . b7,0 = b5 . b7 & (ConvexHomotopy b5,b6) . b7,1 = b6 . b7 & ( for b8 being Point of I[01] holds
( (ConvexHomotopy b5,b6) . 0,b8 = b3 & (ConvexHomotopy b5,b6) . 1,b8 = b4 ) ) )
proof end;

theorem Th2: :: TOPALG_2:2
for b1 being Nat
for b2 being non empty convex SubSpace of TOP-REAL b1
for b3, b4 being Point of b2
for b5, b6 being Path of b3,b4 holds b5,b6 are_homotopic
proof end;

definition
let c2 be Nat;
let c3 be non empty convex SubSpace of TOP-REAL c2;
let c4, c5 be Point of c3;
let c6, c7 be Path of c4,c5;
redefine func ConvexHomotopy as ConvexHomotopy c5,c6 -> Homotopy of a5,a6;
coherence
ConvexHomotopy c6,c7 is Homotopy of c6,c7
proof end;
end;

registration
let c2 be Nat;
let c3 be non empty convex SubSpace of TOP-REAL c2;
let c4, c5 be Point of c3;
let c6, c7 be Path of c4,c5;
cluster -> continuous Homotopy of a5,a6;
coherence
for b1 being Homotopy of c6,c7 holds b1 is continuous
proof end;
end;

theorem Th3: :: TOPALG_2:3
for b1 being Nat
for b2 being non empty convex SubSpace of TOP-REAL b1
for b3 being Point of b2
for b4 being Loop of b3 holds the carrier of (pi_1 b2,b3) = {(Class (EqRel b2,b3),b4)}
proof end;

registration
let c2 be Nat;
let c3 be non empty convex SubSpace of TOP-REAL c2;
let c4 be Point of c3;
cluster FundamentalGroup a2,a3 -> trivial ;
coherence
pi_1 c3,c4 is trivial
proof end;
end;

theorem Th4: :: TOPALG_2:4
for b1 being real number holds Proj |[b1]|,1 = b1
proof end;

registration
cluster -> real-membered SubSpace of R^1 ;
coherence
for b1 being SubSpace of R^1 holds b1 is real-membered
;
end;

theorem Th5: :: TOPALG_2:5
for b1, b2 being real number st b1 <= b2 holds
[.b1,b2.] = { (((1 - b3) * b1) + (b3 * b2)) where B is Real : ( 0 <= b3 & b3 <= 1 ) }
proof end;

theorem Th6: :: TOPALG_2:6
for b1 being Function of [:R^1 ,I[01] :],R^1 st ( for b2 being Point of R^1
for b3 being Point of I[01] holds b1 . b2,b3 = (1 - b3) * b2 ) holds
b1 is continuous
proof end;

theorem Th7: :: TOPALG_2:7
for b1 being Function of [:R^1 ,I[01] :],R^1 st ( for b2 being Point of R^1
for b3 being Point of I[01] holds b1 . b2,b3 = b3 * b2 ) holds
b1 is continuous
proof end;

definition
let c2 be Subset of R^1 ;
attr a1 is convex means :Def3: :: TOPALG_2:def 3
for b1, b2 being Point of R^1 st b1 in a1 & b2 in a1 holds
[.b1,b2.] c= a1;
end;

:: deftheorem Def3 defines convex TOPALG_2:def 3 :
for b1 being Subset of R^1 holds
( b1 is convex iff for b2, b3 being Point of R^1 st b2 in b1 & b3 in b1 holds
[.b2,b3.] c= b1 );

registration
cluster non empty convex Element of bool the carrier of R^1 ;
existence
ex b1 being Subset of R^1 st
( not b1 is empty & b1 is convex )
proof end;
cluster empty -> convex Element of bool the carrier of R^1 ;
coherence
for b1 being Subset of R^1 st b1 is empty holds
b1 is convex
proof end;
end;

theorem Th8: :: TOPALG_2:8
for b1, b2 being real number holds [.b1,b2.] is convex Subset of R^1
proof end;

theorem Th9: :: TOPALG_2:9
for b1, b2 being real number holds ].b1,b2.[ is convex Subset of R^1
proof end;

theorem Th10: :: TOPALG_2:10
for b1, b2 being real number holds [.b1,b2.[ is convex Subset of R^1
proof end;

theorem Th11: :: TOPALG_2:11
for b1, b2 being real number holds ].b1,b2.] is convex Subset of R^1
proof end;

definition
let c2 be SubSpace of R^1 ;
attr a1 is convex means :Def4: :: TOPALG_2:def 4
[#] a1 is convex Subset of R^1 ;
end;

:: deftheorem Def4 defines convex TOPALG_2:def 4 :
for b1 being SubSpace of R^1 holds
( b1 is convex iff [#] b1 is convex Subset of R^1 );

Lemma18: for b1 being SubSpace of R^1 st b1 = R^1 holds
b1 is convex
proof end;

registration
cluster non empty strict real-membered convex SubSpace of R^1 ;
existence
ex b1 being SubSpace of R^1 st
( b1 is strict & not b1 is empty & b1 is convex )
proof end;
end;

definition
redefine func R^1 as R^1 -> strict convex SubSpace of R^1 ;
coherence
R^1 is strict convex SubSpace of R^1
by Lemma18, TSEP_1:2;
end;

theorem Th12: :: TOPALG_2:12
for b1 being non empty convex SubSpace of R^1
for b2, b3 being Point of b1 holds [.b2,b3.] c= the carrier of b1
proof end;

registration
cluster non empty convex -> non empty arcwise_connected real-membered SubSpace of R^1 ;
coherence
for b1 being non empty SubSpace of R^1 st b1 is convex holds
b1 is arcwise_connected
proof end;
end;

theorem Th13: :: TOPALG_2:13
for b1, b2 being real number st b1 <= b2 holds
Closed-Interval-TSpace b1,b2 is convex
proof end;

theorem Th14: :: TOPALG_2:14
I[01] is convex by Th13, TOPMETR:27;

theorem Th15: :: TOPALG_2:15
for b1, b2 being real number st b1 <= b2 holds
Closed-Interval-TSpace b1,b2 is arcwise_connected
proof end;

definition
let c2 be non empty convex SubSpace of R^1 ;
let c3, c4 be Point of c2;
let c5, c6 be Path of c3,c4;
func R1Homotopy c4,c5 -> Function of [:I[01] ,I[01] :],a1 means :Def5: :: TOPALG_2: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] :],c2 st
for b2, b3 being Element of I[01] holds b1 . b2,b3 = ((1 - b3) * (c5 . b2)) + (b3 * (c6 . b2))
proof end;
uniqueness
for b1, b2 being Function of [:I[01] ,I[01] :],c2 st ( for b3, b4 being Element of I[01] holds b1 . b3,b4 = ((1 - b4) * (c5 . b3)) + (b4 * (c6 . b3)) ) & ( for b3, b4 being Element of I[01] holds b2 . b3,b4 = ((1 - b4) * (c5 . b3)) + (b4 * (c6 . b3)) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def5 defines R1Homotopy TOPALG_2:def 5 :
for b1 being non empty convex SubSpace of R^1
for b2, b3 being Point of b1
for b4, b5 being Path of b2,b3
for b6 being Function of [:I[01] ,I[01] :],b1 holds
( b6 = R1Homotopy b4,b5 iff for b7, b8 being Element of I[01] holds b6 . b7,b8 = ((1 - b8) * (b4 . b7)) + (b8 * (b5 . b7)) );

Lemma23: for b1 being non empty convex SubSpace of R^1
for b2, b3 being Point of b1
for b4, b5 being Path of b2,b3 holds R1Homotopy b4,b5 is continuous
proof end;

Lemma24: for b1 being non empty convex SubSpace of R^1
for b2, b3 being Point of b1
for b4, b5 being Path of b2,b3
for b6 being Point of I[01] holds
( (R1Homotopy b4,b5) . b6,0 = b4 . b6 & (R1Homotopy b4,b5) . b6,1 = b5 . b6 & ( for b7 being Point of I[01] holds
( (R1Homotopy b4,b5) . 0,b7 = b2 & (R1Homotopy b4,b5) . 1,b7 = b3 ) ) )
proof end;

theorem Th16: :: TOPALG_2:16
for b1 being non empty convex SubSpace of R^1
for b2, b3 being Point of b1
for b4, b5 being Path of b2,b3 holds b4,b5 are_homotopic
proof end;

definition
let c2 be non empty convex SubSpace of R^1 ;
let c3, c4 be Point of c2;
let c5, c6 be Path of c3,c4;
redefine func R1Homotopy as R1Homotopy c4,c5 -> Homotopy of a4,a5;
coherence
R1Homotopy c5,c6 is Homotopy of c5,c6
proof end;
end;

registration
let c2 be non empty convex SubSpace of R^1 ;
let c3, c4 be Point of c2;
let c5, c6 be Path of c3,c4;
cluster -> continuous Homotopy of a4,a5;
coherence
for b1 being Homotopy of c5,c6 holds b1 is continuous
proof end;
end;

theorem Th17: :: TOPALG_2:17
for b1 being non empty convex SubSpace of R^1
for b2 being Point of b1
for b3 being Loop of b2 holds the carrier of (pi_1 b1,b2) = {(Class (EqRel b1,b2),b3)}
proof end;

registration
let c2 be non empty convex SubSpace of R^1 ;
let c3 be Point of c2;
cluster FundamentalGroup a1,a2 -> trivial ;
coherence
pi_1 c2,c3 is trivial
proof end;
end;

theorem Th18: :: TOPALG_2:18
for b1, b2 being real number st b1 <= b2 holds
for b3, b4 being Point of (Closed-Interval-TSpace b1,b2)
for b5, b6 being Path of b3,b4 holds b5,b6 are_homotopic
proof end;

theorem Th19: :: TOPALG_2:19
for b1, b2 being real number st b1 <= b2 holds
for b3 being Point of (Closed-Interval-TSpace b1,b2)
for b4 being Loop of b3 holds the carrier of (pi_1 (Closed-Interval-TSpace b1,b2),b3) = {(Class (EqRel (Closed-Interval-TSpace b1,b2),b3),b4)}
proof end;

theorem Th20: :: TOPALG_2:20
for b1, b2 being Point of I[01]
for b3, b4 being Path of b1,b2 holds b3,b4 are_homotopic by Th14, Th16;

theorem Th21: :: TOPALG_2:21
for b1 being Point of I[01]
for b2 being Loop of b1 holds the carrier of (pi_1 I[01] ,b1) = {(Class (EqRel I[01] ,b1),b2)} by Th14, Th17;

registration
let c2 be Point of I[01] ;
cluster FundamentalGroup I[01] ,a1 -> trivial ;
coherence
pi_1 I[01] ,c2 is trivial
proof end;
end;