Article TOPGEN_2, MML version 4.99.1005

:: TOPGEN_2:th 1
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Basis of b1
for b3 being Element of the carrier of b1 holds
   {b4 where b4 is Element of bool the carrier of b1: b3 in b4 & b4 in b2} is Basis of b3;

:: TOPGEN_2:th 2
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being ManySortedSet of the carrier of b1
      st for b3 being Element of the carrier of b1 holds
           b2 . b3 is Basis of b3
   holds Union b2 is Basis of b1;

:: TOPGEN_2:funcnot 1 => TOPGEN_2:func 1
definition
  let a1 be non empty TopStruct;
  let a2 be Element of the carrier of a1;
  func Chi(A2,A1) -> cardinal set means
    (ex b1 being Basis of a2 st
        it = Card b1) &
     (for b1 being Basis of a2 holds
        it c= Card b1);
end;

:: TOPGEN_2:def 1
theorem
for b1 being non empty TopStruct
for b2 being Element of the carrier of b1
for b3 being cardinal set holds
      b3 = Chi(b2,b1)
   iff
      (ex b4 being Basis of b2 st
          b3 = Card b4) &
       (for b4 being Basis of b2 holds
          b3 c= Card b4);

:: TOPGEN_2:th 3
theorem
for b1 being set
      st for b2 being set
              st b2 in b1
           holds b2 is cardinal set
   holds union b1 is cardinal set;

:: TOPGEN_2:funcnot 2 => TOPGEN_2:func 2
definition
  let a1 be non empty TopStruct;
  func Chi A1 -> cardinal set means
    (for b1 being Element of the carrier of a1 holds
        Chi(b1,a1) c= it) &
     (for b1 being cardinal set
           st for b2 being Element of the carrier of a1 holds
                Chi(b2,a1) c= b1
        holds it c= b1);
end;

:: TOPGEN_2:def 2
theorem
for b1 being non empty TopStruct
for b2 being cardinal set holds
      b2 = Chi b1
   iff
      (for b3 being Element of the carrier of b1 holds
          Chi(b3,b1) c= b2) &
       (for b3 being cardinal set
             st for b4 being Element of the carrier of b1 holds
                  Chi(b4,b1) c= b3
          holds b2 c= b3);

:: TOPGEN_2:th 4
theorem
for b1 being non empty TopStruct holds
   Chi b1 = union {Chi(b2,b1) where b2 is Element of the carrier of b1: TRUE};

:: TOPGEN_2:th 5
theorem
for b1 being non empty TopStruct
for b2 being Element of the carrier of b1 holds
   Chi(b2,b1) c= Chi b1;

:: TOPGEN_2:th 6
theorem
for b1 being non empty TopSpace-like TopStruct holds
      b1 is first-countable
   iff
      Chi b1 c= alef {};

:: TOPGEN_2:modenot 1 => TOPGEN_2:mode 1
definition
  let a1 be non empty TopSpace-like TopStruct;
  mode Neighborhood_System of A1 -> ManySortedSet of the carrier of a1 means
    for b1 being Element of the carrier of a1 holds
       it . b1 is Basis of b1;
end;

:: TOPGEN_2:dfs 3
definiens
  let a1 be non empty TopSpace-like TopStruct;
  let a2 be ManySortedSet of the carrier of a1;
To prove
     a2 is Neighborhood_System of a1
it is sufficient to prove
  thus for b1 being Element of the carrier of a1 holds
       a2 . b1 is Basis of b1;

:: TOPGEN_2:def 3
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being ManySortedSet of the carrier of b1 holds
      b2 is Neighborhood_System of b1
   iff
      for b3 being Element of the carrier of b1 holds
         b2 . b3 is Basis of b3;

:: TOPGEN_2:funcnot 3 => TOPGEN_2:func 3
definition
  let a1 be non empty TopSpace-like TopStruct;
  let a2 be Neighborhood_System of a1;
  redefine func Union a2 -> Basis of a1;
end;

:: TOPGEN_2:funcnot 4 => TOPGEN_2:func 4
definition
  let a1 be non empty TopSpace-like TopStruct;
  let a2 be Neighborhood_System of a1;
  let a3 be Element of the carrier of a1;
  redefine func a2 . a3 -> Basis of a3;
