Article URYSOHN1, MML version 4.99.1005

:: URYSOHN1:th 1
theorem
for b1 being Element of REAL holds
      b1 in halfline 0
   iff
      b1 < 0;

:: URYSOHN1:th 2
theorem
for b1 being Element of REAL holds
      b1 in right_open_halfline 1
   iff
      1 < b1;

:: URYSOHN1:funcnot 1 => URYSOHN1:func 1
definition
  let a1 be natural set;
  func dyadic A1 -> Element of bool REAL means
    for b1 being Element of REAL holds
          b1 in it
       iff
          ex b2 being Element of NAT st
             0 <= b2 & b2 <= 2 |^ a1 & b1 = b2 / (2 |^ a1);
end;

:: URYSOHN1:def 3
theorem
for b1 being natural set
for b2 being Element of bool REAL holds
      b2 = dyadic b1
   iff
      for b3 being Element of REAL holds
            b3 in b2
         iff
            ex b4 being Element of NAT st
               0 <= b4 & b4 <= 2 |^ b1 & b3 = b4 / (2 |^ b1);

:: URYSOHN1:funcnot 2 => URYSOHN1:func 2
definition
  func DYADIC -> Element of bool REAL means
    for b1 being Element of REAL holds
          b1 in it
       iff
          ex b2 being Element of NAT st
             b1 in dyadic b2;
end;

:: URYSOHN1:def 4
theorem
for b1 being Element of bool REAL holds
      b1 = DYADIC
   iff
      for b2 being Element of REAL holds
            b2 in b1
         iff
            ex b3 being Element of NAT st
               b2 in dyadic b3;

:: URYSOHN1:funcnot 3 => URYSOHN1:func 3
definition
  func DOM -> Element of bool REAL equals
    ((halfline 0) \/ DYADIC) \/ right_open_halfline 1;
end;

:: URYSOHN1:def 5
theorem
DOM = ((halfline 0) \/ DYADIC) \/ right_open_halfline 1;

:: URYSOHN1:funcnot 4 => URYSOHN1:func 4
definition
  let a1 be TopSpace-like TopStruct;
  let a2 be non empty Element of bool REAL;
  let a3 be Function-like quasi_total Relation of a2,bool the carrier of a1;
  let a4 be Element of a2;
  redefine func a3 . a4 -> Element of bool the carrier of a1;
end;

:: URYSOHN1:th 5
theorem
for b1 being Element of NAT
for b2 being Element of REAL
      st b2 in dyadic b1
   holds 0 <= b2 & b2 <= 1;

:: URYSOHN1:th 6
theorem
dyadic 0 = {0,1};

:: URYSOHN1:th 7
theorem
dyadic 1 = {0,1 / 2,1};

:: URYSOHN1:funcreg 1
registration
  let a1 be Element of NAT;
  cluster dyadic a1 -> non empty;
end;

:: URYSOHN1:th 9
theorem
for b1 being Element of NAT holds
   ex b2 being Relation-like Function-like FinSequence-like set st
      dom b2 = Seg ((2 |^ b1) + 1) &
       (for b3 being Element of NAT
             st b3 in dom b2
          holds b2 . b3 = (b3 - 1) / (2 |^ b1));

:: URYSOHN1:funcnot 5 => URYSOHN1:func 5
definition
  let a1 be Element of NAT;
  func dyad A1 -> Relation-like Function-like FinSequence-like set means
    dom it = Seg ((2 |^ a1) + 1) &
     (for b1 being Element of NAT
           st b1 in dom it
        holds it . b1 = (b1 - 1) / (2 |^ a1));
end;

:: URYSOHN1:def 6
theorem
for b1 being Element of NAT
for b2 being Relation-like Function-like FinSequence-like set holds
      b2 = dyad b1
   iff
      dom b2 = Seg ((2 |^ b1) + 1) &
       (for b3 being Element of NAT
             st b3 in dom b2
          holds b2 . b3 = (b3 - 1) / (2 |^ b1));

