Article HAUSDORF, MML version 4.99.1005

:: HAUSDORF:funcreg 1
registration
  let a1 be non empty Reflexive discerning symmetric triangle MetrStruct;
  cluster TopSpaceMetr a1 -> being_T2;
end;

:: HAUSDORF:th 1
theorem
for b1, b2 being real set
      st 0 <= b1 & 0 <= b2 & max(b1,b2) = 0
   holds b1 = 0;

:: HAUSDORF:th 2
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2 being Element of the carrier of b1 holds
   (dist b2) . b2 = 0;

:: HAUSDORF:th 3
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2 being Element of bool the carrier of TopSpaceMetr b1
for b3 being Element of the carrier of b1
      st b3 in b2
   holds 0 in (dist b3) .: b2;

:: HAUSDORF:th 4
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2 being Element of bool the carrier of TopSpaceMetr b1
for b3 being Element of the carrier of b1
for b4 being real set
      st b4 in (dist b3) .: b2
   holds 0 <= b4;

:: HAUSDORF:th 5
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2 being Element of bool the carrier of TopSpaceMetr b1
for b3 being set
      st b3 in b2
   holds (dist_min b2) . b3 = 0;

:: HAUSDORF:th 8
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2 being Element of the carrier of b1
for b3 being Element of bool the carrier of TopSpaceMetr b1 holds
      b2 in Cl b3
   iff
      for b4 being real set
            st 0 < b4
         holds ex b5 being Element of the carrier of b1 st
            b5 in b3 & dist(b2,b5) < b4;

:: HAUSDORF:th 9
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2 being non empty Element of bool the carrier of TopSpaceMetr b1
for b3 being Element of the carrier of b1 holds
      (dist_min b2) . b3 = 0
   iff
      for b4 being real set
            st 0 < b4
         holds ex b5 being Element of the carrier of b1 st
            b5 in b2 & dist(b3,b5) < b4;

:: HAUSDORF:th 10
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2 being non empty Element of bool the carrier of TopSpaceMetr b1
for b3 being Element of the carrier of b1 holds
      b3 in Cl b2
   iff
      (dist_min b2) . b3 = 0;

:: HAUSDORF:th 11
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2 being non empty closed Element of bool the carrier of TopSpaceMetr b1
for b3 being Element of the carrier of b1 holds
      b3 in b2
   iff
      (dist_min b2) . b3 = 0;

:: HAUSDORF:th 12
theorem
for b1 being non empty Element of bool the carrier of R^1 holds
   ex b2 being non empty Element of bool REAL st
      b1 = b2 & lower_bound b1 = lower_bound b2;

:: HAUSDORF:th 13
theorem
for b1 being non empty Element of bool the carrier of R^1 holds
   ex b2 being non empty Element of bool REAL st
      b1 = b2 & upper_bound b1 = upper_bound b2;

:: HAUSDORF:th 14
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2 being non empty Element of bool the carrier of TopSpaceMetr b1
for b3 being Element of the carrier of b1
for b4 being Element of bool REAL
      st b4 = (dist b3) .: b2
   holds b4 is bounded_below;

:: HAUSDORF:th 15
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2 being non empty Element of bool the carrier of TopSpaceMetr b1
for b3, b4 being Element of the carrier of b1
      st b4 in b2
   holds (dist_min b2) . b3 <= dist(b3,b4);

:: HAUSDORF:th 16
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2 being non empty Element of bool the carrier of TopSpaceMetr b1
for b3 being real set
for b4 being Element of the carrier of b1
      st for b5 being Element of the carrier of b1
              st b5 in b2
           holds b3 <= dist(b4,b5)
   holds b3 <= (dist_min b2) . b4;

:: HAUSDORF:th 17
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2 being non empty Element of bool the carrier of TopSpaceMetr b1
for b3, b4 being Element of the carrier of b1 holds
(dist_min b2) . b3 <= (dist(b3,b4)) + ((dist_min b2) . b4);