end;

:: TOPGEN_2:th 8
theorem
for b1 being non empty TopSpace-like TopStruct
for b2, b3 being Element of the carrier of b1
for b4 being Basis of b2
for b5 being Basis of b3
for b6 being set
      st b2 in b6 & b6 in b5
   holds ex b7 being open Element of bool the carrier of b1 st
      b7 in b4 & b7 c= b6;

:: TOPGEN_2:th 9
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of the carrier of b1
for b3 being Basis of b2
for b4, b5 being set
      st b4 in b3 & b5 in b3
   holds ex b6 being open Element of bool the carrier of b1 st
      b6 in b3 & b6 c= b4 /\ b5;

:: TOPGEN_2:th 10
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of bool the carrier of b1
for b3 being Element of the carrier of b1 holds
      b3 in Cl b2
   iff
      for b4 being Basis of b3
      for b5 being set
            st b5 in b4
         holds b5 meets b2;

:: TOPGEN_2:th 11
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of bool the carrier of b1
for b3 being Element of the carrier of b1 holds
      b3 in Cl b2
   iff
      ex b4 being Basis of b3 st
         for b5 being set
               st b5 in b4
            holds b5 meets b2;

:: TOPGEN_2:exreg 1
registration
  let a1 be TopSpace-like TopStruct;
  cluster non empty open Element of bool bool the carrier of a1;
end;

:: TOPGEN_2:th 12
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being open Element of bool bool the carrier of b1 holds
   ex b3 being open Element of bool bool the carrier of b1 st
      b3 c= b2 & union b3 = union b2 & Card b3 c= weight b1;

:: TOPGEN_2:attrnot 1 => TOPGEN_2:attr 1
definition
  let a1 be TopStruct;
  attr a1 is finite-weight means
    weight a1 is finite;
end;

:: TOPGEN_2:dfs 4
definiens
  let a1 be TopStruct;
To prove
     a1 is finite-weight
it is sufficient to prove
  thus weight a1 is finite;

:: TOPGEN_2:def 4
theorem
for b1 being TopStruct holds
      b1 is finite-weight
   iff
      weight b1 is finite;

:: TOPGEN_2:attrnot 2 => TOPGEN_2:attr 1
notation
  let a1 be TopStruct;
  antonym infinite-weight for finite-weight;
end;

:: TOPGEN_2:condreg 1
registration
  cluster finite -> finite-weight (TopStruct);
end;

:: TOPGEN_2:condreg 2
registration
  cluster infinite-weight -> infinite (TopStruct);
end;

:: TOPGEN_2:exreg 2
registration
  cluster non empty finite TopSpace-like TopStruct;
end;

:: TOPGEN_2:th 13
theorem
for b1 being set holds
   Card SmallestPartition b1 = Card b1;

:: TOPGEN_2:th 14
theorem
for b1 being non empty discrete TopStruct holds
   SmallestPartition the carrier of b1 is Basis of b1 &
    (for b2 being Basis of b1 holds
       SmallestPartition the carrier of b1 c= b2);

:: TOPGEN_2:th 15
theorem
for b1 being non empty discrete TopStruct holds
   weight b1 = Card the carrier of b1;

:: TOPGEN_2:exreg 3
registration
  cluster TopSpace-like infinite-weight TopStruct;
end;

:: TOPGEN_2:th 17
theorem
for b1 being non empty TopSpace-like finite-weight TopStruct holds
   ex b2 being Basis of b1 st
      ex b3 being Function-like quasi_total Relation of the carrier of b1,the topology of b1 st
         b2 = rng b3 &
          (for b4 being Element of the carrier of b1 holds
             b4 in b3 . b4 &
              (for b5 being open Element of bool the carrier of b1
                    st b4 in b5
                 holds b3 . b4 c= b5));

:: TOPGEN_2:th 18
theorem
for b1 being TopSpace-like TopStruct
for b2, b3 being Basis of b1
for b4 being Function-like quasi_total Relation of the carrier of b1,the topology of b1
      st b2 = rng b4 &
         (for b5 being Element of the carrier of b1 holds
            b5 in b4 . b5 &
             (for b6 being open Element of bool the carrier of b1
                   st b5 in b6
                holds b4 . b5 c= b6))
   holds b2 c= b3;