:: URYSOHN1:th 10
theorem
for b1 being Element of NAT holds
   dom dyad b1 = Seg ((2 |^ b1) + 1) &
    proj2 dyad b1 = dyadic b1;

:: URYSOHN1:funcreg 2
registration
  cluster DYADIC -> non empty;
end;

:: URYSOHN1:funcreg 3
registration
  cluster DOM -> non empty;
end;

:: URYSOHN1:th 11
theorem
for b1 being Element of NAT holds
   dyadic b1 c= dyadic (b1 + 1);

:: URYSOHN1:th 12
theorem
for b1 being Element of NAT holds
   0 in dyadic b1 & 1 in dyadic b1;

:: URYSOHN1:th 13
theorem
for b1, b2 being Element of NAT
      st 0 < b2 & b2 <= 2 |^ b1
   holds ((b2 * 2) - 1) / (2 |^ (b1 + 1)) in (dyadic (b1 + 1)) \ dyadic b1;

:: URYSOHN1:th 14
theorem
for b1, b2 being Element of NAT
      st 0 <= b2 & b2 < 2 |^ b1
   holds ((b2 * 2) + 1) / (2 |^ (b1 + 1)) in (dyadic (b1 + 1)) \ dyadic b1;

:: URYSOHN1:th 15
theorem
for b1 being Element of NAT holds
   1 / (2 |^ (b1 + 1)) in (dyadic (b1 + 1)) \ dyadic b1;

:: URYSOHN1:funcnot 6 => URYSOHN1:func 6
definition
  let a1 be Element of NAT;
  let a2 be Element of dyadic a1;
  func axis(A2,A1) -> Element of NAT means
    a2 = it / (2 |^ a1);
end;

:: URYSOHN1:def 7
theorem
for b1 being Element of NAT
for b2 being Element of dyadic b1
for b3 being Element of NAT holds
      b3 = axis(b2,b1)
   iff
      b2 = b3 / (2 |^ b1);

:: URYSOHN1:th 16
theorem
for b1 being Element of NAT
for b2 being Element of dyadic b1 holds
   b2 = (axis(b2,b1)) / (2 |^ b1) & axis(b2,b1) <= 2 |^ b1;

:: URYSOHN1:th 17
theorem
for b1 being Element of NAT
for b2 being Element of dyadic b1 holds
   ((axis(b2,b1)) - 1) / (2 |^ b1) < b2 &
    b2 < ((axis(b2,b1)) + 1) / (2 |^ b1);

:: URYSOHN1:th 18
theorem
for b1 being Element of NAT
for b2 being Element of dyadic b1 holds
   ((axis(b2,b1)) - 1) / (2 |^ b1) < ((axis(b2,b1)) + 1) / (2 |^ b1);

:: URYSOHN1:th 20
theorem
for b1 being Element of NAT
for b2 being Element of dyadic (b1 + 1)
      st not b2 in dyadic b1
   holds ((axis(b2,b1 + 1)) - 1) / (2 |^ (b1 + 1)) in dyadic b1 &
    ((axis(b2,b1 + 1)) + 1) / (2 |^ (b1 + 1)) in dyadic b1;

:: URYSOHN1:th 21
theorem
for b1 being Element of NAT
for b2, b3 being Element of dyadic b1
      st b2 < b3
   holds axis(b2,b1) < axis(b3,b1);

:: URYSOHN1:th 22
theorem
for b1 being Element of NAT
for b2, b3 being Element of dyadic b1
      st b2 < b3
   holds b2 <= ((axis(b3,b1)) - 1) / (2 |^ b1) &
    ((axis(b2,b1)) + 1) / (2 |^ b1) <= b3;

:: URYSOHN1:th 23
theorem
for b1 being Element of NAT
for b2, b3 being Element of dyadic (b1 + 1)
      st b2 < b3 & not b2 in dyadic b1 & not b3 in dyadic b1
   holds ((axis(b2,b1 + 1)) + 1) / (2 |^ (b1 + 1)) <= ((axis(b3,b1 + 1)) - 1) / (2 |^ (b1 + 1));

