Article PCOMPS_1, MML version 4.99.1005

:: PCOMPS_1:th 1
theorem
for b1 being MetrStruct
for b2 being Element of the carrier of b1
for b3, b4 being real set
      st b3 <= b4
   holds Ball(b2,b3) c= Ball(b2,b4);

:: PCOMPS_1:th 2
theorem
for b1 being TopSpace-like TopStruct
for b2 being Element of bool the carrier of b1 holds
      Cl b2 <> {}
   iff
      b2 <> {};

:: PCOMPS_1:th 5
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of bool bool the carrier of b1
   st b2 is_a_cover_of b1
for b3 being Element of the carrier of b1 holds
   ex b4 being Element of bool the carrier of b1 st
      b3 in b4 & b4 in b2;

:: PCOMPS_1:funcnot 1 => PCOMPS_1:func 1
definition
  let a1 be set;
  redefine func bool a1 -> Element of bool bool a1;
end;

:: PCOMPS_1:th 7
theorem
for b1 being set holds
   the topology of 1TopSp b1 = bool b1;

:: PCOMPS_1:th 8
theorem
for b1 being set holds
   the carrier of 1TopSp b1 = b1;

:: PCOMPS_1:th 9
theorem
for b1 being set holds
   1TopSp {b1} is compact;

:: PCOMPS_1:th 10
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of the carrier of b1
      st b1 is being_T2
   holds {b2} is closed(b1);

:: PCOMPS_1:attrnot 1 => PCOMPS_1:attr 1
definition
  let a1 be TopStruct;
  let a2 be Element of bool bool the carrier of a1;
  attr a2 is locally_finite means
    for b1 being Element of the carrier of a1 holds
       ex b2 being Element of bool the carrier of a1 st
          b1 in b2 &
           b2 is open(a1) &
           {b3 where b3 is Element of bool the carrier of a1: b3 in a2 & b3 meets b2} is finite;
end;

:: PCOMPS_1:dfs 1
definiens
  let a1 be TopStruct;
  let a2 be Element of bool bool the carrier of a1;
To prove
     a2 is locally_finite
it is sufficient to prove
  thus for b1 being Element of the carrier of a1 holds
       ex b2 being Element of bool the carrier of a1 st
          b1 in b2 &
           b2 is open(a1) &
           {b3 where b3 is Element of bool the carrier of a1: b3 in a2 & b3 meets b2} is finite;

:: PCOMPS_1:def 2
theorem
for b1 being TopStruct
for b2 being Element of bool bool the carrier of b1 holds
      b2 is locally_finite(b1)
   iff
      for b3 being Element of the carrier of b1 holds
         ex b4 being Element of bool the carrier of b1 st
            b3 in b4 &
             b4 is open(b1) &
             {b5 where b5 is Element of bool the carrier of b1: b5 in b2 & b5 meets b4} is finite;

:: PCOMPS_1:th 11
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of bool bool the carrier of b1
for b3 being Element of bool the carrier of b1 holds
   {b4 where b4 is Element of bool the carrier of b1: b4 in b2 & b4 meets b3} c= b2;

:: PCOMPS_1:th 12
theorem
for b1 being non empty TopSpace-like TopStruct
for b2, b3 being Element of bool bool the carrier of b1
      st b2 c= b3 & b3 is locally_finite(b1)
   holds b2 is locally_finite(b1);

:: PCOMPS_1:th 13
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of bool bool the carrier of b1
      st b2 is finite
   holds b2 is locally_finite(b1);

:: PCOMPS_1:funcnot 2 => PCOMPS_1:func 2
definition
  let a1 be TopStruct;
  let a2 be Element of bool bool the carrier of a1;
  func clf A2 -> Element of bool bool the carrier of a1 means
    for b1 being Element of bool the carrier of a1 holds
          b1 in it
       iff
          ex b2 being Element of bool the carrier of a1 st
             b1 = Cl b2 & b2 in a2;
end;

:: PCOMPS_1:def 3
theorem
for b1 being TopStruct
for b2, b3 being Element of bool bool the carrier of b1 holds
   b3 = clf b2
iff
   for b4 being Element of bool the carrier of b1 holds
         b4 in b3
      iff
         ex b5 being Element of bool the carrier of b1 st
            b4 = Cl b5 & b5 in b2;

:: PCOMPS_1:th 14
theorem
for b1 being TopSpace-like TopStruct
for b2 being Element of bool bool the carrier of b1 holds
   clf b2 is closed(b1);

