Article CANTOR_1, MML version 4.99.1005

:: CANTOR_1:funcreg 1
registration
  let a1 be set;
  let a2 be non empty set;
  cluster a1 --> a2 -> non-empty;
end;

:: CANTOR_1:funcnot 1 => CANTOR_1:func 1
definition
  let a1 be set;
  let a2 be Element of bool bool a1;
  func UniCl A2 -> Element of bool bool a1 means
    for b1 being Element of bool a1 holds
          b1 in it
       iff
          ex b2 being Element of bool bool a1 st
             b2 c= a2 & b1 = union b2;
end;

:: CANTOR_1:def 1
theorem
for b1 being set
for b2, b3 being Element of bool bool b1 holds
   b3 = UniCl b2
iff
   for b4 being Element of bool b1 holds
         b4 in b3
      iff
         ex b5 being Element of bool bool b1 st
            b5 c= b2 & b4 = union b5;

:: CANTOR_1:modenot 1 => CANTOR_1:mode 1
definition
  let a1 be TopStruct;
  mode Basis of A1 -> Element of bool bool the carrier of a1 means
    it c= the topology of a1 & the topology of a1 c= UniCl it;
end;

:: CANTOR_1:dfs 2
definiens
  let a1 be TopStruct;
  let a2 be Element of bool bool the carrier of a1;
To prove
     a2 is Basis of a1
it is sufficient to prove
  thus a2 c= the topology of a1 & the topology of a1 c= UniCl a2;

:: CANTOR_1:def 2
theorem
for b1 being TopStruct
for b2 being Element of bool bool the carrier of b1 holds
      b2 is Basis of b1
   iff
      b2 c= the topology of b1 & the topology of b1 c= UniCl b2;

:: CANTOR_1:th 1
theorem
for b1 being set
for b2 being Element of bool bool b1 holds
   b2 c= UniCl b2;

:: CANTOR_1:th 2
theorem
for b1 being TopStruct holds
   the topology of b1 is Basis of b1;

:: CANTOR_1:th 3
theorem
for b1 being TopStruct holds
   the topology of b1 is open(b1);

:: CANTOR_1:funcnot 2 => CANTOR_1:func 2
definition
  let a1 be set;
  let a2 be Element of bool bool a1;
  func FinMeetCl A2 -> Element of bool bool a1 means
    for b1 being Element of bool a1 holds
          b1 in it
       iff
          ex b2 being Element of bool bool a1 st
             b2 c= a2 & b2 is finite & b1 = Intersect b2;
end;

:: CANTOR_1:def 4
theorem
for b1 being set
for b2, b3 being Element of bool bool b1 holds
   b3 = FinMeetCl b2
iff
   for b4 being Element of bool b1 holds
         b4 in b3
      iff
         ex b5 being Element of bool bool b1 st
            b5 c= b2 & b5 is finite & b4 = Intersect b5;

:: CANTOR_1:th 4
theorem
for b1 being set
for b2 being Element of bool bool b1 holds
   b2 c= FinMeetCl b2;

:: CANTOR_1:funcreg 2
registration
  let a1 be non empty TopSpace-like TopStruct;
  cluster the topology of a1 -> non empty;
end;

:: CANTOR_1:th 5
theorem
for b1 being non empty TopSpace-like TopStruct holds
   the topology of b1 = FinMeetCl the topology of b1;

:: CANTOR_1:th 6
theorem
for b1 being TopSpace-like TopStruct holds
   the topology of b1 = UniCl the topology of b1;

:: CANTOR_1:th 7
theorem
for b1 being non empty TopSpace-like TopStruct holds
   the topology of b1 = UniCl FinMeetCl the topology of b1;

:: CANTOR_1:th 8
theorem
for b1 being set
for b2 being Element of bool bool b1 holds
   b1 in FinMeetCl b2;

:: CANTOR_1:th 9
theorem
for b1 being set
for b2, b3 being Element of bool bool b1
      st b2 c= b3
   holds UniCl b2 c= UniCl b3;

:: CANTOR_1:th 12
theorem
for b1 being set
for b2 being non empty Element of bool bool bool b1
for b3 being Element of bool bool b1
      st b3 = {Intersect b4 where b4 is Element of b2: TRUE}
   holds Intersect b3 = Intersect union b2;

