Article TOPALG_5, MML version 4.99.1005

:: TOPALG_5:funcreg 1
registration
  cluster INT.Group -> non empty infinite strict Group-like associative;
end;

:: TOPALG_5:th 1
theorem
for b1, b2, b3 being real set
   st b1 <= b2 & 0 < b3
for b4 being Element of the carrier of Closed-Interval-MSpace(b1,b2)
      st Ball(b4,b3) <> [.b1,b2.] &
         Ball(b4,b3) <> [.b1,b4 + b3.[ &
         Ball(b4,b3) <> ].b4 - b3,b2.]
   holds Ball(b4,b3) = ].b4 - b3,b4 + b3.[;

:: TOPALG_5:th 2
theorem
for b1, b2 being real set
      st b1 <= b2
   holds ex b3 being Basis of Closed-Interval-TSpace(b1,b2) st
      (ex b4 being ManySortedSet of the carrier of Closed-Interval-TSpace(b1,b2) st
          for b5 being Element of the carrier of Closed-Interval-MSpace(b1,b2) holds
             b4 . b5 = {Ball(b5,1 / b6) where b6 is Element of NAT: b6 <> 0} &
              b3 = Union b4) &
       (for b4 being Element of bool the carrier of Closed-Interval-TSpace(b1,b2)
             st b4 in b3
          holds b4 is connected(Closed-Interval-TSpace(b1,b2)));

:: TOPALG_5:th 3
theorem
for b1 being TopStruct
for b2 being Element of bool the carrier of b1
for b3 being Element of the carrier of b1
      st b3 in b2
   holds Component_of(b3,b2) c= b2;

:: TOPALG_5:funcreg 2
registration
  let a1 be TopSpace-like TopStruct;
  let a2 be open Element of bool the carrier of a1;
  cluster a1 | a2 -> strict open;
end;

:: TOPALG_5:th 4
theorem
for b1 being TopSpace-like TopStruct
for b2 being SubSpace of b1
for b3 being Element of bool the carrier of b1
for b4 being Element of bool the carrier of b2
      st b3 = b4
   holds b1 | b3 = b2 | b4;

:: TOPALG_5:th 5
theorem
for b1, b2 being TopSpace-like TopStruct
for b3, b4 being Element of bool the carrier of b2
for b5, b6 being Element of bool the carrier of b1
      st TopStruct(#the carrier of b1,the topology of b1#) = TopStruct(#the carrier of b2,the topology of b2#) &
         b3 = b5 &
         b4 = b6 &
         b3,b4 are_separated
   holds b5,b6 are_separated;

:: TOPALG_5:th 6
theorem
for b1, b2 being TopSpace-like TopStruct
      st TopStruct(#the carrier of b1,the topology of b1#) = TopStruct(#the carrier of b2,the topology of b2#) &
         b1 is connected
   holds b2 is connected;

:: TOPALG_5:th 7
theorem
for b1, b2 being TopSpace-like TopStruct
for b3 being Element of bool the carrier of b1
for b4 being Element of bool the carrier of b2
      st TopStruct(#the carrier of b1,the topology of b1#) = TopStruct(#the carrier of b2,the topology of b2#) &
         b3 = b4 &
         b3 is connected(b1)
   holds b4 is connected(b2);

:: TOPALG_5:th 8
theorem
for b1, b2 being non empty TopSpace-like TopStruct
for b3 being Element of the carrier of b1
for b4 being Element of the carrier of b2
for b5 being a_neighborhood of b3
      st TopStruct(#the carrier of b1,the topology of b1#) = TopStruct(#the carrier of b2,the topology of b2#) &
         b3 = b4
   holds b5 is a_neighborhood of b4;

:: TOPALG_5:th 9
theorem
for b1, b2 being non empty TopSpace-like TopStruct
for b3 being Element of bool the carrier of b1
for b4 being Element of bool the carrier of b2
for b5 being a_neighborhood of b3
      st TopStruct(#the carrier of b1,the topology of b1#) = TopStruct(#the carrier of b2,the topology of b2#) &
         b3 = b4
   holds b5 is a_neighborhood of b4;

:: TOPALG_5:th 10
theorem
for b1, b2 being non empty TopSpace-like TopStruct
for b3, b4 being Element of bool the carrier of b2
for b5 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2
      st b5 is being_homeomorphism(b1, b2) & b3 is_a_component_of b4
   holds b5 " b3 is_a_component_of b5 " b4;

:: TOPALG_5:th 11
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being non empty SubSpace of b1
for b3 being non empty Element of bool the carrier of b1
for b4 being non empty Element of bool the carrier of b2
      st b3 = b4 & b3 is locally_connected(b1)
   holds b4 is locally_connected(b2);

:: TOPALG_5:th 12
theorem
for b1, b2 being non empty TopSpace-like TopStruct
      st TopStruct(#the carrier of b1,the topology of b1#) = TopStruct(#the carrier of b2,the topology of b2#) &
         b1 is locally_connected
   holds b2 is locally_connected;

:: TOPALG_5:th 13
theorem
for b1 being non empty TopSpace-like TopStruct holds
      b1 is locally_connected
   iff
      [#] b1 is locally_connected(b1);

:: TOPALG_5:th 14
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being non empty open SubSpace of b1
      st b1 is locally_connected
   holds b2 is locally_connected;

:: TOPALG_5:th 15
theorem
for b1, b2 being non empty TopSpace-like TopStruct
      st b1,b2 are_homeomorphic & b1 is locally_connected
   holds b2 is locally_connected;

:: TOPALG_5:th 16
theorem
for b1 being non empty TopSpace-like TopStruct
      st ex b2 being Basis of b1 st
           for b3 being Element of bool the carrier of b1
                 st b3 in b2
              holds b3 is connected(b1)
   holds b1 is locally_connected;

:: TOPALG_5:th 17
theorem
for b1, b2 being real set
      st b1 <= b2
   holds Closed-Interval-TSpace(b1,b2) is locally_connected;

:: TOPALG_5:funcreg 3
registration
  cluster I[01] -> locally_connected;
end;

:: TOPALG_5:funcreg 4
registration
  let a1 be non empty open Element of bool the carrier of I[01];
  cluster I[01] | a1 -> strict locally_connected;
end;

:: TOPALG_5:funcnot 1 => TOPALG_5:func 1
definition
  let a1 be real set;
  func ExtendInt A1 -> Function-like quasi_total Relation of the carrier of I[01],the carrier of R^1 means
    for b1 being Element of the carrier of I[01] holds
       it . b1 = a1 * b1;
end;

:: TOPALG_5:def 1
theorem
for b1 being real set
for b2 being Function-like quasi_total Relation of the carrier of I[01],the carrier of R^1 holds
      b2 = ExtendInt b1
   iff
      for b3 being Element of the carrier of I[01] holds
         b2 . b3 = b1 * b3;

:: TOPALG_5:funcreg 5
registration
  let a1 be real set;
  cluster ExtendInt a1 -> Function-like quasi_total continuous;
end;

:: TOPALG_5:funcnot 2 => TOPALG_5:func 2
definition
  let a1 be real set;
  redefine func ExtendInt a1 -> Path of R^1 0,R^1 a1;
end;

:: TOPALG_5:funcnot 3 => TOPALG_5:func 3
definition
  let a1, a2, a3 be non empty TopSpace-like TopStruct;
  let a4 be Function-like quasi_total Relation of the carrier of [:a1,a2:],the carrier of a3;
  let a5 be Element of the carrier of a2;
  func Prj1(A5,A4) -> Function-like quasi_total Relation of the carrier of a1,the carrier of a3 means
    for b1 being Element of the carrier of a1 holds
       it . b1 = a4 .(b1,a5);
end;

:: TOPALG_5:def 2
theorem
for b1, b2, b3 being non empty TopSpace-like TopStruct
for b4 being Function-like quasi_total Relation of the carrier of [:b1,b2:],the carrier of b3
for b5 being Element of the carrier of b2
for b6 being Function-like quasi_total Relation of the carrier of b1,the carrier of b3 holds
      b6 = Prj1(b5,b4)
   iff
      for b7 being Element of the carrier of b1 holds
         b6 . b7 = b4 .(b7,b5);

:: TOPALG_5:funcnot 4 => TOPALG_5:func 4
definition
  let a1, a2, a3 be non empty TopSpace-like TopStruct;
  let a4 be Function-like quasi_total Relation of the carrier of [:a1,a2:],the carrier of a3;
  let a5 be Element of the carrier of a1;
  func Prj2(A5,A4) -> Function-like quasi_total Relation of the carrier of a2,the carrier of a3 means
    for b1 being Element of the carrier of a2 holds
       it . b1 = a4 .(a5,b1);
end;

:: TOPALG_5:def 3
theorem
for b1, b2, b3 being non empty TopSpace-like TopStruct
for b4 being Function-like quasi_total Relation of the carrier of [:b1,b2:],the carrier of b3
for b5 being Element of the carrier of b1
for b6 being Function-like quasi_total Relation of the carrier of b2,the carrier of b3 holds
      b6 = Prj2(b5,b4)
   iff
      for b7 being Element of the carrier of b2 holds
         b6 . b7 = b4 .(b5,b7);

:: TOPALG_5:funcreg 6
registration
  let a1, a2, a3 be non empty TopSpace-like TopStruct;
  let a4 be Function-like quasi_total continuous Relation of the carrier of [:a1,a2:],the carrier of a3;
  let a5 be Element of the carrier of a2;
  cluster Prj1(a5,a4) -> Function-like quasi_total continuous;
end;

:: TOPALG_5:funcreg 7
registration
  let a1, a2, a3 be non empty TopSpace-like TopStruct;
  let a4 be Function-like quasi_total continuous Relation of the carrier of [:a1,a2:],the carrier of a3;
  let a5 be Element of the carrier of a1;
  cluster Prj2(a5,a4) -> Function-like quasi_total continuous;
end;

:: TOPALG_5:th 18
theorem
for b1 being non empty TopSpace-like TopStruct
for b2, b3 being Element of the carrier of b1
for b4, b5 being Path of b2,b3
for b6 being Homotopy of b4,b5
for b7 being Element of the carrier of I[01]
      st b6 is continuous([:I[01],I[01]:], b1)
   holds Prj1(b7,b6) is continuous(I[01], b1);

:: TOPALG_5:th 19
theorem
for b1 being non empty TopSpace-like TopStruct
for b2, b3 being Element of the carrier of b1
for b4, b5 being Path of b2,b3
for b6 being Homotopy of b4,b5
for b7 being Element of the carrier of I[01]
      st b6 is continuous([:I[01],I[01]:], b1)
   holds Prj2(b7,b6) is continuous(I[01], b1);

:: TOPALG_5:funcnot 5 => TOPALG_5:func 5
definition
  let a1 be real set;
  func cLoop A1 -> Function-like quasi_total Relation of the carrier of I[01],the carrier of Tunit_circle 2 means
    for b1 being Element of the carrier of I[01] holds
       it . b1 = |[cos (((2 * PI) * a1) * b1),sin (((2 * PI) * a1) * b1)]|;
end;

:: TOPALG_5:def 4
theorem
for b1 being real set
for b2 being Function-like quasi_total Relation of the carrier of I[01],the carrier of Tunit_circle 2 holds
      b2 = cLoop b1
   iff
      for b3 being Element of the carrier of I[01] holds
         b2 . b3 = |[cos (((2 * PI) * b1) * b3),sin (((2 * PI) * b1) * b3)]|;

:: TOPALG_5:th 20
theorem
for b1 being real set holds
   cLoop b1 = CircleMap * ExtendInt b1;

:: TOPALG_5:funcnot 6 => TOPALG_5:func 6
definition
  let a1 be integer set;
  redefine func cLoop a1 -> Path of c[10],c[10];
end;

:: TOPALG_5:th 21
theorem
for b1 being Element of bool bool the carrier of Tunit_circle 2
   st b1 is_a_cover_of Tunit_circle 2 & b1 is open(Tunit_circle 2)
for b2 being non empty TopSpace-like TopStruct
for b3 being Function-like quasi_total continuous Relation of the carrier of [:b2,I[01]:],the carrier of Tunit_circle 2
for b4 being Element of the carrier of b2 holds
   ex b5 being non empty FinSequence of REAL st
      b5 . 1 = 0 &
       b5 . len b5 = 1 &
       b5 is increasing &
       (ex b6 being open Element of bool the carrier of b2 st
          b4 in b6 &
           (for b7 being natural set
                 st b7 in dom b5 & b7 + 1 in dom b5
              holds ex b8 being non empty Element of bool the carrier of Tunit_circle 2 st
                 b8 in b1 &
                  b3 .: [:b6,[.b5 . b7,b5 . (b7 + 1).]:] c= b8));

:: TOPALG_5:th 22
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Function-like quasi_total Relation of the carrier of [:b1,I[01]:],the carrier of Tunit_circle 2
for b3 being Function-like quasi_total Relation of the carrier of [:b1,Sspace 0[01]:],the carrier of R^1
      st b2 is continuous([:b1,I[01]:], Tunit_circle 2) &
         b3 is continuous([:b1,Sspace 0[01]:], R^1) &
         b2 | [:the carrier of b1,{0}:] = CircleMap * b3
   holds ex b4 being Function-like quasi_total Relation of the carrier of [:b1,I[01]:],the carrier of R^1 st
      b4 is continuous([:b1,I[01]:], R^1) &
       b2 = CircleMap * b4 &
       b4 | [:the carrier of b1,{0}:] = b3 &
       (for b5 being Function-like quasi_total Relation of the carrier of [:b1,I[01]:],the carrier of R^1
             st b5 is continuous([:b1,I[01]:], R^1) &
                b2 = CircleMap * b5 &
                b5 | [:the carrier of b1,{0}:] = b3
          holds b4 = b5);

:: TOPALG_5:th 23
theorem
for b1, b2 being Element of the carrier of Tunit_circle 2
for b3 being Element of the carrier of R^1
for b4 being Path of b1,b2
      st b3 in CircleMap " {b1}
   holds ex b5 being Function-like quasi_total Relation of the carrier of I[01],the carrier of R^1 st
      b5 . 0 = b3 &
       b4 = CircleMap * b5 &
       b5 is continuous(I[01], R^1) &
       (for b6 being Function-like quasi_total Relation of the carrier of I[01],the carrier of R^1
             st b6 is continuous(I[01], R^1) & b4 = CircleMap * b6 & b6 . 0 = b3
          holds b5 = b6);

:: TOPALG_5:th 24
theorem
for b1, b2 being Element of the carrier of Tunit_circle 2
for b3, b4 being Path of b1,b2
for b5 being Homotopy of b3,b4
for b6 being Element of the carrier of R^1
      st b3,b4 are_homotopic & b6 in CircleMap " {b1}
   holds ex b7 being Element of the carrier of R^1 st
      ex b8, b9 being Path of b6,b7 st
         ex b10 being Homotopy of b8,b9 st
            b8,b9 are_homotopic &
             b5 = CircleMap * b10 &
             b7 in CircleMap " {b2} &
             (for b11 being Homotopy of b8,b9
                   st b5 = CircleMap * b11
                holds b10 = b11);

:: TOPALG_5:funcnot 7 => TOPALG_5:func 7
definition
  func Ciso -> Function-like quasi_total Relation of the carrier of INT.Group,the carrier of FundamentalGroup(Tunit_circle 2,c[10]) means
    for b1 being integer set holds
       it . b1 = Class(EqRel(Tunit_circle 2,c[10]),cLoop b1);
end;

:: TOPALG_5:def 5
theorem
for b1 being Function-like quasi_total Relation of the carrier of INT.Group,the carrier of FundamentalGroup(Tunit_circle 2,c[10]) holds
      b1 = Ciso
   iff
      for b2 being integer set holds
         b1 . b2 = Class(EqRel(Tunit_circle 2,c[10]),cLoop b2);

:: TOPALG_5:th 25
theorem
for b1 being integer set
for b2 being Path of R^1 0,R^1 b1 holds
   Ciso . b1 = Class(EqRel(Tunit_circle 2,c[10]),CircleMap * b2);

:: TOPALG_5:funcnot 8 => TOPALG_5:func 8
definition
  redefine func Ciso -> Function-like quasi_total multiplicative Relation of the carrier of INT.Group,the carrier of FundamentalGroup(Tunit_circle 2,c[10]);
end;

:: TOPALG_5:funcreg 8
registration
  cluster Ciso -> Function-like one-to-one quasi_total onto;
end;

:: TOPALG_5:th 26
theorem
Ciso is being_isomorphism(INT.Group, FundamentalGroup(Tunit_circle 2,c[10]));

:: TOPALG_5:th 27
theorem
for b1 being being_simple_closed_curve SubSpace of TOP-REAL 2
for b2 being Element of the carrier of b1 holds
   INT.Group,FundamentalGroup(b1,b2) are_isomorphic;

:: TOPALG_5:funcreg 9
registration
  let a1 be being_simple_closed_curve SubSpace of TOP-REAL 2;
  let a2 be Element of the carrier of a1;
  cluster FundamentalGroup(a1,a2) -> infinite strict;
end;