:: URYSOHN1:modenot 1 => CONNSP_2:mode 1
notation
  let a1 be non empty TopSpace-like TopStruct;
  let a2 be Element of the carrier of a1;
  synonym Nbhd of a2,a1 for a_neighborhood of a2;
end;

:: URYSOHN1:modenot 2 => CONNSP_2:mode 1
definition
  let a1 be non empty TopSpace-like TopStruct;
  let a2 be Element of the carrier of a1;
  mode Nbhd of A2,A1 -> Element of bool the carrier of a1 means
    ex b1 being Element of bool the carrier of a1 st
       b1 is open(a1) & a2 in b1 & b1 c= it;
end;

:: URYSOHN1:dfs 6
definiens
  let a1 be non empty TopSpace-like TopStruct;
  let a2 be Element of the carrier of a1;
  let a3 be Element of bool the carrier of a1;
To prove
     a3 is a_neighborhood of a2
it is sufficient to prove
  thus ex b1 being Element of bool the carrier of a1 st
       b1 is open(a1) & a2 in b1 & b1 c= a3;

:: URYSOHN1:def 8
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of the carrier of b1
for b3 being Element of bool the carrier of b1 holds
      b3 is a_neighborhood of b2
   iff
      ex b4 being Element of bool the carrier of b1 st
         b4 is open(b1) & b2 in b4 & b4 c= b3;

:: URYSOHN1:th 24
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of bool the carrier of b1 holds
      b2 is open(b1)
   iff
      for b3 being Element of the carrier of b1
            st b3 in b2
         holds ex b4 being a_neighborhood of b3 st
            b4 c= b2;

:: URYSOHN1:th 26
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of bool the carrier of b1
      st for b3 being Element of the carrier of b1
              st b3 in b2
           holds b2 is a_neighborhood of b3
   holds b2 is open(b1);

:: URYSOHN1:attrnot 1 => URYSOHN1:attr 1
definition
  let a1 be TopStruct;
  attr a1 is being_T1 means
    for b1, b2 being Element of the carrier of a1
          st b1 <> b2
       holds ex b3, b4 being Element of bool the carrier of a1 st
          b3 is open(a1) & b4 is open(a1) & b1 in b3 & not b2 in b3 & b2 in b4 & not b1 in b4;
end;

:: URYSOHN1:dfs 7
definiens
  let a1 be TopStruct;
To prove
     a1 is being_T1
it is sufficient to prove
  thus for b1, b2 being Element of the carrier of a1
          st b1 <> b2
       holds ex b3, b4 being Element of bool the carrier of a1 st
          b3 is open(a1) & b4 is open(a1) & b1 in b3 & not b2 in b3 & b2 in b4 & not b1 in b4;

:: URYSOHN1:def 9
theorem
for b1 being TopStruct holds
      b1 is being_T1
   iff
      for b2, b3 being Element of the carrier of b1
            st b2 <> b3
         holds ex b4, b5 being Element of bool the carrier of b1 st
            b4 is open(b1) & b5 is open(b1) & b2 in b4 & not b3 in b4 & b3 in b5 & not b2 in b5;

:: URYSOHN1:prednot 1 => URYSOHN1:attr 1
notation
  let a1 be TopStruct;
  synonym a1 is_T1 for being_T1;
end;

:: URYSOHN1:th 27
theorem
for b1 being non empty TopSpace-like TopStruct holds
      b1 is being_T1
   iff
      for b2 being Element of the carrier of b1 holds
         {b2} is closed(b1);

:: URYSOHN1:th 28
theorem
for b1 being non empty TopSpace-like TopStruct
   st b1 is being_T4
