Article TOPALG_2, MML version 4.99.1005

:: TOPALG_2:exreg 1
registration
  let a1 be Element of NAT;
  cluster non empty convex Element of bool the carrier of TOP-REAL a1;
end;

:: TOPALG_2:attrnot 1 => TOPALG_2:attr 1
definition
  let a1 be Element of NAT;
  let a2 be SubSpace of TOP-REAL a1;
  attr a2 is convex means
    [#] a2 is convex Element of bool the carrier of TOP-REAL a1;
end;

:: TOPALG_2:dfs 1
definiens
  let a1 be Element of NAT;
  let a2 be SubSpace of TOP-REAL a1;
To prove
     a2 is convex
it is sufficient to prove
  thus [#] a2 is convex Element of bool the carrier of TOP-REAL a1;

:: TOPALG_2:def 1
theorem
for b1 being Element of NAT
for b2 being SubSpace of TOP-REAL b1 holds
      b2 is convex(b1)
   iff
      [#] b2 is convex Element of bool the carrier of TOP-REAL b1;

:: TOPALG_2:condreg 1
registration
  let a1 be Element of NAT;
  cluster non empty convex -> arcwise_connected (SubSpace of TOP-REAL a1);
end;

:: TOPALG_2:exreg 2
registration
  let a1 be Element of NAT;
  cluster non empty strict TopSpace-like convex SubSpace of TOP-REAL a1;
end;

:: TOPALG_2:th 1
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being non empty SubSpace of b1
for b3, b4 being Element of the carrier of b1
for b5, b6 being Element of the carrier 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;

:: TOPALG_2:funcnot 1 => TOPALG_2:func 1
definition
  let a1 be Element of NAT;
  let a2 be non empty convex SubSpace of TOP-REAL a1;
  let a3, a4 be Element of the carrier of a2;
  let a5, a6 be Path of a3,a4;
  func ConvexHomotopy(A5,A6) -> Function-like quasi_total Relation of the carrier of [:I[01],I[01]:],the carrier of a2 means
    for b1, b2 being Element of the carrier of I[01]
    for b3, b4 being Element of the carrier of TOP-REAL a1
          st b3 = a5 . b1 & b4 = a6 . b1
       holds it .(b1,b2) = ((1 - b2) * b3) + (b2 * b4);
end;

:: TOPALG_2:def 2
theorem
for b1 being Element of NAT
for b2 being non empty convex SubSpace of TOP-REAL b1
for b3, b4 being Element of the carrier of b2
for b5, b6 being Path of b3,b4
for b7 being Function-like quasi_total Relation of the carrier of [:I[01],I[01]:],the carrier of b2 holds
      b7 = ConvexHomotopy(b5,b6)
   iff
      for b8, b9 being Element of the carrier of I[01]
      for b10, b11 being Element of the carrier of TOP-REAL b1
            st b10 = b5 . b8 & b11 = b6 . b8
         holds b7 .(b8,b9) = ((1 - b9) * b10) + (b9 * b11);

:: TOPALG_2:th 2
theorem
for b1 being Element of NAT
for b2 being non empty convex SubSpace of TOP-REAL b1
for b3, b4 being Element of the carrier of b2
for b5, b6 being Path of b3,b4 holds
b5,b6 are_homotopic;

:: TOPALG_2:funcnot 2 => TOPALG_2:func 2
definition
  let a1 be Element of NAT;
  let a2 be non empty convex SubSpace of TOP-REAL a1;
  let a3, a4 be Element of the carrier of a2;
  let a5, a6 be Path of a3,a4;
  redefine func ConvexHomotopy(a5,a6) -> Homotopy of a5,a6;
end;

:: TOPALG_2:condreg 2
registration
  let a1 be Element of NAT;
  let a2 be non empty convex SubSpace of TOP-REAL a1;
  let a3, a4 be Element of the carrier of a2;
  let a5, a6 be Path of a3,a4;
  cluster -> continuous (Homotopy of a5,a6);
end;

:: TOPALG_2:th 3
theorem
for b1 being Element of NAT
for b2 being non empty convex SubSpace of TOP-REAL b1
for b3 being Element of the carrier of b2
for b4 being Path of b3,b3 holds
   the carrier of FundamentalGroup(b2,b3) = {Class(EqRel(b2,b3),b4)};

:: TOPALG_2:funcreg 1
registration
  let a1 be Element of NAT;
  let a2 be non empty convex SubSpace of TOP-REAL a1;
  let a3 be Element of the carrier of a2;
  cluster FundamentalGroup(a2,a3) -> trivial strict;
end;

:: TOPALG_2:th 4
theorem
for b1 being real set holds
   Proj(|[b1]|,1) = b1;

:: TOPALG_2:condreg 3
registration
  cluster -> real-membered (SubSpace of R^1);
end;

:: TOPALG_2:th 5
theorem
for b1, b2 being real set
      st b1 <= b2
   holds [.b1,b2.] = {((1 - b3) * b1) + (b3 * b2) where b3 is Element of REAL: 0 <= b3 & b3 <= 1};

:: TOPALG_2:th 6
theorem
for b1 being Function-like quasi_total Relation of the carrier of [:R^1,I[01]:],the carrier of R^1
      st for b2 being Element of the carrier of R^1
        for b3 being Element of the carrier of I[01] holds
           b1 .(b2,b3) = (1 - b3) * b2
   holds b1 is continuous([:R^1,I[01]:], R^1);

:: TOPALG_2:th 7
theorem
for b1 being Function-like quasi_total Relation of the carrier of [:R^1,I[01]:],the carrier of R^1
      st for b2 being Element of the carrier of R^1
        for b3 being Element of the carrier of I[01] holds
           b1 .(b2,b3) = b3 * b2
   holds b1 is continuous([:R^1,I[01]:], R^1);

:: TOPALG_2:attrnot 2 => TOPALG_2:attr 2
definition
  let a1 be Element of bool the carrier of R^1;
  attr a1 is convex means
    for b1, b2 being Element of the carrier of R^1
          st b1 in a1 & b2 in a1
       holds [.b1,b2.] c= a1;
end;

:: TOPALG_2:dfs 3
definiens
  let a1 be Element of bool the carrier of R^1;
To prove
     a1 is convex
it is sufficient to prove
  thus for b1, b2 being Element of the carrier of R^1
          st b1 in a1 & b2 in a1
       holds [.b1,b2.] c= a1;

:: TOPALG_2:def 3
theorem
for b1 being Element of bool the carrier of R^1 holds
      b1 is convex
   iff
      for b2, b3 being Element of the carrier of R^1
            st b2 in b1 & b3 in b1
         holds [.b2,b3.] c= b1;

:: TOPALG_2:exreg 3
registration
  cluster non empty convex Element of bool the carrier of R^1;
end;

:: TOPALG_2:condreg 4
registration
  cluster empty -> convex (Element of bool the carrier of R^1);
end;

:: TOPALG_2:th 8
theorem
for b1, b2 being real set holds
[.b1,b2.] is convex Element of bool the carrier of R^1;

:: TOPALG_2:th 9
theorem
for b1, b2 being real set holds
].b1,b2.[ is convex Element of bool the carrier of R^1;

:: TOPALG_2:th 10
theorem
for b1, b2 being real set holds
[.b1,b2.[ is convex Element of bool the carrier of R^1;

:: TOPALG_2:th 11
theorem
for b1, b2 being real set holds
].b1,b2.] is convex Element of bool the carrier of R^1;

:: TOPALG_2:attrnot 3 => TOPALG_2:attr 3
definition
  let a1 be SubSpace of R^1;
  attr a1 is convex means
    [#] a1 is convex Element of bool the carrier of R^1;
end;

:: TOPALG_2:dfs 4
definiens
  let a1 be SubSpace of R^1;
To prove
     a1 is convex
it is sufficient to prove
  thus [#] a1 is convex Element of bool the carrier of R^1;

:: TOPALG_2:def 4
theorem
for b1 being SubSpace of R^1 holds
      b1 is convex
   iff
      [#] b1 is convex Element of bool the carrier of R^1;

:: TOPALG_2:exreg 4
registration
  cluster non empty strict TopSpace-like real-membered convex SubSpace of R^1;
end;

:: TOPALG_2:funcnot 3 => TOPALG_2:func 3
definition
  redefine func R^1 -> strict convex SubSpace of R^1;
end;

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

:: TOPALG_2:condreg 5
registration
  cluster non empty convex -> arcwise_connected (SubSpace of R^1);
end;

:: TOPALG_2:th 13
theorem
for b1, b2 being real set
      st b1 <= b2
   holds Closed-Interval-TSpace(b1,b2) is convex;

:: TOPALG_2:th 14
theorem
I[01] is convex;

:: TOPALG_2:th 15
theorem
for b1, b2 being real set
      st b1 <= b2
   holds Closed-Interval-TSpace(b1,b2) is arcwise_connected;

:: TOPALG_2:funcnot 4 => TOPALG_2:func 4
definition
  let a1 be non empty convex SubSpace of R^1;
  let a2, a3 be Element of the carrier of a1;
  let a4, a5 be Path of a2,a3;
  func R1Homotopy(A4,A5) -> Function-like quasi_total Relation of the carrier of [:I[01],I[01]:],the carrier of a1 means
    for b1, b2 being Element of the carrier of I[01] holds
    it .(b1,b2) = ((1 - b2) * (a4 . b1)) + (b2 * (a5 . b1));
end;

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

:: TOPALG_2:th 16
theorem
for b1 being non empty convex SubSpace of R^1
for b2, b3 being Element of the carrier of b1
for b4, b5 being Path of b2,b3 holds
b4,b5 are_homotopic;

:: TOPALG_2:funcnot 5 => TOPALG_2:func 5
definition
  let a1 be non empty convex SubSpace of R^1;
  let a2, a3 be Element of the carrier of a1;
  let a4, a5 be Path of a2,a3;
  redefine func R1Homotopy(a4,a5) -> Homotopy of a4,a5;
end;

:: TOPALG_2:condreg 6
registration
  let a1 be non empty convex SubSpace of R^1;
  let a2, a3 be Element of the carrier of a1;
  let a4, a5 be Path of a2,a3;
  cluster -> continuous (Homotopy of a4,a5);
end;

:: TOPALG_2:th 17
theorem
for b1 being non empty convex SubSpace of R^1
for b2 being Element of the carrier of b1
for b3 being Path of b2,b2 holds
   the carrier of FundamentalGroup(b1,b2) = {Class(EqRel(b1,b2),b3)};

:: TOPALG_2:funcreg 2
registration
  let a1 be non empty convex SubSpace of R^1;
  let a2 be Element of the carrier of a1;
  cluster FundamentalGroup(a1,a2) -> trivial strict;
end;

:: TOPALG_2:th 18
theorem
for b1, b2 being real set
   st b1 <= b2
for b3, b4 being Element of the carrier of Closed-Interval-TSpace(b1,b2)
for b5, b6 being Path of b3,b4 holds
b5,b6 are_homotopic;

:: TOPALG_2:th 19
theorem
for b1, b2 being real set
   st b1 <= b2
for b3 being Element of the carrier of Closed-Interval-TSpace(b1,b2)
for b4 being Path of b3,b3 holds
   the carrier of FundamentalGroup(Closed-Interval-TSpace(b1,b2),b3) = {Class(EqRel(Closed-Interval-TSpace(b1,b2),b3),b4)};

:: TOPALG_2:th 20
theorem
for b1, b2 being Element of the carrier of I[01]
for b3, b4 being Path of b1,b2 holds
b3,b4 are_homotopic;

:: TOPALG_2:th 21
theorem
for b1 being Element of the carrier of I[01]
for b2 being Path of b1,b1 holds
   the carrier of FundamentalGroup(I[01],b1) = {Class(EqRel(I[01],b1),b2)};

:: TOPALG_2:funcreg 3
registration
  let a1 be Element of the carrier of I[01];
  cluster FundamentalGroup(I[01],a1) -> trivial strict;
end;