MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  birthdaylem3 Structured version   Unicode version

Theorem birthdaylem3 22345
Description: For general  N and  K, upper-bound the fraction of injective functions from  1 ... K to  1 ... N. (Contributed by Mario Carneiro, 17-Apr-2015.)
Hypotheses
Ref Expression
birthday.s  |-  S  =  { f  |  f : ( 1 ... K ) --> ( 1 ... N ) }
birthday.t  |-  T  =  { f  |  f : ( 1 ... K ) -1-1-> ( 1 ... N ) }
Assertion
Ref Expression
birthdaylem3  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( ( # `  T
)  /  ( # `  S ) )  <_ 
( exp `  -u (
( ( ( K ^ 2 )  -  K )  /  2
)  /  N ) ) )
Distinct variable groups:    f, K    f, N
Allowed substitution hints:    S( f)    T( f)

Proof of Theorem birthdaylem3
Dummy variable  k is distinct from all other variables.
StepHypRef Expression
1 birthday.t . . . . . . . 8  |-  T  =  { f  |  f : ( 1 ... K ) -1-1-> ( 1 ... N ) }
2 abn0 3654 . . . . . . . . . . . 12  |-  ( { f  |  f : ( 1 ... K
) -1-1-> ( 1 ... N ) }  =/=  (/)  <->  E. f  f : ( 1 ... K )
-1-1-> ( 1 ... N
) )
3 ovex 6114 . . . . . . . . . . . . 13  |-  ( 1 ... N )  e. 
_V
43brdom 7320 . . . . . . . . . . . 12  |-  ( ( 1 ... K )  ~<_  ( 1 ... N
)  <->  E. f  f : ( 1 ... K
) -1-1-> ( 1 ... N ) )
52, 4bitr4i 252 . . . . . . . . . . 11  |-  ( { f  |  f : ( 1 ... K
) -1-1-> ( 1 ... N ) }  =/=  (/)  <->  ( 1 ... K )  ~<_  ( 1 ... N
) )
6 hashfz1 12115 . . . . . . . . . . . . 13  |-  ( K  e.  NN0  ->  ( # `  ( 1 ... K
) )  =  K )
7 nnnn0 10584 . . . . . . . . . . . . . 14  |-  ( N  e.  NN  ->  N  e.  NN0 )
8 hashfz1 12115 . . . . . . . . . . . . . 14  |-  ( N  e.  NN0  ->  ( # `  ( 1 ... N
) )  =  N )
97, 8syl 16 . . . . . . . . . . . . 13  |-  ( N  e.  NN  ->  ( # `
 ( 1 ... N ) )  =  N )
