let f be eventually-nonnegative Real_Sequence; Big_Theta f = { t where t is Element of Funcs (NAT,REAL) : ex c, d being Real ex N being Element of NAT st
( c > 0 & d > 0 & ( for n being Element of NAT st n >= N holds
( d * (f . n) <= t . n & t . n <= c * (f . n) ) ) ) }
set BT = { t where t is Element of Funcs (NAT,REAL) : ex c, d being Real ex N being Element of NAT st
( c > 0 & d > 0 & ( for n being Element of NAT st n >= N holds
( d * (f . n) <= t . n & t . n <= c * (f . n) ) ) ) } ;
now for x being object holds
( ( x in Big_Theta f implies x in { t where t is Element of Funcs (NAT,REAL) : ex c, d being Real ex N being Element of NAT st
( c > 0 & d > 0 & ( for n being Element of NAT st n >= N holds
( d * (f . n) <= t . n & t . n <= c * (f . n) ) ) ) } ) & ( x in { t where t is Element of Funcs (NAT,REAL) : ex c, d being Real ex N being Element of NAT st
( c > 0 & d > 0 & ( for n being Element of NAT st n >= N holds
( d * (f . n) <= t . n & t . n <= c * (f . n) ) ) ) } implies x in Big_Theta f ) )let x be
object ;
( ( x in Big_Theta f implies x in { t where t is Element of Funcs (NAT,REAL) : ex c, d being Real ex N being Element of NAT st
( c > 0 & d > 0 & ( for n being Element of NAT st n >= N holds
( d * (f . n) <= t . n & t . n <= c * (f . n) ) ) ) } ) & ( x in { t where t is Element of Funcs (NAT,REAL) : ex c, d being Real ex N being Element of NAT st
( c > 0 & d > 0 & ( for n being Element of NAT st n >= N holds
( d * (f . n) <= t . n & t . n <= c * (f . n) ) ) ) } implies x in Big_Theta f ) )hereby ( x in { t where t is Element of Funcs (NAT,REAL) : ex c, d being Real ex N being Element of NAT st
( c > 0 & d > 0 & ( for n being Element of NAT st n >= N holds
( d * (f . n) <= t . n & t . n <= c * (f . n) ) ) ) } implies x in Big_Theta f )
assume A1:
x in Big_Theta f
;
x in { t where t is Element of Funcs (NAT,REAL) : ex c, d being Real ex N being Element of NAT st
( c > 0 & d > 0 & ( for n being Element of NAT st n >= N holds
( d * (f . n) <= t . n & t . n <= c * (f . n) ) ) ) } then
x in Big_Oh f
by XBOOLE_0:def 4;
then consider t being
Element of
Funcs (
NAT,
REAL)
such that A2:
x = t
and A3:
ex
c being
Real ex
N being
Element of
NAT st
(
c > 0 & ( for
n being
Element of
NAT st
n >= N holds
(
t . n <= c * (f . n) &
t . n >= 0 ) ) )
;
x in Big_Omega f
by A1, XBOOLE_0:def 4;
then consider s being
Element of
Funcs (
NAT,
REAL)
such that A4:
x = s
and A5:
ex
d being
Real ex
N being
Element of
NAT st
(
d > 0 & ( for
n being
Element of
NAT st
n >= N holds
(
s . n >= d * (f . n) &
s . n >= 0 ) ) )
;
consider c being
Real,
N being
Element of
NAT such that A6:
c > 0
and A7:
for
n being
Element of
NAT st
n >= N holds
(
t . n <= c * (f . n) &
t . n >= 0 )
by A3;
consider d being
Real,
N1 being
Element of
NAT such that A8:
d > 0
and A9:
for
n being
Element of
NAT st
n >= N1 holds
(
s . n >= d * (f . n) &
s . n >= 0 )
by A5;
set a =
max (
N,
N1);
A10:
(
max (
N,
N1)
>= N &
max (
N,
N1)
>= N1 )
by XXREAL_0:25;
hence
x in { t where t is Element of Funcs (NAT,REAL) : ex c, d being Real ex N being Element of NAT st
( c > 0 & d > 0 & ( for n being Element of NAT st n >= N holds
( d * (f . n) <= t . n & t . n <= c * (f . n) ) ) ) }
by A2, A6, A8;
verum
end; assume
x in { t where t is Element of Funcs (NAT,REAL) : ex c, d being Real ex N being Element of NAT st
( c > 0 & d > 0 & ( for n being Element of NAT st n >= N holds
( d * (f . n) <= t . n & t . n <= c * (f . n) ) ) ) }
;
x in Big_Theta fthen consider t being
Element of
Funcs (
NAT,
REAL)
such that A11:
x = t
and A12:
ex
c,
d being
Real ex
N being
Element of
NAT st
(
c > 0 &
d > 0 & ( for
n being
Element of
NAT st
n >= N holds
(
d * (f . n) <= t . n &
t . n <= c * (f . n) ) ) )
;
consider c,
d being
Real,
N being
Element of
NAT such that A13:
c > 0
and A14:
d > 0
and A15:
for
n being
Element of
NAT st
n >= N holds
(
d * (f . n) <= t . n &
t . n <= c * (f . n) )
by A12;
consider N1 being
Nat such that A16:
for
n being
Nat st
n >= N1 holds
f . n >= 0
by Def2;
reconsider a =
max (
N,
N1) as
Element of
NAT by ORDINAL1:def 12;
A17:
a >= N1
by XXREAL_0:25;
A18:
a >= N
by XXREAL_0:25;
then A21:
x in Big_Omega f
by A11, A14;
then
x in Big_Oh f
by A11, A13;
hence
x in Big_Theta f
by A21, XBOOLE_0:def 4;
verum end;
hence
Big_Theta f = { t where t is Element of Funcs (NAT,REAL) : ex c, d being Real ex N being Element of NAT st
( c > 0 & d > 0 & ( for n being Element of NAT st n >= N holds
( d * (f . n) <= t . n & t . n <= c * (f . n) ) ) ) }
by TARSKI:2; verum