:: TOPGEN_2:th 19
theorem
for b1 being TopSpace-like TopStruct
for b2 being Basis of b1
for b3 being Function-like quasi_total Relation of the carrier of b1,the topology of b1
      st b2 = rng b3 &
         (for b4 being Element of the carrier of b1 holds
            b4 in b3 . b4 &
             (for b5 being open Element of bool the carrier of b1
                   st b4 in b5
                holds b3 . b4 c= b5))
   holds weight b1 = Card b2;

:: TOPGEN_2:th 20
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Basis of b1 holds
   ex b3 being Basis of b1 st
      b3 c= b2 & Card b3 = weight b1;

:: TOPGEN_2:funcnot 5 => TOPGEN_2:func 5
definition
  let a1, a2 be set;
  func DiscrWithInfin(A1,A2) -> strict TopStruct means
    the carrier of it = a1 &
     the topology of it = {b1 where b1 is Element of bool a1: not a2 in b1} \/ {b1 ` where b1 is Element of bool a1: b1 is finite};
end;

:: TOPGEN_2:def 5
theorem
for b1, b2 being set
for b3 being strict TopStruct holds
      b3 = DiscrWithInfin(b1,b2)
   iff
      the carrier of b3 = b1 &
       the topology of b3 = {b4 where b4 is Element of bool b1: not b2 in b4} \/ {b4 ` where b4 is Element of bool b1: b4 is finite};

:: TOPGEN_2:funcreg 1
registration
  let a1, a2 be set;
  cluster DiscrWithInfin(a1,a2) -> strict TopSpace-like;
end;

:: TOPGEN_2:funcreg 2
registration
  let a1 be non empty set;
  let a2 be set;
  cluster DiscrWithInfin(a1,a2) -> non empty strict;
end;

:: TOPGEN_2:th 21
theorem
for b1, b2 being set
for b3 being Element of bool the carrier of DiscrWithInfin(b1,b2) holds
      b3 is open(DiscrWithInfin(b1,b2))
   iff
      (b2 in b3 implies b3 ` is finite);

:: TOPGEN_2:th 22
theorem
for b1, b2 being set
for b3 being Element of bool the carrier of DiscrWithInfin(b1,b2) holds
      b3 is closed(DiscrWithInfin(b1,b2))
   iff
      (b2 in b1 & not b2 in b3 implies b3 is finite);

:: TOPGEN_2:th 23
theorem
for b1, b2, b3 being set
      st b3 in b1
   holds {b3} is closed Element of bool the carrier of DiscrWithInfin(b1,b2);

:: TOPGEN_2:th 24
theorem
for b1, b2, b3 being set
      st b3 in b1 & b3 <> b2
   holds {b3} is open Element of bool the carrier of DiscrWithInfin(b1,b2);

:: TOPGEN_2:th 25
theorem
for b1, b2 being set
   st b1 is infinite
for b3 being Element of bool the carrier of DiscrWithInfin(b1,b2)
      st b3 = {b2}
   holds b3 is open(not DiscrWithInfin(b1,b2));

:: TOPGEN_2:th 26
theorem
for b1, b2 being set
for b3 being Element of bool the carrier of DiscrWithInfin(b1,b2)
      st b3 is finite
   holds Cl b3 = b3;

:: TOPGEN_2:th 27
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of bool the carrier of b1
   st b2 is not closed(b1)
for b3 being Element of the carrier of b1
      st b2 \/ {b3} is closed(b1)
   holds Cl b2 = b2 \/ {b3};

:: TOPGEN_2:th 28
theorem
for b1, b2 being set
   st b2 in b1
for b3 being Element of bool the carrier of DiscrWithInfin(b1,b2)
      st b3 is infinite
   holds Cl b3 = b3 \/ {b2};

:: TOPGEN_2:th 29
theorem
for b1, b2 being set
for b3 being Element of bool the carrier of DiscrWithInfin(b1,b2)
      st b3 ` is finite
   holds Int b3 = b3;

:: TOPGEN_2:th 30
theorem
for b1, b2 being set
   st b2 in b1
for b3 being Element of bool the carrier of DiscrWithInfin(b1,b2)
      st b3 ` is infinite
   holds Int b3 = b3 \ {b2};

:: TOPGEN_2:th 31
theorem
for b1, b2 being set holds
ex b3 being Basis of DiscrWithInfin(b1,b2) st
   b3 = ((SmallestPartition b1) \ {{b2}}) \/ {b4 ` where b4 is Element of bool b1: b4 is finite};