106, 9breqan12d 4305 . . . . . . . . . . . 12  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( ( # `  (
1 ... K ) )  <_  ( # `  (
1 ... N ) )  <-> 
K  <_  N )
)
11 fzfid 11793 . . . . . . . . . . . . 13  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( 1 ... K
)  e.  Fin )
12 fzfid 11793 . . . . . . . . . . . . 13  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( 1 ... N
)  e.  Fin )
13 hashdom 12140 . . . . . . . . . . . . 13  |-  ( ( ( 1 ... K
)  e.  Fin  /\  ( 1 ... N
)  e.  Fin )  ->  ( ( # `  (
1 ... K ) )  <_  ( # `  (
1 ... N ) )  <-> 
( 1 ... K
)  ~<_  ( 1 ... N ) ) )
1411, 12, 13syl2anc 661 . . . . . . . . . . . 12  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( ( # `  (
1 ... K ) )  <_  ( # `  (
1 ... N ) )  <-> 
( 1 ... K
)  ~<_  ( 1 ... N ) ) )
15 nn0re 10586 . . . . . . . . . . . . 13  |-  ( K  e.  NN0  ->  K  e.  RR )
16 nnre 10327 . . . . . . . . . . . . 13  |-  ( N  e.  NN  ->  N  e.  RR )
17 lenlt 9451 . . . . . . . . . . . . 13  |-  ( ( K  e.  RR  /\  N  e.  RR )  ->  ( K  <_  N  <->  -.  N  <  K ) )
1815, 16, 17syl2an 477 . . . . . . . . . . . 12  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( K  <_  N  <->  -.  N  <  K ) )
1910, 14, 183bitr3d 283 . . . . . . . . . . 11  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( ( 1 ... K )  ~<_  ( 1 ... N )  <->  -.  N  <  K ) )
205, 19syl5bb 257 . . . . . . . . . 10  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( { f  |  f : ( 1 ... K ) -1-1-> ( 1 ... N ) }  =/=  (/)  <->  -.  N  <  K ) )
2120necon4abid 2673 . . . . . . . . 9  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( { f  |  f : ( 1 ... K ) -1-1-> ( 1 ... N ) }  =  (/)  <->  N  <  K ) )
2221biimpar 485 . . . . . . . 8  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  { f  |  f : ( 1 ... K )
-1-1-> ( 1 ... N
) }  =  (/) )
231, 22syl5eq 2485 . . . . . . 7  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  T  =  (/) )
2423fveq2d 5693 . . . . . 6  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  ( # `  T
)  =  ( # `  (/) ) )
25 hash0 12133 . . . . . 6  |-  ( # `  (/) )  =  0
2624, 25syl6eq 2489 . . . . 5  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  ( # `  T
)  =  0 )
2726oveq1d 6104 . . . 4  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  ( ( # `
 T )  / 
( # `  S ) )  =  ( 0  /  ( # `  S
) ) )
28 birthday.s . . . . . . . . . 10  |-  S  =  { f  |  f : ( 1 ... K ) --> ( 1 ... N ) }
2928, 1birthdaylem1 22343 . . . . . . . . 9  |-  ( T 
C_  S  /\  S  e.  Fin  /\  ( N  e.  NN  ->  S  =/=  (/) ) )
3029simp3i 999 . . . . . . . 8  |-  ( N  e.  NN  ->  S  =/=  (/) )
3130ad2antlr 726 . . . . . . 7  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  S  =/=  (/) )
3229simp2i 998 . . . . . . . 8  |-  S  e. 
Fin
33 hashnncl 12132 . . . . . . . 8  |-  ( S  e.  Fin  ->  (
( # `  S )  e.  NN  <->  S  =/=  (/) ) )
3432, 33ax-mp 5 . . . . . . 7  |-  ( (
# `  S )  e.  NN  <->  S  =/=  (/) )
3531, 34sylibr 212 . . . . . 6  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  ( # `  S
)  e.  NN )
3635nncnd 10336 . . . . 5  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  ( # `  S
)  e.  CC )
3735nnne0d 10364 . . . . 5  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  ( # `  S
)  =/=  0 )
3836, 37div0d 10104 . . . 4  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  ( 0  /  ( # `  S
) )  =  0 )
3927, 38eqtrd 2473 . . 3  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  ( ( # `
 T )  / 
( # `  S ) )  =  0 )
4015adantr 465 . . . . . . . . . . 11  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  K  e.  RR )
4140resqcld 12032 . . . . . . . . . 10  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( K ^ 2 )  e.  RR )
4241, 40resubcld 9774 . . . . . . . . 9  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( ( K ^
2 )  -  K
)  e.  RR )
4342rehalfcld 10569 . . . . . . . 8  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( ( ( K ^ 2 )  -  K )  /  2
)  e.  RR )
44 nndivre 10355 . . . . . . . 8  |-  ( ( ( ( ( K ^ 2 )  -  K )  /  2
)  e.  RR  /\  N  e.  NN )  ->  ( ( ( ( K ^ 2 )  -  K )  / 
2 )  /  N
)  e.  RR )
4543, 44sylancom 667 . . . . . . 7  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( ( ( ( K ^ 2 )  -  K )  / 
2 )  /  N
)  e.  RR )
4645renegcld 9773 . . . . . 6  |-  ( ( K  e.  NN0  /\  N  e.  NN )  -> 
-u ( ( ( ( K ^ 2 )  -  K )  /  2 )  /  N )  e.  RR )
4746adantr 465 . . . . 5  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  -u ( ( ( ( K ^
2 )  -  K
)  /  2 )  /  N )  e.  RR )
4847rpefcld 13387 . . . 4  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  ( exp `  -u ( ( ( ( K ^ 2 )  -  K )  / 
2 )  /  N
) )  e.  RR+ )
4948rpge0d 11029 . . 3  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  0  <_  ( exp `  -u (
( ( ( K ^ 2 )  -  K )  /  2
)  /  N ) ) )
5039, 49eqbrtrd 4310 . 2  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  ( ( # `
 T )  / 
( # `  S ) )  <_  ( exp `  -u ( ( ( ( K ^ 2 )  -  K )  / 
2 )  /  N
) ) )
51 simplr 754 . . . 4  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  N  e.  NN )
52 simpr 461 . . . . 5  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  K  <_  N )
53 simpll 753 . . . . . . 7  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  K  e.  NN0 )
54 nn0uz 10893 . . . . . . 7  |-  NN0  =  ( ZZ>= `  0 )
5553, 54syl6eleq 2531 . . . . . 6  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  K  e.  ( ZZ>= `  0 )
)
56 nnz 10666 . . . . . . 7  |-  ( N  e.  NN  ->  N  e.  ZZ )
5756ad2antlr 726 . . . . . 6  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  N  e.  ZZ )
58 elfz5 11443 . . . . . 6  |-  ( ( K  e.  ( ZZ>= ` 
0 )  /\  N  e.  ZZ )  ->  ( K  e.  ( 0 ... N )  <->  K  <_  N ) )
5955, 57, 58syl2anc 661 . . . . 5  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  ( K  e.  ( 0 ... N
)  <->  K  <_  N ) )
6052, 59mpbird 232 . . . 4  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  K  e.  ( 0 ... N
) )
6128, 1birthdaylem2 22344 . . . 4  |-  ( ( N  e.  NN  /\  K  e.  ( 0 ... N ) )  ->  ( ( # `  T )  /  ( # `
 S ) )  =  ( exp `  sum_ k  e.  ( 0 ... ( K  - 
1 ) ) ( log `  ( 1  -  ( k  /  N ) ) ) ) )
6251, 60, 61syl2anc 661 . . 3  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  ( ( # `
 T )  / 
( # `  S ) )  =  ( exp `  sum_ k  e.  ( 0 ... ( K  -  1 ) ) ( log `  (
1  -  ( k  /  N ) ) ) ) )
63 fzfid 11793 . . . . . 6  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  ( 0 ... ( K  - 
1 ) )  e. 
Fin )
64 elfznn0 11479 . . . . . . . . . . . . 13  |-  ( k  e.  ( 0 ... ( K  -  1 ) )  ->  k  e.  NN0 )
6564adantl 466 . . . . . . . . . . . 12  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  k  e.  NN0 )
6665nn0red 10635 . . . . . . . . . . 11  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  k  e.  RR )
6753nn0red 10635 . . . . . . . . . . . . 13  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  K  e.  RR )
68 peano2rem 9673 . . . . . . . . . . . . 13  |-  ( K  e.  RR  ->  ( K  -  1 )  e.  RR )
6967, 68syl 16 . . . . . . . . . . . 12  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  ( K  -  1 )  e.  RR )
7069adantr 465 . . . . . . . . . . 11  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  ( K  -  1 )  e.  RR )
7151adantr 465 . . . . . . . . . . . 12  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  N  e.  NN )
7271nnred 10335 . . . . . . . . . . 11  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  N  e.  RR )
73 elfzle2 11453 . . . . . . . . . . . 12  |-  ( k  e.  ( 0 ... ( K  -  1 ) )  ->  k  <_  ( K  -  1 ) )
7473adantl 466 . . . . . . . . . . 11  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  k  <_  ( K  -  1 ) )
7551nnred 10335 . . . . . . . . . . . . 13  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  N  e.  RR )
7667ltm1d 10263 . . . . . . . . . . . . 13  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  ( K  -  1 )  < 
K )
7769, 67, 75, 76, 52ltletrd 9529 . . . . . . . . . . . 12  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  ( K  -  1 )  < 
N )
7877adantr 465 . . . . . . . . . . 11  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  ( K  -  1 )  <  N )
7966, 70, 72, 74, 78lelttrd 9527 . . . . . . . . . 10  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  k  <  N )
8071nncnd 10336 . . . . . . . . . . 11  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  N  e.  CC )
8180mulid1d 9401 . . . . . . . . . 10  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  ( N  x.  1 )  =  N )
8279, 81breqtrrd 4316 . . . . . . . . 9  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  k  <  ( N  x.  1 ) )
83 1red 9399 . . . . . . . . . 10  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  1  e.  RR )
8471nngt0d 10363 . . . . . . . . . 10  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  0  <  N )
85 ltdivmul 10202 . . . . . . . . . 10  |-  ( ( k  e.  RR  /\  1  e.  RR  /\  ( N  e.  RR  /\  0  <  N ) )  -> 
( ( k  /  N )  <  1  <->  k  <  ( N  x.  1 ) ) )
8666, 83, 72, 84, 85syl112anc 1222 . . . . . . . . 9  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  (
( k  /  N
)  <  1  <->  k  <  ( N  x.  1 ) ) )
8782, 86mpbird 232 . . . . . . . 8  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  (
k  /  N )  <  1 )
8866, 71nndivred 10368 . . . . . . . . 9  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  (
k  /  N )  e.  RR )
89 1re 9383 . . . . . . . . 9  |-  1  e.  RR
90 difrp 11022 . . . . . . . . 9  |-  ( ( ( k  /  N
)  e.  RR  /\  1  e.  RR )  ->  ( ( k  /  N )  <  1  <->  ( 1  -  ( k  /  N ) )  e.  RR+ ) )
9188, 89, 90sylancl 662 . . . . . . . 8  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  (
( k  /  N
)  <  1  <->  ( 1  -  ( k  /  N ) )  e.  RR+ ) )
9287, 91mpbid 210 . . . . . . 7  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  (
1  -  ( k  /  N ) )  e.  RR+ )
9392relogcld 22070 . . . . . 6  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  ( log `  ( 1  -  ( k  /  N
) ) )  e.  RR )
9488renegcld 9773 . . . . . 6  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  -u (
k  /  N )  e.  RR )
95 elfzle1 11452 . . . . . . . . . . . 12  |-  ( k  e.  ( 0 ... ( K  -  1 ) )  ->  0  <_  k )
9695adantl 466 . . . . . . . . . . 11  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  0  <_  k )
97 divge0 10196 . . . . . . . . . . 11  |-  ( ( ( k  e.  RR  /\  0  <_  k )  /\  ( N  e.  RR  /\  0  <  N ) )  ->  0  <_  ( k  /  N ) )
9866, 96, 72, 84, 97syl22anc 1219 . . . . . . . . . 10  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  0  <_  ( k  /  N
) )
9988, 98, 87eflegeo 13403 . . . . . . . . 9  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  ( exp `  ( k  /  N ) )  <_ 
( 1  /  (
1  -  ( k  /  N ) ) ) )
10088reefcld 13371 . . . . . . . . . 10  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  ( exp `  ( k  /  N ) )  e.  RR )
101 efgt0 13385 . . . . . . . . . . 11  |-  ( ( k  /  N )  e.  RR  ->  0  <  ( exp `  (
k  /  N ) ) )
10288, 101syl 16 . . . . . . . . . 10  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  0  <  ( exp `  (
k  /  N ) ) )
10392rpregt0d 11031 . . . . . . . . . 10  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  (
( 1  -  (
k  /  N ) )  e.  RR  /\  0  <  ( 1  -  ( k  /  N
) ) ) )
104 lerec2 10218 . . . . . . . . . 10  |-  ( ( ( ( exp `  (
k  /  N ) )  e.  RR  /\  0  <  ( exp `  (
k  /  N ) ) )  /\  (
( 1  -  (
k  /  N ) )  e.  RR  /\  0  <  ( 1  -  ( k  /  N
) ) ) )  ->  ( ( exp `  ( k  /  N
) )  <_  (
1  /  ( 1  -  ( k  /  N ) ) )  <-> 
( 1  -  (
k  /  N ) )  <_  ( 1  /  ( exp `  (
k  /  N ) ) ) ) )
105100, 102, 103, 104syl21anc 1217 . . . . . . . . 9  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  (
( exp `  (
k  /  N ) )  <_  ( 1  /  ( 1  -  ( k  /  N
) ) )  <->  ( 1  -  ( k  /  N ) )  <_ 
( 1  /  ( exp `  ( k  /  N ) ) ) ) )
10699, 105mpbid 210 . . . . . . . 8  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  (
1  -  ( k  /  N ) )  <_  ( 1  / 
( exp `  (
k  /  N ) ) ) )
10792reeflogd 22071 . . . . . . . 8  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  ( exp `  ( log `  (
1  -  ( k  /  N ) ) ) )  =  ( 1  -  ( k  /  N ) ) )
10888recnd 9410 . . . . . . . . 9  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  (
k  /  N )  e.  CC )
109 efneg 13380 . . . . . . . . 9  |-  ( ( k  /  N )  e.  CC  ->  ( exp `  -u ( k  /  N ) )  =  ( 1  /  ( exp `  ( k  /  N ) ) ) )
110108, 109syl 16 . . . . . . . 8  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  ( exp `  -u ( k  /  N ) )  =  ( 1  /  ( exp `  ( k  /  N ) ) ) )
111106, 107, 1103brtr4d 4320 . . . . . . 7  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  ( exp `  ( log `  (
1  -  ( k  /  N ) ) ) )  <_  ( exp `  -u ( k  /  N ) ) )
112 efle 13400 . . . . . . . 8  |-  ( ( ( log `  (
1  -  ( k  /  N ) ) )  e.  RR  /\  -u ( k  /  N
)  e.  RR )  ->  ( ( log `  ( 1  -  (
k  /  N ) ) )  <_  -u (
k  /  N )  <-> 
( exp `  ( log `  ( 1  -  ( k  /  N
) ) ) )  <_  ( exp `  -u (
k  /  N ) ) ) )
11393, 94, 112syl2anc 661 . . . . . . 7  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  (
( log `  (
1  -  ( k  /  N ) ) )  <_  -u ( k  /  N )  <->  ( exp `  ( log `  (
1  -  ( k  /  N ) ) ) )  <_  ( exp `  -u ( k  /  N ) ) ) )
114111, 113mpbird 232 . . . . . 6  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  ( log `  ( 1  -  ( k  /  N
) ) )  <_  -u ( k  /  N
) )
11563, 93, 94, 114fsumle 13260 . . . . 5  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  sum_ k  e.  ( 0 ... ( K  -  1 ) ) ( log `  (
1  -  ( k  /  N ) ) )  <_  sum_ k  e.  ( 0 ... ( K  -  1 ) ) -u ( k  /  N ) )
11663, 108fsumneg 13252 . . . . . 6  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  sum_ k  e.  ( 0 ... ( K  -  1 ) ) -u ( k  /  N )  = 
-u sum_ k  e.  ( 0 ... ( K  -  1 ) ) ( k  /  N
) )
11751nncnd 10336 . . . . . . . . 9  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  N  e.  CC )
11866recnd 9410 . . . . . . . . 9  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  k  e.  CC )
119 nnne0 10352 . . . . . . . . . 10  |-  ( N  e.  NN  ->  N  =/=  0 )
120119ad2antlr 726 . . . . . . . . 9  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  N  =/=  0 )
12163, 117, 118, 120fsumdivc 13251 . . . . . . . 8  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  ( sum_ k  e.  ( 0 ... ( K  - 
1 ) ) k  /  N )  = 
sum_ k  e.  ( 0 ... ( K  -  1 ) ) ( k  /  N
) )
122 arisum2 13321 . . . . . . . . . 10  |-  ( K  e.  NN0  ->  sum_ k  e.  ( 0 ... ( K  -  1 ) ) k  =  ( ( ( K ^
2 )  -  K
)  /  2 ) )
12353, 122syl 16 . . . . . . . . 9  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  sum_ k  e.  ( 0 ... ( K  -  1 ) ) k  =  ( ( ( K ^
2 )  -  K
)  /  2 ) )
124123oveq1d 6104 . . . . . . . 8  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  ( sum_ k  e.  ( 0 ... ( K  - 
1 ) ) k  /  N )  =  ( ( ( ( K ^ 2 )  -  K )  / 
2 )  /  N
) )
125121, 124eqtr3d 2475 . . . . . . 7  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  sum_ k  e.  ( 0 ... ( K  -  1 ) ) ( k  /  N )  =  ( ( ( ( K ^ 2 )  -  K )  /  2
)  /  N ) )
126125negeqd 9602 . . . . . 6  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  -u sum_ k  e.  ( 0 ... ( K  -  1 ) ) ( k  /  N )  =  -u ( ( ( ( K ^ 2 )  -  K )  / 
2 )  /  N
) )
127116, 126eqtrd 2473 . . . . 5  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  sum_ k  e.  ( 0 ... ( K  -  1 ) ) -u ( k  /  N )  = 
-u ( ( ( ( K ^ 2 )  -  K )  /  2 )  /  N ) )
128115, 127breqtrd 4314 . . . 4  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  sum_ k  e.  ( 0 ... ( K  -  1 ) ) ( log `  (
1  -  ( k  /  N ) ) )  <_  -u ( ( ( ( K ^
2 )  -  K
)  /  2 )  /  N ) )
12963, 93fsumrecl 13209 . . . . 5  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  sum_ k  e.  ( 0 ... ( K  -  1 ) ) ( log `  (
1  -  ( k  /  N ) ) )  e.  RR )
13046adantr 465 . . . . 5  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  -u ( ( ( ( K ^
2 )  -  K
)  /  2 )  /  N )  e.  RR )
131 efle 13400 . . . . 5  |-  ( (
sum_ k  e.  ( 0 ... ( K  -  1 ) ) ( log `  (
1  -  ( k  /  N ) ) )  e.  RR  /\  -u ( ( ( ( K ^ 2 )  -  K )  / 
2 )  /  N
)  e.  RR )  ->  ( sum_ k  e.  ( 0 ... ( K  -  1 ) ) ( log `  (
1  -  ( k  /  N ) ) )  <_  -u ( ( ( ( K ^
2 )  -  K
)  /  2 )  /  N )  <->  ( exp ` 
sum_ k  e.  ( 0 ... ( K  -  1 ) ) ( log `  (
1  -  ( k  /  N ) ) ) )  <_  ( exp `  -u ( ( ( ( K ^ 2 )  -  K )  /  2 )  /  N ) ) ) )
132129, 130, 131syl2anc 661 . . . 4  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  ( sum_ k  e.  ( 0 ... ( K  - 
1 ) ) ( log `  ( 1  -  ( k  /  N ) ) )  <_  -u ( ( ( ( K ^ 2 )  -  K )  /  2 )  /  N )  <->  ( exp ` 
sum_ k  e.  ( 0 ... ( K  -  1 ) ) ( log `  (
1  -  ( k  /  N ) ) ) )  <_  ( exp `  -u ( ( ( ( K ^ 2 )  -  K )  /  2 )  /  N ) ) ) )
133128, 132mpbid 210 . . 3  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  ( exp ` 
sum_ k  e.  ( 0 ... ( K  -  1 ) ) ( log `  (
1  -  ( k  /  N ) ) ) )  <_  ( exp `  -u ( ( ( ( K ^ 2 )  -  K )  /  2 )  /  N ) ) )
13462, 133eqbrtrd 4310 . 2  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  ( ( # `
 T )  / 
( # `  S ) )  <_  ( exp `  -u ( ( ( ( K ^ 2 )  -  K )  / 
2 )  /  N
) ) )
13516adantl 466 . 2  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  N  e.  RR )
13650, 134, 135, 40ltlecasei 9480 1  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( ( # `  T
)  /  ( # `  S ) )  <_ 
( exp `  -u (
( ( ( K ^ 2 )  -  K )  /  2
)  /  N ) ) )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 184    /\ wa 369    = wceq 1369   E.wex 1586    e. wcel 1756   {cab 2427    =/= wne 2604    C_ wss 3326   (/)c0 3635   class class class wbr 4290   -->wf 5412   -1-1->wf1 5413   ` cfv 5416  (class class class)co 6089    ~<_ cdom 7306   Fincfn 7308   CCcc 9278   RRcr 9279   0cc0 9280   1c1 9281    x. cmul 9285    < clt 9416    <_ cle 9417    - cmin 9593   -ucneg 9594    / cdiv 9991   NNcn 10320   2c2 10369   NN0cn0 10577   ZZcz 10644   ZZ>=cuz 10859   RR+crp 10989   ...cfz 11435   ^cexp 11863   #chash 12101   sum_csu 13161   expce 13345   logclog 22004
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1591  ax-4 1602  ax-5 1670  ax-6 1708  ax-7 1728  ax-8 1758  ax-9 1760  ax-10 1775  ax-11 1780  ax-12 1792  ax-13 1943  ax-ext 2422  ax-rep 4401  ax-sep 4411  ax-nul 4419  ax-pow 4468  ax-pr 4529  ax-un 6370  ax-inf2 7845  ax-cnex 9336  ax-resscn 9337  ax-1cn 9338  ax-icn 9339  ax-addcl 9340  ax-addrcl 9341  ax-mulcl 9342  ax-mulrcl 9343  ax-mulcom 9344  ax-addass 9345  ax-mulass 9346  ax-distr 9347  ax-i2m1 9348  ax-1ne0 9349  ax-1rid 9350  ax-rnegex 9351  ax-rrecex 9352  ax-cnre 9353  ax-pre-lttri 9354  ax-pre-lttrn 9355  ax-pre-ltadd 9356  ax-pre-mulgt0 9357  ax-pre-sup 9358  ax-addf 9359  ax-mulf 9360
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 966  df-3an 967  df-tru 1372  df-fal 1375  df-ex 1587  df-nf 1590  df-sb 1701  df-eu 2257  df-mo 2258  df-clab 2428  df-cleq 2434  df-clel 2437  df-nfc 2566  df-ne 2606  df-nel 2607  df-ral 2718  df-rex 2719  df-reu 2720  df-rmo 2721  df-rab 2722  df-v 2972  df-sbc 3185  df-csb 3287  df-dif 3329  df-un 3331  df-in 3333  df-ss 3340  df-pss 3342  df-nul 3636  df-if 3790  df-pw 3860  df-sn 3876  df-pr 3878  df-tp 3880  df-op 3882  df-uni 4090  df-int 4127  df-iun 4171  df-iin 4172  df-br 4291  df-opab 4349  df-mpt 4350  df-tr 4384  df-eprel 4630  df-id 4634  df-po 4639  df-so 4640  df-fr 4677  df-se 4678  df-we 4679  df-ord 4720  df-on 4721  df-lim 4722  df-suc 4723  df-xp 4844  df-rel 4845  df-cnv 4846  df-co 4847  df-dm 4848  df-rn 4849  df-res 4850  df-ima 4851  df-iota 5379  df-fun 5418  df-fn 5419  df-f 5420  df-f1 5421  df-fo 5422  df-f1o 5423  df-fv 5424  df-isom 5425  df-riota 6050  df-ov 6092  df-oprab 6093  df-mpt2 6094  df-of 6318  df-om 6475  df-1st 6575  df-2nd 6576  df-supp 6689  df-recs 6830  df-rdg 6864  df-1o 6918  df-2o 6919  df-oadd 6922  df-er 7099  df-map 7214  df-pm 7215  df-ixp 7262  df-en 7309  df-dom 7310  df-sdom 7311  df-fin 7312  df-fsupp 7619  df-fi 7659  df-sup 7689  df-oi 7722  df-card 8107  df-cda 8335  df-pnf 9418  df-mnf 9419  df-xr 9420  df-ltxr 9421  df-le 9422  df-sub 9595  df-neg 9596  df-div 9992  df-nn 10321  df-2 10378  df-3 10379  df-4 10380  df-5 10381  df-6 10382  df-7 10383  df-8 10384  df-9 10385  df-10 10386  df-n0 10578  df-z 10645  df-dec 10754  df-uz 10860  df-q 10952  df-rp 10990  df-xneg 11087  df-xadd 11088  df-xmul 11089  df-ioo 11302  df-ioc 11303  df-ico 11304  df-icc 11305  df-fz 11436  df-fzo 11547  df-fl 11640  df-mod 11707  df-seq 11805  df-exp 11864  df-fac 12050  df-bc 12077  df-hash 12102  df-shft 12554  df-cj 12586  df-re 12587  df-im 12588  df-sqr 12722  df-abs 12723  df-limsup 12947  df-clim 12964  df-rlim 12965  df-sum 13162  df-ef 13351  df-sin 13353  df-cos 13354  df-pi 13356  df-struct 14174  df-ndx 14175  df-slot 14176  df-base 14177  df-sets 14178  df-ress 14179  df-plusg 14249  df-mulr 14250  df-starv 14251  df-sca 14252  df-vsca 14253  df-ip 14254  df-tset 14255  df-ple 14256  df-ds 14258  df-unif 14259  df-hom 14260  df-cco 14261  df-rest 14359  df-topn 14360  df-0g 14378  df-gsum 14379  df-topgen 14380  df-pt 14381  df-prds 14384  df-xrs 14438  df-qtop 14443  df-imas 14444  df-xps 14446  df-mre 14522  df-mrc 14523  df-acs 14525  df-mnd 15413  df-submnd 15463  df-mulg 15546  df-cntz 15833  df-cmn 16277  df-psmet 17807  df-xmet 17808  df-met 17809  df-bl 17810  df-mopn 17811  df-fbas 17812  df-fg 17813  df-cnfld 17817  df-top 18501  df-bases 18503  df-topon 18504  df-topsp 18505  df-cld 18621  df-ntr 18622  df-cls 18623  df-nei 18700  df-lp 18738  df-perf 18739  df-cn 18829  df-cnp 18830  df-haus 18917  df-tx 19133  df-hmeo 19326  df-fil 19417  df-fm 19509  df-flim 19510  df-flf 19511  df-xms 19893  df-ms 19894  df-tms 19895  df-cncf 20452  df-limc 21339  df-dv 21340  df-log 22006
This theorem is referenced by:  birthday  22346
  Copyright terms: Public domain W3C validator