:: Some Properties of Dyadic Numbers and Intervals
:: by J\'ozef Bia{\l}as and Yatsuka Nakamura
::
:: Copyright (c) 2001-2019 Association of Mizar Users

theorem Th1: :: URYSOHN2:1
for A being Subset of REAL
for x being Real st x <> 0 holds
(x ") ** (x ** A) = A
proof end;

theorem Th2: :: URYSOHN2:2
for x being Real st x <> 0 holds
for A being Subset of REAL st A = REAL holds
x ** A = A
proof end;

theorem Th3: :: URYSOHN2:3
for A being Subset of REAL st A <> {} holds
0 ** A =
proof end;

theorem :: URYSOHN2:4
for x being Real holds x ** {} = {} ;

theorem Th5: :: URYSOHN2:5
for a, b being R_eal holds
( not a <= b or ( a = -infty & b = -infty ) or ( a = -infty & b in REAL ) or ( a = -infty & b = +infty ) or ( a in REAL & b in REAL ) or ( a in REAL & b = +infty ) or ( a = +infty & b = +infty ) )
proof end;

theorem Th6: :: URYSOHN2:6
for A being Interval holds 0 ** A is interval
proof end;

theorem Th7: :: URYSOHN2:7
for A being non empty Interval
for x being Real st x <> 0 & A is open_interval holds
x ** A is open_interval
proof end;

theorem Th8: :: URYSOHN2:8
for A being non empty Interval
for x being Real st x <> 0 & A is closed_interval holds
x ** A is closed_interval
proof end;

theorem Th9: :: URYSOHN2:9
for A being non empty Interval
for x being Real st 0 < x & A is right_open_interval holds
x ** A is right_open_interval
proof end;

theorem Th10: :: URYSOHN2:10
for A being non empty Interval
for x being Real st x < 0 & A is right_open_interval holds
x ** A is left_open_interval
proof end;

theorem Th11: :: URYSOHN2:11
for A being non empty Interval
for x being Real st 0 < x & A is left_open_interval holds
x ** A is left_open_interval
proof end;

theorem Th12: :: URYSOHN2:12
for A being non empty Interval
for x being Real st x < 0 & A is left_open_interval holds
x ** A is right_open_interval
proof end;

theorem :: URYSOHN2:13
for A being non empty Interval
for x being Real st 0 < x holds
for B being non empty Interval st B = x ** A & A = [.(inf A),(sup A).] holds
( B = [.(inf B),(sup B).] & ( for s, t being Real st s = inf A & t = sup A holds
( inf B = x * s & sup B = x * t ) ) )
proof end;

theorem :: URYSOHN2:14
for A being non empty Interval
for x being Real st 0 < x holds
for B being non empty Interval st B = x ** A & A = ].(inf A),(sup A).] holds
( B = ].(inf B),(sup B).] & ( for s, t being Real st s = inf A & t = sup A holds
( inf B = x * s & sup B = x * t ) ) )
proof end;

theorem :: URYSOHN2:15
for A being non empty Interval
for x being Real st 0 < x holds
for B being non empty Interval st B = x ** A & A = ].(inf A),(sup A).[ holds
( B = ].(inf B),(sup B).[ & ( for s, t being Real st s = inf A & t = sup A holds
( inf B = x * s & sup B = x * t ) ) )
proof end;

theorem :: URYSOHN2:16
for A being non empty Interval
for x being Real st 0 < x holds
for B being non empty Interval st B = x ** A & A = [.(inf A),(sup A).[ holds
( B = [.(inf B),(sup B).[ & ( for s, t being Real st s = inf A & t = sup A holds
( inf B = x * s & sup B = x * t ) ) )
proof end;

theorem Th17: :: URYSOHN2:17
for A being non empty Interval
for x being Real holds x ** A is Interval
proof end;

registration
let A be interval Subset of REAL;
let x be Real;
cluster x ** A -> interval ;
correctness
coherence
x ** A is interval
;
proof end;
end;

Lm1: for A being non empty Subset of REAL
for x being Real st x > 0 & x ** A is bounded_above holds
A is bounded_above

proof end;

theorem Th18: :: URYSOHN2:18
for A being non empty Subset of REAL
for x being Real
for y being R_eal st x = y & 0 <= y holds
sup (x ** A) = y * (sup A)
proof end;

Lm2: for A being non empty Subset of REAL
for x being Real st x > 0 & x ** A is bounded_below holds
A is bounded_below

proof end;

theorem Th19: :: URYSOHN2:19
for A being non empty Subset of REAL
for x being Real
for y being R_eal st x = y & 0 <= y holds
inf (x ** A) = y * (inf A)
proof end;

theorem :: URYSOHN2:20
for A being Interval
for x, y being Real st 0 <= x & y = diameter A holds
x * y = diameter (x ** A)
proof end;

theorem Th21: :: URYSOHN2:21
for eps being Real st 0 < eps holds
ex n being Nat st 1 < (2 |^ n) * eps
proof end;

theorem Th22: :: URYSOHN2:22
for a, b being Real st 0 <= a & 1 < b - a holds
ex n being Nat st
( a < n & n < b )
proof end;

theorem :: URYSOHN2:23
for n being Nat holds dyadic n c= DYADIC by URYSOHN1:def 2;

theorem Th24: :: URYSOHN2:24
for a, b being Real st a < b & 0 <= a & b <= 1 holds
ex c being Real st
( c in DYADIC & a < c & c < b )
proof end;

theorem Th25: :: URYSOHN2:25
for a, b being Real st a < b holds
ex c being Real st
( c in DOM & a < c & c < b )
proof end;

theorem :: URYSOHN2:26
for A being non empty Subset of ExtREAL
for a, b being R_eal st A c= [.a,b.] holds
( a <= inf A & sup A <= b )
proof end;

theorem :: URYSOHN2:27
proof end;

theorem :: URYSOHN2:28
proof end;

theorem :: URYSOHN2:29
for n, k being Nat st n <= k holds
proof end;

theorem Th30: :: URYSOHN2:30
for a, b, c, d being Real st a < c & c < b & a < d & d < b holds
|.(d - c).| < b - a
proof end;

theorem :: URYSOHN2:31
for eps being Real st 0 < eps holds
for d being Real st 0 < d holds
ex r1, r2 being Real st
( r1 in DYADIC \/ & r2 in DYADIC \/ & 0 < r1 & r1 < d & d < r2 & r2 - r1 < eps )
proof end;

:: missing, 2008.06.10, A.T.
theorem :: URYSOHN2:32
for A being non empty Subset of REAL
for x being Real st x > 0 & x ** A is bounded_above holds
A is bounded_above by Lm1;

theorem :: URYSOHN2:33
for A being non empty Subset of REAL
for x being Real st x > 0 & x ** A is bounded_below holds
A is bounded_below by Lm2;