:: HAUSDORF:th 18
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2 being Element of bool the carrier of TopSpaceMetr b1
for b3 being non empty Element of bool the carrier of b1
      st b2 = b3
   holds (TopSpaceMetr b1) | b2 = TopSpaceMetr (b1 | b3);

:: HAUSDORF:th 19
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2 being Element of bool the carrier of b1
for b3 being non empty Element of bool the carrier of b1
for b4 being Element of bool the carrier of b1 | b3
      st b2 c= b3 & b2 = b4 & b4 is bounded(b1 | b3)
   holds b2 is bounded(b1);

:: HAUSDORF:th 20
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2 being Element of bool the carrier of b1
for b3 being Element of bool the carrier of TopSpaceMetr b1
      st b3 = b2 & b3 is compact(TopSpaceMetr b1)
   holds b2 is bounded(b1);

:: HAUSDORF:th 21
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2 being non empty Element of bool the carrier of TopSpaceMetr b1
for b3 being Element of the carrier of b1 holds
   ex b4 being Element of the carrier of b1 st
      b4 in b2 & (dist_min b2) . b3 <= dist(b4,b3);

:: HAUSDORF:funcreg 2
registration
  let a1 be non empty Reflexive discerning symmetric triangle MetrStruct;
  let a2 be Element of the carrier of a1;
  cluster dist a2 -> Function-like quasi_total continuous;
end;

:: HAUSDORF:funcreg 3
registration
  let a1 be non empty Reflexive discerning symmetric triangle MetrStruct;
  let a2 be non empty compact Element of bool the carrier of TopSpaceMetr a1;
  cluster dist_max a2 -> Function-like quasi_total continuous;
end;

:: HAUSDORF:funcreg 4
registration
  let a1 be non empty Reflexive discerning symmetric triangle MetrStruct;
  let a2 be non empty compact Element of bool the carrier of TopSpaceMetr a1;
  cluster dist_min a2 -> Function-like quasi_total continuous;
end;

:: HAUSDORF:th 22
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2 being non empty Element of bool the carrier of TopSpaceMetr b1
for b3, b4 being Element of the carrier of b1
      st b4 in b2 & b2 is compact(TopSpaceMetr b1)
   holds dist(b3,b4) <= (dist_max b2) . b3;

:: HAUSDORF:th 23
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2 being non empty Element of bool the carrier of TopSpaceMetr b1
for b3 being Element of the carrier of b1
      st b2 is compact(TopSpaceMetr b1)
   holds ex b4 being Element of the carrier of b1 st
      b4 in b2 & dist(b4,b3) <= (dist_max b2) . b3;

:: HAUSDORF:th 24
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2, b3 being non empty Element of bool the carrier of TopSpaceMetr b1
for b4 being Element of the carrier of b1
      st b2 is compact(TopSpaceMetr b1) & b3 is compact(TopSpaceMetr b1) & b4 in b3
   holds (dist_min b2) . b4 <= max_dist_max(b2,b3);

:: HAUSDORF:th 25
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2, b3 being non empty Element of bool the carrier of TopSpaceMetr b1
for b4 being Element of the carrier of b1
      st b2 is compact(TopSpaceMetr b1) & b3 is compact(TopSpaceMetr b1) & b4 in b3
   holds (dist_max b2) . b4 <= max_dist_max(b2,b3);

:: HAUSDORF:th 26
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2, b3 being non empty Element of bool the carrier of TopSpaceMetr b1
for b4 being Element of bool REAL
      st b4 = (dist_max b2) .: b3 & b2 is compact(TopSpaceMetr b1) & b3 is compact(TopSpaceMetr b1)
   holds b4 is bounded_above;

:: HAUSDORF:th 27
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2, b3 being non empty Element of bool the carrier of TopSpaceMetr b1
for b4 being Element of bool REAL
      st b4 = (dist_min b2) .: b3 & b2 is compact(TopSpaceMetr b1) & b3 is compact(TopSpaceMetr b1)
   holds b4 is bounded_above;