:: CANTOR_1:funcnot 3 => CANTOR_1:func 3
definition
  let a1, a2 be set;
  let a3 be Element of bool bool a1;
  let a4 be Function-like quasi_total Relation of a2,bool a3;
  let a5 be set;
  redefine func a4 . a5 -> Element of bool bool a1;
end;

:: CANTOR_1:th 13
theorem
for b1 being set
for b2 being Element of bool bool b1 holds
   FinMeetCl b2 = FinMeetCl FinMeetCl b2;

:: CANTOR_1:th 14
theorem
for b1 being set
for b2 being Element of bool bool b1
for b3, b4 being set
      st b3 in FinMeetCl b2 & b4 in FinMeetCl b2
   holds b3 /\ b4 in FinMeetCl b2;

:: CANTOR_1:th 15
theorem
for b1 being set
for b2 being Element of bool bool b1
for b3, b4 being set
      st b3 c= FinMeetCl b2 & b4 c= FinMeetCl b2
   holds INTERSECTION(b3,b4) c= FinMeetCl b2;

:: CANTOR_1:th 16
theorem
for b1 being set
for b2, b3 being Element of bool bool b1
      st b2 c= b3
   holds FinMeetCl b2 c= FinMeetCl b3;

:: CANTOR_1:funcreg 3
registration
  let a1 be set;
  let a2 be Element of bool bool a1;
  cluster FinMeetCl a2 -> non empty;
end;

:: CANTOR_1:th 17
theorem
for b1 being non empty set
for b2 being Element of bool bool b1 holds
   TopStruct(#b1,UniCl FinMeetCl b2#) is TopSpace-like;

:: CANTOR_1:modenot 2 => CANTOR_1:mode 2
definition
  let a1 be TopStruct;
  mode prebasis of A1 -> Element of bool bool the carrier of a1 means
    it c= the topology of a1 &
     (ex b1 being Basis of a1 st
        b1 c= FinMeetCl it);
end;

:: CANTOR_1:dfs 4
definiens
  let a1 be TopStruct;
  let a2 be Element of bool bool the carrier of a1;
To prove
     a2 is prebasis of a1
it is sufficient to prove
  thus a2 c= the topology of a1 &
     (ex b1 being Basis of a1 st
        b1 c= FinMeetCl a2);

:: CANTOR_1:def 5
theorem
for b1 being TopStruct
for b2 being Element of bool bool the carrier of b1 holds
      b2 is prebasis of b1
   iff
      b2 c= the topology of b1 &
       (ex b3 being Basis of b1 st
          b3 c= FinMeetCl b2);

:: CANTOR_1:th 18
theorem
for b1 being non empty set
for b2 being Element of bool bool b1 holds
   b2 is Basis of TopStruct(#b1,UniCl b2#);

:: CANTOR_1:th 19
theorem
for b1, b2 being non empty strict TopSpace-like TopStruct
for b3 being prebasis of b1
      st the carrier of b1 = the carrier of b2 & b3 is prebasis of b2
   holds b1 = b2;

:: CANTOR_1:th 20
theorem
for b1 being non empty set
for b2 being Element of bool bool b1 holds
   b2 is prebasis of TopStruct(#b1,UniCl FinMeetCl b2#);

:: CANTOR_1:funcnot 4 => CANTOR_1:func 4
definition
  func the_Cantor_set -> non empty strict TopSpace-like TopStruct means
    the carrier of it = product (omega --> {{},1}) &
     (ex b1 being prebasis of it st
        for b2 being Element of bool product (omega --> {{},1}) holds
              b2 in b1
           iff
              ex b3, b4 being natural set st
                 for b5 being Element of product (omega --> {{},1}) holds
                       b5 in b2
                    iff
                       b5 . b3 = b4);
end;

:: CANTOR_1:def 6
theorem
for b1 being non empty strict TopSpace-like TopStruct holds
      b1 = the_Cantor_set
   iff
      the carrier of b1 = product (omega --> {{},1}) &
       (ex b2 being prebasis of b1 st
          for b3 being Element of bool product (omega --> {{},1}) holds
                b3 in b2
             iff
                ex b4, b5 being natural set st
                   for b6 being Element of product (omega --> {{},1}) holds
                         b6 in b3
                      iff
                         b6 . b4 = b5);