A1:
( 0 <= 1 / 2 & (1 / 2) - 1 < 0 )
;
defpred S1[ Nat] means for k, m being Nat st k <= m & m = [\($1 / 2)/] holds
$1 choose m >= $1 choose k;
A2:
S1[ 0 ]
A5:
for n being Nat st S1[n] holds
S1[n + 1]
proof
let n be
Nat;
:: thesis: ( S1[n] implies S1[n + 1] )
A6:
n in NAT
by ORDINAL1:def 13;
assume A7:
S1[
n]
;
:: thesis: S1[n + 1]
for
k,
m1 being
Nat st
k <= m1 &
m1 = [\((n + 1) / 2)/] holds
(n + 1) choose m1 >= (n + 1) choose k
proof
let k,
m1 be
Nat;
:: thesis: ( k <= m1 & m1 = [\((n + 1) / 2)/] implies (n + 1) choose m1 >= (n + 1) choose k )
assume A8:
k <= m1
;
:: thesis: ( not m1 = [\((n + 1) / 2)/] or (n + 1) choose m1 >= (n + 1) choose k )
assume A9:
m1 = [\((n + 1) / 2)/]
;
:: thesis: (n + 1) choose m1 >= (n + 1) choose k
then
(
m1 <= (n + 1) / 2 &
((n + 1) / 2) - 1
< m1 )
by INT_1:def 4;
then A10:
m1 * 2
<= ((n + 1) / 2) * 2
by XREAL_1:66;
A11:
1
* m1 <= 2
* m1
by XREAL_1:66;
then A12:
n + 1
>= m1
by A10, XXREAL_0:2;
set l1 =
(n + 1) -' m1;
A13:
(n + 1) -' m1 = (n + 1) - m1
by A10, A11, XREAL_1:235, XXREAL_0:2;
set m =
[\(n / 2)/];
set l =
n - [\(n / 2)/];
reconsider m =
[\(n / 2)/] as
Element of
NAT by INT_1:80;
A14:
n / 2
>= [\(n / 2)/]
by INT_1:def 4;
A15:
(n + 1) / 2
>= [\((n + 1) / 2)/]
by INT_1:def 4;
2
* n >= 1
* n
by XREAL_1:66;
then A16:
(2 * n) / 2
>= n / 2
by XREAL_1:74;
then A17:
n >= m
by A14, XXREAL_0:2;
n - m = n -' m
by A14, A16, XREAL_1:235, XXREAL_0:2;
then reconsider l =
n - [\(n / 2)/] as
Element of
NAT ;
A18:
n >= k
set nk =
n - k;
n - k = n -' k
by A18, XREAL_1:235;
then reconsider nk =
n - k as
Element of
NAT ;
set nk1 =
(n + 1) - k;
(n + 1) - k = nk + 1
;
then reconsider nk1 =
(n + 1) - k as
Element of
NAT ;
A19:
n ! <> 0
by NEWTON:23;
((n + 1) ! ) / (n ! ) =
((n + 1) * (n ! )) / (n ! )
by NEWTON:21
.=
(n + 1) * ((n ! ) / (n ! ))
by XCMPLX_1:75
.=
(n + 1) * 1
by A19, XCMPLX_1:60
;
then A20:
(n ! ) / ((n + 1) ! ) = 1
/ (n + 1)
by XCMPLX_1:57;
A21:
k ! <> 0
by NEWTON:23;
A22:
nk ! <> 0
by NEWTON:23;
A23:
(nk1 ! ) / (nk ! ) =
((nk + 1) * (nk ! )) / (nk ! )
by NEWTON:21
.=
(nk + 1) * ((nk ! ) / (nk ! ))
by XCMPLX_1:75
.=
(nk + 1) * 1
by A22, XCMPLX_1:60
;
A24:
n choose k = (n ! ) / ((nk ! ) * (k ! ))
by A18, NEWTON:def 3;
0 + n <= 1
+ n
by XREAL_1:8;
then A25:
k <= n + 1
by A18, XXREAL_0:2;
then A26:
(n + 1) choose k = ((n + 1) ! ) / ((nk1 ! ) * (k ! ))
by NEWTON:def 3;
A27:
(n choose k) / ((n + 1) choose k) =
((n ! ) / ((nk ! ) * (k ! ))) / (((n + 1) ! ) / ((nk1 ! ) * (k ! )))
by A24, A25, NEWTON:def 3
.=
(((n ! ) / ((nk ! ) * (k ! ))) / ((n + 1) ! )) * ((nk1 ! ) * (k ! ))
by XCMPLX_1:83
.=
((n ! ) / (((n + 1) ! ) * ((nk ! ) * (k ! )))) * ((nk1 ! ) * (k ! ))
by XCMPLX_1:79
.=
((1 / (n + 1)) / ((nk ! ) * (k ! ))) * ((nk1 ! ) * (k ! ))
by A20, XCMPLX_1:79
.=
(1 / (n + 1)) / (((nk ! ) * (k ! )) / ((nk1 ! ) * (k ! )))
by XCMPLX_1:83
.=
(1 / (n + 1)) / (((nk ! ) / (nk1 ! )) / ((k ! ) / (k ! )))
by XCMPLX_1:85
.=
(1 / (n + 1)) / (((nk ! ) / (nk1 ! )) / 1)
by A21, XCMPLX_1:60
.=
(1 / (n + 1)) / (1 / (nk + 1))
by A23, XCMPLX_1:57
.=
(1 * (nk + 1)) / (1 * (n + 1))
by XCMPLX_1:85
.=
(nk + 1) / (n + 1)
;
A28:
(nk1 ! ) * (k ! ) <> 0
by NEWTON:25;
A29:
(n + 1) ! <> 0
by NEWTON:23;
A30:
(n choose k) / (((n + 1) choose k) / ((n + 1) choose k)) = ((nk + 1) / (n + 1)) * ((n + 1) choose k)
by A27, XCMPLX_1:83;
A31:
n choose k =
(n choose k) / 1
.=
((nk + 1) / (n + 1)) * ((n + 1) choose k)
by A26, A28, A29, A30, XCMPLX_1:60
;
[\(n / 2)/] <= n / 2
by INT_1:def 4;
then
- [\(n / 2)/] >= - (n / 2)
by XREAL_1:26;
then A32:
(- [\(n / 2)/]) + (n + 1) >= (- (n / 2)) + (n + 1)
by XREAL_1:8;
A33:
(- (n / 2)) + (n + 1) = (n / 2) + 1
;
(n / 2) - 1
< [\(n / 2)/]
by INT_1:def 4;
then A34:
((n / 2) - 1) + 1
< [\(n / 2)/] + 1
by XREAL_1:8;
A35:
(n choose k) * ((n + 1) / (l + 1)) =
((((nk + 1) / (n + 1)) * ((n + 1) choose k)) * (n + 1)) / (l + 1)
by A31, XCMPLX_1:75
.=
((((nk + 1) / (n + 1)) * (n + 1)) * ((n + 1) choose k)) / (l + 1)
.=
((((n + 1) / (n + 1)) * (nk + 1)) * ((n + 1) choose k)) / (l + 1)
by XCMPLX_1:76
.=
((1 * (nk + 1)) * ((n + 1) choose k)) / (l + 1)
by XCMPLX_1:60
.=
((n + 1) choose k) * ((nk + 1) / (l + 1))
by XCMPLX_1:75
;
A36:
(n choose k) * ((n + 1) / (m + 1)) =
((((nk + 1) / (n + 1)) * ((n + 1) choose k)) * (n + 1)) / (m + 1)
by A31, XCMPLX_1:75
.=
((((nk + 1) / (n + 1)) * (n + 1)) * ((n + 1) choose k)) / (m + 1)
.=
((((n + 1) / (n + 1)) * (nk + 1)) * ((n + 1) choose k)) / (m + 1)
by XCMPLX_1:76
.=
((1 * (nk + 1)) * ((n + 1) choose k)) / (m + 1)
by XCMPLX_1:60
.=
((n + 1) choose k) * ((nk + 1) / (m + 1))
by XCMPLX_1:75
;
per cases
( n is even or not n is even )
;
suppose
n is
even
;
:: thesis: (n + 1) choose m1 >= (n + 1) choose kthen consider k1 being
Element of
NAT such that A37:
n = 2
* k1
by A6, ABIAN:def 2;
A38:
[\((n + 1) / 2)/] =
[\(((2 * k1) / 2) + (1 / 2))/]
by A37
.=
k1 + [\(1 / 2)/]
by INT_1:51
.=
k1 + 0
by A1, INT_1:def 4
.=
[\(n / 2)/]
by A37, INT_1:47
;
A39:
(n + 1) -' m1 =
(n + 1) - m1
by A10, A11, XREAL_1:235, XXREAL_0:2
.=
l + 1
by A9, A38
;
A40:
n choose m >= n choose k
by A7, A8, A9, A38;
(n + 1) choose m1 =
((n + 1) ! ) / ((m1 ! ) * (((n + 1) -' m1) ! ))
by A12, A13, NEWTON:def 3
.=
((n + 1) * (n ! )) / ((m ! ) * ((l + 1) ! ))
by A9, A38, A39, NEWTON:21
.=
((n + 1) * (n ! )) / ((m ! ) * ((l + 1) * (l ! )))
by NEWTON:21
.=
((n + 1) * (n ! )) / ((l + 1) * ((m ! ) * (l ! )))
.=
((n + 1) / (l + 1)) / (((m ! ) * (l ! )) / (n ! ))
by XCMPLX_1:85
.=
((n ! ) / ((m ! ) * (l ! ))) * ((n + 1) / (l + 1))
by XCMPLX_1:81
.=
(n choose m) * ((n + 1) / (l + 1))
by A17, NEWTON:def 3
;
then A41:
(n + 1) choose m >= ((n + 1) choose k) * ((nk + 1) / (l + 1))
by A9, A35, A38, A40, XREAL_1:66;
- k >= - [\(n / 2)/]
by A8, A9, A38, XREAL_1:26;
then
(- k) + (n + 1) >= (- [\(n / 2)/]) + (n + 1)
by XREAL_1:8;
then
((n - k) + 1) / ((n - [\(n / 2)/]) + 1) >= ((n - [\(n / 2)/]) + 1) / ((n - [\(n / 2)/]) + 1)
by A32, A33, XREAL_1:74;
then
((n - k) + 1) / ((n - [\(n / 2)/]) + 1) >= 1
by A32, A33, XCMPLX_1:60;
then
(((n - k) + 1) / ((n - [\(n / 2)/]) + 1)) * ((n + 1) choose k) >= 1
* ((n + 1) choose k)
by XREAL_1:66;
hence
(n + 1) choose m1 >= (n + 1) choose k
by A9, A38, A41, XXREAL_0:2;
:: thesis: verum end; suppose
not
n is
even
;
:: thesis: (n + 1) choose m1 >= (n + 1) choose kthen consider j being
Integer such that A42:
n = (2 * j) + 1
by ABIAN:1;
A43:
[\((n + 1) / 2)/] =
(j + 0 ) + 1
by A42, INT_1:47
.=
(j + [\(1 / 2)/]) + 1
by A1, INT_1:def 4
.=
[\(j + (1 / 2))/] + 1
by INT_1:51
.=
[\(n / 2)/] + 1
by A42
;
A44:
(n + 1) -' m1 =
(n + 1) - m1
by A10, A11, XREAL_1:235, XXREAL_0:2
.=
l
by A9, A43
;
per cases
( k = m + 1 or k < m + 1 )
by A8, A9, A43, XXREAL_0:1;
suppose
k < m + 1
;
:: thesis: (n + 1) choose m1 >= (n + 1) choose kthen A45:
k <= m
by NAT_1:13;
then A46:
n choose m >= n choose k
by A7;
(n + 1) choose m1 =
((n + 1) ! ) / ((m1 ! ) * (((n + 1) -' m1) ! ))
by A12, A13, NEWTON:def 3
.=
((n + 1) * (n ! )) / (((m + 1) ! ) * (l ! ))
by A9, A43, A44, NEWTON:21
.=
((n + 1) * (n ! )) / (((m ! ) * (m + 1)) * (l ! ))
by NEWTON:21
.=
((n + 1) * (n ! )) / ((m + 1) * ((m ! ) * (l ! )))
.=
((n + 1) / (m + 1)) / (((m ! ) * (l ! )) / (n ! ))
by XCMPLX_1:85
.=
((n ! ) / ((m ! ) * (l ! ))) * ((n + 1) / (m + 1))
by XCMPLX_1:81
.=
(n choose m) * ((n + 1) / (m + 1))
by A17, NEWTON:def 3
;
then A47:
(n + 1) choose m1 >= ((n + 1) choose k) * ((nk + 1) / (m + 1))
by A36, A46, XREAL_1:66;
n / 2
>= [\(n / 2)/]
by INT_1:def 4;
then
(n / 2) * 2
>= [\(n / 2)/] * 2
by XREAL_1:66;
then
n - [\(n / 2)/] >= ([\(n / 2)/] * 2) - [\(n / 2)/]
by XREAL_1:11;
then
n - [\(n / 2)/] >= k
by A45, XXREAL_0:2;
then
(n - [\(n / 2)/]) - (k - [\(n / 2)/]) >= k - (k - [\(n / 2)/])
by XREAL_1:11;
then
(n - k) + 1
>= [\(n / 2)/] + 1
by XREAL_1:8;
then
((n - k) + 1) / ([\(n / 2)/] + 1) >= ([\(n / 2)/] + 1) / ([\(n / 2)/] + 1)
by A34, XREAL_1:74;
then
((n - k) + 1) / ([\(n / 2)/] + 1) >= 1
by A34, XCMPLX_1:60;
then
(((n - k) + 1) / ([\(n / 2)/] + 1)) * ((n + 1) choose k) >= 1
* ((n + 1) choose k)
by XREAL_1:66;
hence
(n + 1) choose m1 >= (n + 1) choose k
by A47, XXREAL_0:2;
:: thesis: verum end; end; end; end;
end;
hence
S1[
n + 1]
;
:: thesis: verum
end;
A48:
for n being Nat holds S1[n]
from NAT_1:sch 2(A2, A5);
for n, k, m being Nat st k <= n & m = [\(n / 2)/] holds
n choose m >= n choose k
proof
let n,
k,
m be
Nat;
:: thesis: ( k <= n & m = [\(n / 2)/] implies n choose m >= n choose k )
A49:
n in NAT
by ORDINAL1:def 13;
assume A50:
k <= n
;
:: thesis: ( not m = [\(n / 2)/] or n choose m >= n choose k )
assume A51:
m = [\(n / 2)/]
;
:: thesis: n choose m >= n choose k
per cases
( k <= m or k > m )
;
suppose A52:
k > m
;
:: thesis: n choose m >= n choose kset r =
n -' k;
A53:
n -' k = n - k
by A50, XREAL_1:235;
then A54:
n choose k = n choose (n -' k)
by A50, NEWTON:30;
per cases
( n is even or not n is even )
;
suppose
not
n is
even
;
:: thesis: n choose m >= n choose kthen consider j being
Integer such that A57:
n = (2 * j) + 1
by ABIAN:1;
A58:
[\(n / 2)/] =
[\(j + (1 / 2))/]
by A57
.=
j + [\(1 / 2)/]
by INT_1:51
.=
j + 0
by A1, INT_1:def 4
.=
j
;
A59:
k >= m + 1
by A52, NAT_1:13;
per cases
( k = m + 1 or k > m + 1 )
by A59, XXREAL_0:1;
suppose A60:
k = m + 1
;
:: thesis: n choose m >= n choose kA61:
n / 2
>= [\(n / 2)/]
by INT_1:def 4;
2
* m >= 1
* m
by XREAL_1:66;
then A62:
n >= m + 1
by A51, A57, A58, XREAL_1:8;
2
* n >= 1
* n
by XREAL_1:66;
then A63:
(2 * n) / 2
>= n / 2
by XREAL_1:74;
then A64:
n >= m
by A51, A61, XXREAL_0:2;
set nm =
n - m;
n - m = n -' m
by A51, A61, A63, XREAL_1:235, XXREAL_0:2;
then reconsider nm =
n - m as
Element of
NAT ;
set nm1 =
n - (m + 1);
n - (m + 1) = n -' (m + 1)
by A62, XREAL_1:235;
then reconsider nm1 =
n - (m + 1) as
Element of
NAT ;
A65:
n choose (m + 1) = (n ! ) / ((nm1 ! ) * ((m + 1) ! ))
by A62, NEWTON:def 3;
nm = m + 1
by A51, A57, A58;
hence
n choose m >= n choose k
by A60, A64, A65, NEWTON:def 3;
:: thesis: verum end; end; end; end; end; end;
end;
hence
for n, k, m being Nat st k <= n & m = [\(n / 2)/] holds
n choose m >= n choose k
; :: thesis: verum