:: PCOMPS_1:th 15
theorem
for b1 being TopSpace-like TopStruct
for b2 being Element of bool bool the carrier of b1
      st b2 = {}
   holds clf b2 = {};

:: PCOMPS_1:th 16
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of bool the carrier of b1
for b3 being Element of bool bool the carrier of b1
      st b3 = {b2}
   holds clf b3 = {Cl b2};

:: PCOMPS_1:th 17
theorem
for b1 being non empty TopSpace-like TopStruct
for b2, b3 being Element of bool bool the carrier of b1
      st b2 c= b3
   holds clf b2 c= clf b3;

:: PCOMPS_1:th 18
theorem
for b1 being non empty TopSpace-like TopStruct
for b2, b3 being Element of bool bool the carrier of b1 holds
clf (b2 \/ b3) = (clf b2) \/ clf b3;

:: PCOMPS_1:th 19
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of bool bool the carrier of b1
      st b2 is finite
   holds Cl union b2 = union clf b2;

:: PCOMPS_1:th 20
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of bool bool the carrier of b1 holds
   b2 is_finer_than clf b2;

:: PCOMPS_1:sch 1
scheme PCOMPS_1:sch 1
{F1 -> TopSpace-like TopStruct,
  F2 -> Element of bool bool the carrier of F1(),
  F3 -> Element of bool bool the carrier of F1(),
  F4 -> Element of bool the carrier of F1()}:
ex b1 being Function-like quasi_total Relation of F2(),F3() st
   for b2 being Element of bool the carrier of F1()
         st b2 in F2()
      holds b1 . b2 = F4(b2)
provided
   for b1 being Element of bool the carrier of F1()
         st b1 in F2()
      holds F4(b1) in F3();


:: PCOMPS_1:th 21
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of bool bool the carrier of b1
      st b2 is locally_finite(b1)
   holds clf b2 is locally_finite(b1);

:: PCOMPS_1:th 22
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of bool bool the carrier of b1 holds
   union b2 c= union clf b2;

:: PCOMPS_1:th 23
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of bool bool the carrier of b1
      st b2 is locally_finite(b1)
   holds Cl union b2 = union clf b2;

:: PCOMPS_1:th 24
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of bool bool the carrier of b1
      st b2 is locally_finite(b1) & b2 is closed(b1)
   holds union b2 is closed(b1);

:: PCOMPS_1:attrnot 2 => PCOMPS_1:attr 2
definition
  let a1 be TopStruct;
  attr a1 is paracompact means
    for b1 being Element of bool bool the carrier of a1
          st b1 is_a_cover_of a1 & b1 is open(a1)
       holds ex b2 being Element of bool bool the carrier of a1 st
          b2 is open(a1) & b2 is_a_cover_of a1 & b2 is_finer_than b1 & b2 is locally_finite(a1);
end;

:: PCOMPS_1:dfs 3
definiens
  let a1 be TopStruct;
To prove
     a1 is paracompact
it is sufficient to prove
  thus for b1 being Element of bool bool the carrier of a1
          st b1 is_a_cover_of a1 & b1 is open(a1)
       holds ex b2 being Element of bool bool the carrier of a1 st
          b2 is open(a1) & b2 is_a_cover_of a1 & b2 is_finer_than b1 & b2 is locally_finite(a1);

:: PCOMPS_1:def 4
theorem
for b1 being TopStruct holds
      b1 is paracompact
   iff
      for b2 being Element of bool bool the carrier of b1
            st b2 is_a_cover_of b1 & b2 is open(b1)
         holds ex b3 being Element of bool bool the carrier of b1 st
            b3 is open(b1) & b3 is_a_cover_of b1 & b3 is_finer_than b2 & b3 is locally_finite(b1);

:: PCOMPS_1:exreg 1
registration
  cluster non empty TopSpace-like paracompact TopStruct;
end;

:: PCOMPS_1:th 25
theorem
for b1 being non empty TopSpace-like TopStruct
      st b1 is compact
   holds b1 is paracompact;