for b2, b3 being open Element of bool the carrier of b1
      st b2 <> {} & Cl b2 c= b3
   holds ex b4 being Element of bool the carrier of b1 st
      b4 <> {} & b4 is open(b1) & Cl b2 c= b4 & Cl b4 c= b3;

:: URYSOHN1:th 29
theorem
for b1 being TopSpace-like TopStruct holds
      b1 is being_T3
   iff
      for b2 being open Element of bool the carrier of b1
      for b3 being Element of the carrier of b1
            st b3 in b2
         holds ex b4 being open Element of bool the carrier of b1 st
            b3 in b4 & Cl b4 c= b2;

:: URYSOHN1:th 30
theorem
for b1 being non empty TopSpace-like TopStruct
   st b1 is being_T4 & b1 is being_T1
for b2 being open Element of bool the carrier of b1
      st b2 <> {}
   holds ex b3 being Element of bool the carrier of b1 st
      b3 <> {} & Cl b3 c= b2;

:: URYSOHN1:th 31
theorem
for b1 being non empty TopSpace-like TopStruct
   st b1 is being_T4
for b2, b3 being Element of bool the carrier of b1
      st b2 is open(b1) & b3 is closed(b1) & b3 <> {} & b3 c= b2
   holds ex b4 being Element of bool the carrier of b1 st
      b4 is open(b1) & b3 c= b4 & Cl b4 c= b2;

:: URYSOHN1:modenot 3 => URYSOHN1:mode 1
definition
  let a1 be non empty TopSpace-like TopStruct;
  let a2, a3 be Element of bool the carrier of a1;
  assume a1 is being_T4 & a2 <> {} & a2 is open(a1) & a3 is open(a1) & Cl a2 c= a3;
  mode Between of A2,A3 -> Element of bool the carrier of a1 means
    it <> {} & it is open(a1) & Cl a2 c= it & Cl it c= a3;
end;

:: URYSOHN1:dfs 8
definiens
  let a1 be non empty TopSpace-like TopStruct;
  let a2, a3, a4 be Element of bool the carrier of a1;
To prove
     a4 is Between of a2,a3
it is sufficient to prove
thus a1 is being_T4 & a2 <> {} & a2 is open(a1) & a3 is open(a1) & Cl a2 c= a3;
  thus a4 <> {} & a4 is open(a1) & Cl a2 c= a4 & Cl a4 c= a3;

:: URYSOHN1:def 10
theorem
for b1 being non empty TopSpace-like TopStruct
for b2, b3 being Element of bool the carrier of b1
   st b1 is being_T4 & b2 <> {} & b2 is open(b1) & b3 is open(b1) & Cl b2 c= b3
for b4 being Element of bool the carrier of b1 holds
      b4 is Between of b2,b3
   iff
      b4 <> {} & b4 is open(b1) & Cl b2 c= b4 & Cl b4 c= b3;

:: URYSOHN1:th 32
theorem
for b1 being non empty TopSpace-like TopStruct
   st b1 is being_T4
for b2, b3 being closed Element of bool the carrier of b1
   st b2 <> {} & b2 misses b3
for b4 being Element of NAT
for b5 being Function-like quasi_total Relation of dyadic b4,bool the carrier of b1
      st b2 c= b5 . 0 &
         b3 = ([#] b1) \ (b5 . 1) &
         (for b6, b7 being Element of dyadic b4
               st b6 < b7
            holds b5 . b6 is open(b1) & b5 . b7 is open(b1) & Cl (b5 . b6) c= b5 . b7)
   holds ex b6 being Function-like quasi_total Relation of dyadic (b4 + 1),bool the carrier of b1 st
      b2 c= b6 . 0 &
       b3 = ([#] b1) \ (b6 . 1) &
       (for b7, b8, b9 being Element of dyadic (b4 + 1)
             st b7 < b8
          holds b6 . b7 is open(b1) &
           b6 . b8 is open(b1) &
           Cl (b6 . b7) c= b6 . b8 &
           (b9 in dyadic b4 implies b6 . b9 = b5 . b9));