let n be Element of NAT ; :: thesis: Product (Sgm { p where p is prime Element of NAT : p <= n + 1 } ) <= 4 to_power n
defpred S1[ Nat] means Product (Sgm { p where p is prime Element of NAT : p <= $1 + 1 } ) <= 4 to_power $1;
A1:
for m being Nat st ( for n being Nat st n < m holds
S1[n] ) holds
S1[m]
proof
let m be
Nat;
:: thesis: ( ( for n being Nat st n < m holds
S1[n] ) implies S1[m] )
assume A2:
for
n being
Nat st
n < m holds
S1[
n]
;
:: thesis: S1[m]
per cases
( m < 1 or m = 1 or m > 1 )
by XXREAL_0:1;
suppose A10:
m > 1
;
:: thesis: S1[m]per cases
( not m + 1 is even or m + 1 is even )
;
suppose
not
m + 1 is
even
;
:: thesis: S1[m]then consider k being
Element of
NAT such that A11:
m + 1
= (2 * k) + 1
by ABIAN:9;
set X =
{ p where p is prime Element of NAT : p <= k + 1 } ;
set Y =
{ p where p is prime Element of NAT : ( p > k + 1 & p <= (2 * k) + 1 ) } ;
A12:
{ p where p is prime Element of NAT : p <= k + 1 } c= Seg (k + 1)
A14:
{ p where p is prime Element of NAT : ( p > k + 1 & p <= (2 * k) + 1 ) } c= Seg ((2 * k) + 1)
A16:
{ p where p is prime Element of NAT : p <= (2 * k) + 1 } = { p where p is prime Element of NAT : p <= k + 1 } \/ { p where p is prime Element of NAT : ( p > k + 1 & p <= (2 * k) + 1 ) }
A21:
for
a,
b being
Element of
NAT st
a in { p where p is prime Element of NAT : p <= k + 1 } &
b in { p where p is prime Element of NAT : ( p > k + 1 & p <= (2 * k) + 1 ) } holds
a < b
set SX =
Sgm { p where p is prime Element of NAT : p <= k + 1 } ;
set SY =
Sgm { p where p is prime Element of NAT : ( p > k + 1 & p <= (2 * k) + 1 ) } ;
A25:
Sgm { p where p is prime Element of NAT : p <= k + 1 } is
FinSequence of
REAL
A26:
Sgm { p where p is prime Element of NAT : ( p > k + 1 & p <= (2 * k) + 1 ) } is
FinSequence of
REAL
reconsider SX =
Sgm { p where p is prime Element of NAT : p <= k + 1 } as
FinSequence of
REAL by A25;
reconsider SY =
Sgm { p where p is prime Element of NAT : ( p > k + 1 & p <= (2 * k) + 1 ) } as
FinSequence of
REAL by A26;
A27:
Product (SX ^ SY) = (Product SX) * (Product SY)
by RVSUM_1:127;
m / 2
= (k * 2) / 2
by A11;
then A28:
Product SX <= 4
to_power k
by A2, A10, XREAL_1:218;
A29:
for
k' being
Element of
NAT st
k' in dom SY holds
SY . k' > 0
then A31:
0 < Product SY
by Th42;
A32:
Product SY <= 4
to_power k
proof
A33:
Product SY <= ((2 * k) + 1) choose k
proof
reconsider SY =
SY as
FinSequence of
NAT ;
set a =
Product SY;
set b =
((2 * k) + 1) choose k;
A34:
k + 1
>= 0
;
set r =
((2 * k) + 1) - k;
reconsider r =
((2 * k) + 1) - k as
Element of
NAT by A34;
A35:
(((2 * k) + 1) - k) + k >= 0 + k
by A34, XREAL_1:8;
then A36:
((2 * k) + 1) choose k = (((2 * k) + 1) ! ) / ((k ! ) * (r ! ))
by NEWTON:def 3;
A37:
Product SY is non
empty Nat
by A29, Th42;
A38:
((2 * k) + 1) choose k > 0
for
p being
Element of
NAT st
p is
prime holds
p |-count (Product SY) <= p |-count (((2 * k) + 1) choose k)
proof
let p be
Element of
NAT ;
:: thesis: ( p is prime implies p |-count (Product SY) <= p |-count (((2 * k) + 1) choose k) )
assume A41:
p is
prime
;
:: thesis: p |-count (Product SY) <= p |-count (((2 * k) + 1) choose k)
A42:
rng (Sgm { p where p is prime Element of NAT : ( p > k + 1 & p <= (2 * k) + 1 ) } ) = { p where p is prime Element of NAT : ( p > k + 1 & p <= (2 * k) + 1 ) }
by A14, FINSEQ_1:def 13;
{ p where p is prime Element of NAT : ( p > k + 1 & p <= (2 * k) + 1 ) } c= SetPrimes
then
rng SY c= SetPrimes
by A14, FINSEQ_1:def 13;
then reconsider SY =
SY as
FinSequence of
SetPrimes by FINSEQ_1:def 4;
A43:
(
p divides Product SY implies (
p > k + 1 &
p <= (2 * k) + 1 ) )
per cases
( ( p > k + 1 & p <= (2 * k) + 1 ) or not p > k + 1 or not p <= (2 * k) + 1 )
;
suppose A44:
(
p > k + 1 &
p <= (2 * k) + 1 )
;
:: thesis: p |-count (Product SY) <= p |-count (((2 * k) + 1) choose k)set c =
(k ! ) * (r ! );
A45:
{ p where p is prime Element of NAT : ( p > k + 1 & p <= (2 * k) + 1 ) } c= SetPrimes
A46:
p in rng SY
by A41, A42, A44;
A47:
(
p <> 1 &
((2 * k) + 1) choose k <> 0 )
by A38, A41, INT_2:def 5;
A48:
(((2 * k) + 1) choose k) * ((k ! ) * (r ! )) =
((((2 * k) + 1) ! ) / ((k ! ) * (r ! ))) * ((k ! ) * (r ! ))
by A35, NEWTON:def 3
.=
((2 * k) + 1) !
by NEWTON:25, XCMPLX_1:88
;
p divides ((2 * k) + 1) choose k
then
p |-count (((2 * k) + 1) choose k) <> 0
by A47, NAT_3:27;
then
0 + 1
< (p |-count (((2 * k) + 1) choose k)) + 1
by XREAL_1:8;
then
1
<= p |-count (((2 * k) + 1) choose k)
by NAT_1:13;
hence
p |-count (Product SY) <= p |-count (((2 * k) + 1) choose k)
by A14, A41, A45, A46, Th44;
:: thesis: verum end; end;
end;
then
ex
n being
Element of
NAT st
((2 * k) + 1) choose k = (Product SY) * n
by A37, A38, Th20;
then
Product SY divides ((2 * k) + 1) choose k
by NAT_D:def 3;
hence
Product SY <= ((2 * k) + 1) choose k
by A38, NAT_D:7;
:: thesis: verum
end;
A53:
((2 * k) + 1) choose k <= 2
to_power (2 * k)
proof
defpred S2[
Element of
NAT ]
means ((2 * $1) + 1) choose $1
<= 2
to_power (2 * $1);
((2 * 0 ) + 1) choose 0 = 1
by NEWTON:29;
then A54:
S2[
0 ]
by POWER:29;
A55:
for
k being
Element of
NAT st
S2[
k] holds
S2[
k + 1]
proof
let k be
Element of
NAT ;
:: thesis: ( S2[k] implies S2[k + 1] )
assume A56:
((2 * k) + 1) choose k <= 2
to_power (2 * k)
;
:: thesis: S2[k + 1]
A57:
k + 1
>= 0
;
set r =
((2 * k) + 1) - k;
reconsider r =
((2 * k) + 1) - k as
Element of
NAT by A57;
A58:
(((2 * k) + 1) - k) + k >= 0 + k
by A57, XREAL_1:8;
A59:
((2 * k) + 1) ! =
((((2 * k) + 1) ! ) / ((k ! ) * (r ! ))) * ((k ! ) * (r ! ))
by NEWTON:25, XCMPLX_1:88
.=
(((2 * k) + 1) choose k) * ((k ! ) * (r ! ))
by A58, NEWTON:def 3
;
A60:
k + 2
>= 0
;
set r' =
((2 * k) + 3) - (k + 1);
set r'' =
k + 1;
reconsider r' =
((2 * k) + 3) - (k + 1) as
Element of
NAT by A60;
A61:
(((2 * k) + 3) - (k + 1)) + (k + 1) >= 0 + (k + 1)
by A60, XREAL_1:8;
((k + 1) ! ) * (r' ! ) =
((k ! ) * (k + 1)) * ((r + 1) ! )
by NEWTON:21
.=
((k ! ) * (k + 1)) * ((r ! ) * (r + 1))
by NEWTON:21
.=
(((k ! ) * (r ! )) * (k + 1)) * (r + 1)
;
then A62:
((k ! ) * (r ! )) / (((k + 1) ! ) * (r' ! )) =
((k ! ) * (r ! )) / (((k ! ) * (r ! )) * ((k + 1) * (r + 1)))
.=
(((k ! ) * (r ! )) / ((k ! ) * (r ! ))) / ((k + 1) * (r + 1))
by XCMPLX_1:79
.=
1
/ ((k + 1) * (r + 1))
by NEWTON:25, XCMPLX_1:60
;
A63:
((2 * (k + 1)) + 1) choose (k + 1) =
((((2 * k) + 2) + 1) ! ) / (((k + 1) ! ) * (r' ! ))
by A61, NEWTON:def 3
.=
(((((2 * k) + 1) + 1) ! ) * ((2 * k) + 3)) / (((k + 1) ! ) * (r' ! ))
by NEWTON:21
.=
(((((2 * k) + 1) ! ) * ((2 * k) + 2)) * ((2 * k) + 3)) / (((k + 1) ! ) * (r' ! ))
by NEWTON:21
.=
((((2 * k) + 2) * ((2 * k) + 3)) * (((2 * k) + 1) ! )) / (((k + 1) ! ) * (r' ! ))
.=
((2 * (k + 1)) * ((2 * k) + 3)) * (((((2 * k) + 1) choose k) * ((k ! ) * (r ! ))) / (((k + 1) ! ) * (r' ! )))
by A59, XCMPLX_1:75
.=
((2 * (k + 1)) * ((2 * k) + 3)) * ((((2 * k) + 1) choose k) * (((k ! ) * (r ! )) / (((k + 1) ! ) * (r' ! ))))
by XCMPLX_1:75
.=
(((2 * (k + 1)) * ((2 * k) + 3)) * (((2 * k) + 1) choose k)) * (1 / ((k + 1) * (r + 1)))
by A62
.=
((2 * (((2 * k) + 1) choose k)) * ((k + 1) * ((2 * k) + 3))) / ((k + 1) * (r + 1))
by XCMPLX_1:100
.=
(2 * (((2 * k) + 1) choose k)) * (((k + 1) * ((2 * k) + 3)) / ((k + 1) * (r + 1)))
by XCMPLX_1:75
.=
(2 * (((2 * k) + 1) choose k)) * (((k + 1) / (k + 1)) * (((2 * k) + 3) / (r + 1)))
by XCMPLX_1:77
.=
(2 * (((2 * k) + 1) choose k)) * (1 * (((2 * k) + 3) / (r + 1)))
by XCMPLX_1:60
.=
(2 * (((2 * k) + 1) choose k)) * (((2 * k) + 3) / (k + 2))
;
(2 * k) + 3
< (2 * k) + 4
by XREAL_1:8;
then
((2 * k) + 3) / (k + 2) < (2 * (k + 2)) / (k + 2)
by XREAL_1:76;
then
((2 * k) + 3) / (k + 2) < 2
* ((k + 2) / (k + 2))
by XCMPLX_1:75;
then A64:
((2 * k) + 3) / (k + 2) < 2
* 1
by XCMPLX_1:60;
A65: 2
* ((2 to_power (2 * k)) * 2) =
2
* ((2 to_power (2 * k)) * (2 to_power 1))
by POWER:30
.=
2
* (2 to_power ((2 * k) + 1))
by POWER:32
.=
(2 to_power 1) * (2 to_power ((2 * k) + 1))
by POWER:30
.=
2
to_power ((1 + (2 * k)) + 1)
by POWER:32
;
(((2 * k) + 1) choose k) * (((2 * k) + 3) / (k + 2)) <= (2 to_power (2 * k)) * 2
by A56, A64, XREAL_1:68;
then
2
* ((((2 * k) + 1) choose k) * (((2 * k) + 3) / (k + 2))) <= 2
* ((2 to_power (2 * k)) * 2)
by XREAL_1:66;
hence
S2[
k + 1]
by A63, A65;
:: thesis: verum
end;
for
k being
Element of
NAT holds
S2[
k]
from NAT_1:sch 1(A54, A55);
hence
((2 * k) + 1) choose k <= 2
to_power (2 * k)
;
:: thesis: verum
end;
2
to_power (2 * k) =
2
to_power (k + k)
.=
(2 to_power k) * (2 to_power k)
by POWER:32
.=
(2 * 2) to_power k
by POWER:35
;
hence
Product SY <= 4
to_power k
by A33, A53, XXREAL_0:2;
:: thesis: verum
end;
for
k' being
Element of
NAT st
k' in dom SX holds
SX . k' > 0
then
0 <= Product SX
by Th42;
then
(Product SX) * (Product SY) <= (4 to_power k) * (4 to_power k)
by A28, A31, A32, XREAL_1:68;
then
Product (SX ^ SY) <= 4
to_power (k + k)
by A27, POWER:32;
hence
S1[
m]
by A11, A12, A14, A16, A21, FINSEQ_3:48;
:: thesis: verum end; end; end; end;
end;
for n being Nat holds S1[n]
from NAT_1:sch 4(A1);
hence
Product (Sgm { p where p is prime Element of NAT : p <= n + 1 } ) <= 4 to_power n
; :: thesis: verum