:: HAUSDORF:th 28
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2 being non empty Element of bool the carrier of TopSpaceMetr b1
for b3 being Element of the carrier of b1
      st b2 is compact(TopSpaceMetr b1)
   holds (dist_min b2) . b3 <= (dist_max b2) . b3;

:: HAUSDORF:th 29
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2 being non empty Element of bool the carrier of TopSpaceMetr b1 holds
   (dist_min b2) .: b2 = {0};

:: HAUSDORF:th 30
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2, b3 being non empty Element of bool the carrier of TopSpaceMetr b1
      st b2 is compact(TopSpaceMetr b1) & b3 is compact(TopSpaceMetr b1)
   holds 0 <= max_dist_min(b2,b3);

:: HAUSDORF:th 31
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2 being non empty Element of bool the carrier of TopSpaceMetr b1 holds
   max_dist_min(b2,b2) = 0;

:: HAUSDORF:th 32
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2, b3 being non empty Element of bool the carrier of TopSpaceMetr b1
      st b2 is compact(TopSpaceMetr b1) & b3 is compact(TopSpaceMetr b1)
   holds 0 <= min_dist_max(b2,b3);

:: HAUSDORF:th 33
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2, b3 being non empty Element of bool the carrier of TopSpaceMetr b1
for b4 being Element of the carrier of b1
      st b2 is compact(TopSpaceMetr b1) & b3 is compact(TopSpaceMetr b1) & b4 in b2
   holds (dist_min b3) . b4 <= max_dist_min(b3,b2);

:: HAUSDORF:funcnot 1 => HAUSDORF:func 1
definition
  let a1 be non empty Reflexive discerning symmetric triangle MetrStruct;
  let a2, a3 be Element of bool the carrier of TopSpaceMetr a1;
  func HausDist(A2,A3) -> Element of REAL equals
    max(max_dist_min(a2,a3),max_dist_min(a3,a2));
  commutativity;
::  for a1 being non empty Reflexive discerning symmetric triangle MetrStruct
::  for a2, a3 being Element of bool the carrier of TopSpaceMetr a1 holds
::  HausDist(a2,a3) = HausDist(a3,a2);
end;

:: HAUSDORF:def 1
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2, b3 being Element of bool the carrier of TopSpaceMetr b1 holds
HausDist(b2,b3) = max(max_dist_min(b2,b3),max_dist_min(b3,b2));

:: HAUSDORF:th 34
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2, b3 being non empty Element of bool the carrier of TopSpaceMetr b1
for b4 being Element of the carrier of b1
      st b2 is compact(TopSpaceMetr b1) & b3 is compact(TopSpaceMetr b1) & b4 in b2
   holds (dist_min b3) . b4 <= HausDist(b2,b3);

:: HAUSDORF:th 35
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2, b3, b4 being non empty Element of bool the carrier of TopSpaceMetr b1
      st b2 is compact(TopSpaceMetr b1) & b3 is compact(TopSpaceMetr b1) & b4 is compact(TopSpaceMetr b1)
   holds max_dist_min(b2,b4) <= (HausDist(b2,b3)) + HausDist(b3,b4);

:: HAUSDORF:th 36
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2, b3, b4 being non empty Element of bool the carrier of TopSpaceMetr b1
      st b2 is compact(TopSpaceMetr b1) & b3 is compact(TopSpaceMetr b1) & b4 is compact(TopSpaceMetr b1)
   holds max_dist_min(b4,b2) <= (HausDist(b2,b3)) + HausDist(b3,b4);

:: HAUSDORF:th 37
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2, b3 being non empty Element of bool the carrier of TopSpaceMetr b1
      st b2 is compact(TopSpaceMetr b1) & b3 is compact(TopSpaceMetr b1)
   holds 0 <= HausDist(b2,b3);