:: TOPGEN_2:th 32
theorem
for b1 being infinite set holds
   Card Fin b1 = Card b1;

:: TOPGEN_2:th 33
theorem
for b1 being infinite set holds
   Card {b2 ` where b2 is Element of bool b1: b2 is finite} = Card b1;

:: TOPGEN_2:th 34
theorem
for b1 being infinite set
for b2 being set
for b3 being Basis of DiscrWithInfin(b1,b2)
      st b3 = ((SmallestPartition b1) \ {{b2}}) \/ {b4 ` where b4 is Element of bool b1: b4 is finite}
   holds Card b3 = Card b1;

:: TOPGEN_2:th 35
theorem
for b1 being infinite set
for b2 being set
for b3 being Basis of DiscrWithInfin(b1,b2) holds
   Card b1 c= Card b3;

:: TOPGEN_2:th 36
theorem
for b1 being infinite set
for b2 being set holds
   weight DiscrWithInfin(b1,b2) = Card b1;

:: TOPGEN_2:th 37
theorem
for b1 being non empty set
for b2 being set holds
   ex b3 being prebasis of DiscrWithInfin(b1,b2) st
      b3 = ((SmallestPartition b1) \ {{b2}}) \/ {{b4} ` where b4 is Element of b1: TRUE};

:: TOPGEN_2:th 38
theorem
for b1 being TopSpace-like TopStruct
for b2 being Element of bool bool the carrier of b1
for b3 being non empty Element of bool bool b2
      st for b4 being set
              st b4 in b3
           holds b2 \ b4 is finite
   holds Cl union b2 = (union clf b2) \/ meet {Cl union b4 where b4 is Element of bool bool the carrier of b1: b4 in b3};

:: TOPGEN_2:th 39
theorem
for b1 being TopSpace-like TopStruct
for b2 being Element of bool bool the carrier of b1 holds
   Cl union b2 = (union clf b2) \/ meet {Cl union b3 where b3 is Element of bool bool the carrier of b1: b3 c= b2 & b2 \ b3 is finite};

:: TOPGEN_2:th 40
theorem
for b1 being set
for b2 being Element of bool bool bool b1
      st for b3 being Element of bool bool b1
              st b3 in b2
           holds TopStruct(#b1,b3#) is TopSpace-like TopStruct
   holds ex b3 being Element of bool bool b1 st
      b3 = Intersect b2 &
       TopStruct(#b1,b3#) is TopSpace-like TopStruct &
       (for b4 being Element of bool bool b1
             st b4 in b2
          holds TopStruct(#b1,b4#) is TopExtension of TopStruct(#b1,b3#)) &
       (for b4 being TopSpace-like TopStruct
             st the carrier of b4 = b1 &
                (for b5 being Element of bool bool b1
                      st b5 in b2
                   holds TopStruct(#b1,b5#) is TopExtension of b4)
          holds TopStruct(#b1,b3#) is TopExtension of b4);

:: TOPGEN_2:th 41
theorem
for b1 being set
for b2 being Element of bool bool bool b1 holds
   ex b3 being Element of bool bool b1 st
      b3 = UniCl FinMeetCl union b2 &
       TopStruct(#b1,b3#) is TopSpace-like TopStruct &
       (for b4 being Element of bool bool b1
             st b4 in b2
          holds TopStruct(#b1,b3#) is TopExtension of TopStruct(#b1,b4#)) &
       (for b4 being TopSpace-like TopStruct
             st the carrier of b4 = b1 &
                (for b5 being Element of bool bool b1
                      st b5 in b2
                   holds b4 is TopExtension of TopStruct(#b1,b5#))
          holds b4 is TopExtension of TopStruct(#b1,b3#));