:: PCOMPS_1:th 26
theorem
for b1 being non empty TopSpace-like TopStruct
for b2, b3 being Element of bool the carrier of b1
      st b1 is paracompact &
         b2 is closed(b1) &
         b3 is closed(b1) &
         b2 misses b3 &
         (for b4 being Element of the carrier of b1
               st b4 in b3
            holds ex b5, b6 being Element of bool the carrier of b1 st
               b5 is open(b1) & b6 is open(b1) & b2 c= b5 & b4 in b6 & b5 misses b6)
   holds ex b4, b5 being Element of bool the carrier of b1 st
      b4 is open(b1) & b5 is open(b1) & b2 c= b4 & b3 c= b5 & b4 misses b5;

:: PCOMPS_1:th 27
theorem
for b1 being non empty TopSpace-like TopStruct
      st b1 is being_T2 & b1 is paracompact
   holds b1 is being_T3;

:: PCOMPS_1:th 28
theorem
for b1 being non empty TopSpace-like TopStruct
      st b1 is being_T2 & b1 is paracompact
   holds b1 is being_T4;

:: PCOMPS_1:funcnot 3 => PCOMPS_1:func 3
definition
  let a1 be MetrStruct;
  func Family_open_set A1 -> Element of bool bool the carrier of a1 means
    for b1 being Element of bool the carrier of a1 holds
          b1 in it
       iff
          for b2 being Element of the carrier of a1
                st b2 in b1
             holds ex b3 being Element of REAL st
                0 < b3 & Ball(b2,b3) c= b1;
end;

:: PCOMPS_1:def 5
theorem
for b1 being MetrStruct
for b2 being Element of bool bool the carrier of b1 holds
      b2 = Family_open_set b1
   iff
      for b3 being Element of bool the carrier of b1 holds
            b3 in b2
         iff
            for b4 being Element of the carrier of b1
                  st b4 in b3
               holds ex b5 being Element of REAL st
                  0 < b5 & Ball(b4,b5) c= b3;

:: PCOMPS_1:th 29
theorem
for b1 being MetrStruct
for b2 being Element of the carrier of b1 holds
   ex b3 being Element of REAL st
      0 < b3 & Ball(b2,b3) c= the carrier of b1;

:: PCOMPS_1:th 30
theorem
for b1 being MetrStruct
for b2, b3 being Element of the carrier of b1
for b4 being real set
      st b1 is triangle & b2 in Ball(b3,b4)
   holds ex b5 being Element of REAL st
      0 < b5 & Ball(b2,b5) c= Ball(b3,b4);

:: PCOMPS_1:th 31
theorem
for b1 being MetrStruct
for b2, b3 being Element of REAL
for b4, b5, b6 being Element of the carrier of b1
      st b1 is triangle & b4 in (Ball(b5,b2)) /\ Ball(b6,b3)
   holds ex b7 being Element of REAL st
      Ball(b4,b7) c= Ball(b5,b2) & Ball(b4,b7) c= Ball(b6,b3);

:: PCOMPS_1:th 33
theorem
for b1 being MetrStruct
for b2 being Element of the carrier of b1
for b3 being real set
      st b1 is triangle
   holds Ball(b2,b3) in Family_open_set b1;

:: PCOMPS_1:th 34
theorem
for b1 being MetrStruct holds
   the carrier of b1 in Family_open_set b1;

:: PCOMPS_1:th 35
theorem
for b1 being MetrStruct
for b2, b3 being Element of bool the carrier of b1
      st b2 in Family_open_set b1 & b3 in Family_open_set b1
   holds b2 /\ b3 in Family_open_set b1;

:: PCOMPS_1:th 36
theorem
for b1 being MetrStruct
for b2 being Element of bool bool the carrier of b1
      st b2 c= Family_open_set b1
   holds union b2 in Family_open_set b1;