:: HAUSDORF:th 38
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2 being non empty Element of bool the carrier of TopSpaceMetr b1 holds
   HausDist(b2,b2) = 0;

:: HAUSDORF:th 39
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2, b3 being non empty Element of bool the carrier of TopSpaceMetr b1
      st b2 is compact(TopSpaceMetr b1) & b3 is compact(TopSpaceMetr b1) & HausDist(b2,b3) = 0
   holds b2 = b3;

:: HAUSDORF:th 40
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2, b3, b4 being non empty Element of bool the carrier of TopSpaceMetr b1
      st b2 is compact(TopSpaceMetr b1) & b3 is compact(TopSpaceMetr b1) & b4 is compact(TopSpaceMetr b1)
   holds HausDist(b2,b4) <= (HausDist(b2,b3)) + HausDist(b3,b4);

:: HAUSDORF:funcnot 2 => HAUSDORF:func 2
definition
  let a1 be Element of NAT;
  let a2, a3 be Element of bool the carrier of TOP-REAL a1;
  func max_dist_min(A2,A3) -> Element of REAL means
    ex b1, b2 being Element of bool the carrier of TopSpaceMetr Euclid a1 st
       a2 = b1 & a3 = b2 & it = max_dist_min(b1,b2);
end;

:: HAUSDORF:def 2
theorem
for b1 being Element of NAT
for b2, b3 being Element of bool the carrier of TOP-REAL b1
for b4 being Element of REAL holds
      b4 = max_dist_min(b2,b3)
   iff
      ex b5, b6 being Element of bool the carrier of TopSpaceMetr Euclid b1 st
         b2 = b5 & b3 = b6 & b4 = max_dist_min(b5,b6);

:: HAUSDORF:funcnot 3 => HAUSDORF:func 3
definition
  let a1 be Element of NAT;
  let a2, a3 be Element of bool the carrier of TOP-REAL a1;
  func HausDist(A2,A3) -> Element of REAL means
    ex b1, b2 being Element of bool the carrier of TopSpaceMetr Euclid a1 st
       a2 = b1 & a3 = b2 & it = HausDist(b1,b2);
  commutativity;
::  for a1 being Element of NAT
::  for a2, a3 being Element of bool the carrier of TOP-REAL a1 holds
::  HausDist(a2,a3) = HausDist(a3,a2);
end;

:: HAUSDORF:def 3
theorem
for b1 being Element of NAT
for b2, b3 being Element of bool the carrier of TOP-REAL b1
for b4 being Element of REAL holds
      b4 = HausDist(b2,b3)
   iff
      ex b5, b6 being Element of bool the carrier of TopSpaceMetr Euclid b1 st
         b2 = b5 & b3 = b6 & b4 = HausDist(b5,b6);

:: HAUSDORF:th 41
theorem
for b1 being Element of NAT
for b2, b3 being non empty Element of bool the carrier of TOP-REAL b1
      st b2 is compact(TOP-REAL b1) & b3 is compact(TOP-REAL b1)
   holds 0 <= HausDist(b2,b3);

:: HAUSDORF:th 42
theorem
for b1 being Element of NAT
for b2 being non empty Element of bool the carrier of TOP-REAL b1 holds
   HausDist(b2,b2) = 0;

:: HAUSDORF:th 43
theorem
for b1 being Element of NAT
for b2, b3 being non empty Element of bool the carrier of TOP-REAL b1
      st b2 is compact(TOP-REAL b1) & b3 is compact(TOP-REAL b1) & HausDist(b2,b3) = 0
   holds b2 = b3;

:: HAUSDORF:th 44
theorem
for b1 being Element of NAT
for b2, b3, b4 being non empty Element of bool the carrier of TOP-REAL b1
      st b2 is compact(TOP-REAL b1) & b3 is compact(TOP-REAL b1) & b4 is compact(TOP-REAL b1)
   holds HausDist(b2,b4) <= (HausDist(b2,b3)) + HausDist(b3,b4);