:: PCOMPS_1:th 37
theorem
for b1 being MetrStruct holds
   TopStruct(#the carrier of b1,Family_open_set b1#) is TopSpace-like TopStruct;

:: PCOMPS_1:funcnot 4 => PCOMPS_1:func 4
definition
  let a1 be MetrStruct;
  func TopSpaceMetr A1 -> TopStruct equals
    TopStruct(#the carrier of a1,Family_open_set a1#);
end;

:: PCOMPS_1:def 6
theorem
for b1 being MetrStruct holds
   TopSpaceMetr b1 = TopStruct(#the carrier of b1,Family_open_set b1#);

:: PCOMPS_1:funcreg 1
registration
  let a1 be MetrStruct;
  cluster TopSpaceMetr a1 -> strict TopSpace-like;
end;

:: PCOMPS_1:funcreg 2
registration
  let a1 be non empty MetrStruct;
  cluster TopSpaceMetr a1 -> non empty;
end;

:: PCOMPS_1:th 38
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct holds
   TopSpaceMetr b1 is being_T2;

:: PCOMPS_1:exreg 2
registration
  cluster non empty strict TopSpace-like being_T2 TopStruct;
end;

:: PCOMPS_1:prednot 1 => PCOMPS_1:pred 1
definition
  let a1 be set;
  let a2 be Function-like quasi_total Relation of [:a1,a1:],REAL;
  pred A2 is_metric_of A1 means
    for b1, b2, b3 being Element of a1 holds
    (a2 .(b1,b2) = 0 implies b1 = b2) &
     (b1 = b2 implies a2 .(b1,b2) = 0) &
     a2 .(b1,b2) = a2 .(b2,b1) &
     a2 .(b1,b3) <= (a2 .(b1,b2)) + (a2 .(b2,b3));
end;

:: PCOMPS_1:dfs 6
definiens
  let a1 be set;
  let a2 be Function-like quasi_total Relation of [:a1,a1:],REAL;
To prove
     a2 is_metric_of a1
it is sufficient to prove
  thus for b1, b2, b3 being Element of a1 holds
    (a2 .(b1,b2) = 0 implies b1 = b2) &
     (b1 = b2 implies a2 .(b1,b2) = 0) &
     a2 .(b1,b2) = a2 .(b2,b1) &
     a2 .(b1,b3) <= (a2 .(b1,b2)) + (a2 .(b2,b3));

:: PCOMPS_1:def 7
theorem
for b1 being set
for b2 being Function-like quasi_total Relation of [:b1,b1:],REAL holds
      b2 is_metric_of b1
   iff
      for b3, b4, b5 being Element of b1 holds
      (b2 .(b3,b4) = 0 implies b3 = b4) &
       (b3 = b4 implies b2 .(b3,b4) = 0) &
       b2 .(b3,b4) = b2 .(b4,b3) &
       b2 .(b3,b5) <= (b2 .(b3,b4)) + (b2 .(b4,b5));

:: PCOMPS_1:th 39
theorem
for b1 being set
for b2 being Function-like quasi_total Relation of [:b1,b1:],REAL holds
      b2 is_metric_of b1
   iff
      MetrStruct(#b1,b2#) is Reflexive discerning symmetric triangle MetrStruct;

:: PCOMPS_1:funcnot 5 => PCOMPS_1:func 5
definition
  let a1 be non empty set;
  let a2 be Function-like quasi_total Relation of [:a1,a1:],REAL;
  assume a2 is_metric_of a1;
  func SpaceMetr(A1,A2) -> non empty strict Reflexive discerning symmetric triangle MetrStruct equals
    MetrStruct(#a1,a2#);
end;

:: PCOMPS_1:def 8
theorem
for b1 being non empty set
for b2 being Function-like quasi_total Relation of [:b1,b1:],REAL
      st b2 is_metric_of b1
   holds SpaceMetr(b1,b2) = MetrStruct(#b1,b2#);

:: PCOMPS_1:attrnot 3 => PCOMPS_1:attr 3
definition
  let a1 be non empty TopStruct;
  attr a1 is metrizable means
    ex b1 being Function-like quasi_total Relation of [:the carrier of a1,the carrier of a1:],REAL st
       b1 is_metric_of the carrier of a1 &
        Family_open_set SpaceMetr(the carrier of a1,b1) = the topology of a1;
end;

:: PCOMPS_1:dfs 8
definiens
  let a1 be non empty TopStruct;
To prove
     a1 is metrizable
it is sufficient to prove
  thus ex b1 being Function-like quasi_total Relation of [:the carrier of a1,the carrier of a1:],REAL st
       b1 is_metric_of the carrier of a1 &
        Family_open_set SpaceMetr(the carrier of a1,b1) = the topology of a1;

:: PCOMPS_1:def 9
theorem
for b1 being non empty TopStruct holds
      b1 is metrizable
   iff
      ex b2 being Function-like quasi_total Relation of [:the carrier of b1,the carrier of b1:],REAL st
         b2 is_metric_of the carrier of b1 &
          Family_open_set SpaceMetr(the carrier of b1,b2) = the topology of b1;

:: PCOMPS_1:exreg 3
registration
  cluster non empty strict TopSpace-like metrizable TopStruct;
end;