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

Theorem birthdaylem3 23039
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 3804 . . . . . . . . . . . 12  |-  ( { f  |  f : ( 1 ... K
) -1-1-> ( 1 ... N ) }  =/=  (/)  <->  E. f  f : ( 1 ... K )
-1-1-> ( 1 ... N
) )
3 ovex 6309 . . . . . . . . . . . . 13  |-  ( 1 ... N )  e. 
_V
43brdom 7528 . . . . . . . . . . . 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 12387 . . . . . . . . . . . . 13  |-  ( K  e.  NN0  ->  ( # `  ( 1 ... K
) )  =  K )
7 nnnn0 10802 . . . . . . . . . . . . . 14  |-  ( N  e.  NN  ->  N  e.  NN0 )
8 hashfz1 12387 . . . . . . . . . . . . . 14  |-  ( N  e.  NN0  ->  ( # `  ( 1 ... N
) )  =  N )
97, 8syl 16 . . . . . . . . . . . . 13  |-  ( N  e.  NN  ->  ( # `
 ( 1 ... N ) )  =  N )
106, 9breqan12d 4462 . . . . . . . . . . . 12  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( ( # `  (
1 ... K ) )  <_  ( # `  (
1 ... N ) )  <-> 
K  <_  N )
)
11 fzfid 12051 . . . . . . . . . . . . 13  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( 1 ... K
)  e.  Fin )
12 fzfid 12051 . . . . . . . . . . . . 13  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( 1 ... N
)  e.  Fin )
13 hashdom 12415 . . . . . . . . . . . . 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 10804 . . . . . . . . . . . . 13  |-  ( K  e.  NN0  ->  K  e.  RR )
16 nnre 10543 . . . . . . . . . . . . 13  |-  ( N  e.  NN  ->  N  e.  RR )
17 lenlt 9663 . . . . . . . . . . . . 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 2718 . . . . . . . . 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 2520 . . . . . . 7  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  T  =  (/) )
2423fveq2d 5870 . . . . . 6  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  ( # `  T
)  =  ( # `  (/) ) )
25 hash0 12405 . . . . . 6  |-  ( # `  (/) )  =  0
2624, 25syl6eq 2524 . . . . 5  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  ( # `  T
)  =  0 )
2726oveq1d 6299 . . . 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 23037 . . . . . . . . 9  |-  ( T 
C_  S  /\  S  e.  Fin  /\  ( N  e.  NN  ->  S  =/=  (/) ) )
3029simp3i 1007 . . . . . . . 8  |-  ( N  e.  NN  ->  S  =/=  (/) )
3130ad2antlr 726 . . . . . . 7  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  S  =/=  (/) )
3229simp2i 1006 . . . . . . . 8  |-  S  e. 
Fin
33 hashnncl 12404 . . . . . . . 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 10552 . . . . 5  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  ( # `  S
)  e.  CC )
3735nnne0d 10580 . . . . 5  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  ( # `  S
)  =/=  0 )
3836, 37div0d 10319 . . . 4  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  ( 0  /  ( # `  S
) )  =  0 )
3927, 38eqtrd 2508 . . 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 12304 . . . . . . . . . 10  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( K ^ 2 )  e.  RR )
4241, 40resubcld 9987 . . . . . . . . 9  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( ( K ^
2 )  -  K
)  e.  RR )
4342rehalfcld 10785 . . . . . . . 8  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( ( ( K ^ 2 )  -  K )  /  2
)  e.  RR )
44 nndivre 10571 . . . . . . . 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 9986 . . . . . 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 13701 . . . 4  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  ( exp `  -u ( ( ( ( K ^ 2 )  -  K )  / 
2 )  /  N
) )  e.  RR+ )
4948rpge0d 11260 . . 3  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  0  <_  ( exp `  -u (
( ( ( K ^ 2 )  -  K )  /  2
)  /  N ) ) )
5039, 49eqbrtrd 4467 . 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 11116 . . . . . . 7  |-  NN0  =  ( ZZ>= `  0 )
5553, 54syl6eleq 2565 . . . . . 6  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  K  e.  ( ZZ>= `  0 )
)
56 nnz 10886 . . . . . . 7  |-  ( N  e.  NN  ->  N  e.  ZZ )
5756ad2antlr 726 . . . . . 6  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  N  e.  ZZ )
58 elfz5 11680 . . . . . 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 23038 . . . 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 12051 . . . . . 6  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  ( 0 ... ( K  - 
1 ) )  e. 
Fin )
64 elfznn0 11770 . . . . . . . . . . . . 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 10853 . . . . . . . . . . 11  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  k  e.  RR )
6753nn0red 10853 . . . . . . . . . . . . 13  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  K  e.  RR )
68 peano2rem 9886 . . . . . . . . . . . . 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 10551 . . . . . . . . . . 11  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  N  e.  RR )
73 elfzle2 11690 . . . . . . . . . . . 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 10551 . . . . . . . . . . . . 13  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  N  e.  RR )
7667ltm1d 10478 . . . . . . . . . . . . 13  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  ( K  -  1 )  < 
K )
7769, 67, 75, 76, 52ltletrd 9741 . . . . . . . . . . . 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 9739 . . . . . . . . . 10  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  k  <  N )
8071nncnd 10552 . . . . . . . . . . 11  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  N  e.  CC )
8180mulid1d 9613 . . . . . . . . . 10  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  ( N  x.  1 )  =  N )
8279, 81breqtrrd 4473 . . . . . . . . 9  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  k  <  ( N  x.  1 ) )
83 1red 9611 . . . . . . . . . 10  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  1  e.  RR )
8471nngt0d 10579 . . . . . . . . . 10  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  0  <  N )
85 ltdivmul 10417 . . . . . . . . . 10  |-  ( ( k  e.  RR  /\  1  e.  RR  /\  ( N  e.  RR  /\  0  <  N ) )  -> 
( ( k  /  N )  <  1  <->  k  <  ( N  x.  1 ) ) )
8666, 83, 72, 84, 85syl112anc 1232 . . . . . . . . 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 10584 . . . . . . . . 9  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  (
k  /  N )  e.  RR )
89 1re 9595 . . . . . . . . 9  |-  1  e.  RR
90 difrp 11253 . . . . . . . . 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 22764 . . . . . 6  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  ( log `  ( 1  -  ( k  /  N
) ) )  e.  RR )
9488renegcld 9986 . . . . . 6  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  -u (
k  /  N )  e.  RR )
95 elfzle1 11689 . . . . . . . . . . . 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 10411 . . . . . . . . . . 11  |-  ( ( ( k  e.  RR  /\  0  <_  k )  /\  ( N  e.  RR  /\  0  <  N ) )  ->  0  <_  ( k  /  N ) )
9866, 96, 72, 84, 97syl22anc 1229 . . . . . . . . . 10  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  0  <_  ( k  /  N
) )
9988, 98, 87eflegeo 13717 . . . . . . . . 9  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  ( exp `  ( k  /  N ) )  <_ 
( 1  /  (
1  -  ( k  /  N ) ) ) )
10088reefcld 13685 . . . . . . . . . 10  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  ( exp `  ( k  /  N ) )  e.  RR )
101 efgt0 13699 . . . . . . . . . . 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 11262 . . . . . . . . . 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 10433 . . . . . . . . . 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 1227 . . . . . . . . 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 22765 . . . . . . . 8  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  ( exp `  ( log `  (
1  -  ( k  /  N ) ) ) )  =  ( 1  -  ( k  /  N ) ) )
10888recnd 9622 . . . . . . . . 9  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  (
k  /  N )  e.  CC )
109 efneg 13694 . . . . . . . . 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 4477 . . . . . . 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 13714 . . . . . . . 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 13576 . . . . 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 13565 . . . . . 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 10552 . . . . . . . . 9  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  N  e.  CC )
11866recnd 9622 . . . . . . . . 9  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  k  e.  CC )
119 nnne0 10568 . . . . . . . . . 10  |-  ( N  e.  NN  ->  N  =/=  0 )
120119ad2antlr 726 . . . . . . . . 9  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  N  =/=  0 )
12163, 117, 118, 120fsumdivc 13564 . . . . . . . 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 13635 . . . . . . . . . 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 6299 . . . . . . . 8  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  ( sum_ k  e.  ( 0 ... ( K  - 
1 ) ) k  /  N )  =  ( ( ( ( K ^ 2 )  -  K )  / 
2 )  /  N
) )
125121, 124eqtr3d 2510 . . . . . . 7  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  sum_ k  e.  ( 0 ... ( K  -  1 ) ) ( k  /  N )  =  ( ( ( ( K ^ 2 )  -  K )  /  2
)  /  N ) )
126125negeqd 9814 . . . . . 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 2508 . . . . 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 4471 . . . 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 13519 . . . . 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 13714 . . . . 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 4467 . 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 9692 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 1379   E.wex 1596    e. wcel 1767   {cab 2452    =/= wne 2662    C_ wss 3476   (/)c0 3785   class class class wbr 4447   -->wf 5584   -1-1->wf1 5585   ` cfv 5588  (class class class)co 6284    ~<_ cdom 7514   Fincfn 7516   CCcc 9490   RRcr 9491   0cc0 9492   1c1 9493    x. cmul 9497    < clt 9628    <_ cle 9629    - cmin 9805   -ucneg 9806    / cdiv 10206   NNcn 10536   2c2 10585   NN0cn0 10795   ZZcz 10864   ZZ>=cuz 11082   RR+crp 11220   ...cfz 11672   ^cexp 12134   #chash 12373   sum_csu 13471   expce 13659   logclog 22698
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1601  ax-4 1612  ax-5 1680  ax-6 1719  ax-7 1739  ax-8 1769  ax-9 1771  ax-10 1786  ax-11 1791  ax-12 1803  ax-13 1968  ax-ext 2445  ax-rep 4558  ax-sep 4568  ax-nul 4576  ax-pow 4625  ax-pr 4686  ax-un 6576  ax-inf2 8058  ax-cnex 9548  ax-resscn 9549  ax-1cn 9550  ax-icn 9551  ax-addcl 9552  ax-addrcl 9553  ax-mulcl 9554  ax-mulrcl 9555  ax-mulcom 9556  ax-addass 9557  ax-mulass 9558  ax-distr 9559  ax-i2m1 9560  ax-1ne0 9561  ax-1rid 9562  ax-rnegex 9563  ax-rrecex 9564  ax-cnre 9565  ax-pre-lttri 9566  ax-pre-lttrn 9567  ax-pre-ltadd 9568  ax-pre-mulgt0 9569  ax-pre-sup 9570  ax-addf 9571  ax-mulf 9572
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 974  df-3an 975  df-tru 1382  df-fal 1385  df-ex 1597  df-nf 1600  df-sb 1712  df-eu 2279  df-mo 2280  df-clab 2453  df-cleq 2459  df-clel 2462  df-nfc 2617  df-ne 2664  df-nel 2665  df-ral 2819  df-rex 2820  df-reu 2821  df-rmo 2822  df-rab 2823  df-v 3115  df-sbc 3332  df-csb 3436  df-dif 3479  df-un 3481  df-in 3483  df-ss 3490  df-pss 3492  df-nul 3786  df-if 3940  df-pw 4012  df-sn 4028  df-pr 4030  df-tp 4032  df-op 4034  df-uni 4246  df-int 4283  df-iun 4327  df-iin 4328  df-br 4448  df-opab 4506  df-mpt 4507  df-tr 4541  df-eprel 4791  df-id 4795  df-po 4800  df-so 4801  df-fr 4838  df-se 4839  df-we 4840  df-ord 4881  df-on 4882  df-lim 4883  df-suc 4884  df-xp 5005  df-rel 5006  df-cnv 5007  df-co 5008  df-dm 5009  df-rn 5010  df-res 5011  df-ima 5012  df-iota 5551  df-fun 5590  df-fn 5591  df-f 5592  df-f1 5593  df-fo 5594  df-f1o 5595  df-fv 5596  df-isom 5597  df-riota 6245  df-ov 6287  df-oprab 6288  df-mpt2 6289  df-of 6524  df-om 6685  df-1st 6784  df-2nd 6785  df-supp 6902  df-recs 7042  df-rdg 7076  df-1o 7130  df-2o 7131  df-oadd 7134  df-er 7311  df-map 7422  df-pm 7423  df-ixp 7470  df-en 7517  df-dom 7518  df-sdom 7519  df-fin 7520  df-fsupp 7830  df-fi 7871  df-sup 7901  df-oi 7935  df-card 8320  df-cda 8548  df-pnf 9630  df-mnf 9631  df-xr 9632  df-ltxr 9633  df-le 9634  df-sub 9807  df-neg 9808  df-div 10207  df-nn 10537  df-2 10594  df-3 10595  df-4 10596  df-5 10597  df-6 10598  df-7 10599  df-8 10600  df-9 10601  df-10 10602  df-n0 10796  df-z 10865  df-dec 10977  df-uz 11083  df-q 11183  df-rp 11221  df-xneg 11318  df-xadd 11319  df-xmul 11320  df-ioo 11533  df-ioc 11534  df-ico 11535  df-icc 11536  df-fz 11673  df-fzo 11793  df-fl 11897  df-mod 11965  df-seq 12076  df-exp 12135  df-fac 12322  df-bc 12349  df-hash 12374  df-shft 12863  df-cj 12895  df-re 12896  df-im 12897  df-sqrt 13031  df-abs 13032  df-limsup 13257  df-clim 13274  df-rlim 13275  df-sum 13472  df-ef 13665  df-sin 13667  df-cos 13668  df-pi 13670  df-struct 14492  df-ndx 14493  df-slot 14494  df-base 14495  df-sets 14496  df-ress 14497  df-plusg 14568  df-mulr 14569  df-starv 14570  df-sca 14571  df-vsca 14572  df-ip 14573  df-tset 14574  df-ple 14575  df-ds 14577  df-unif 14578  df-hom 14579  df-cco 14580  df-rest 14678  df-topn 14679  df-0g 14697  df-gsum 14698  df-topgen 14699  df-pt 14700  df-prds 14703  df-xrs 14757  df-qtop 14762  df-imas 14763  df-xps 14765  df-mre 14841  df-mrc 14842  df-acs 14844  df-mnd 15732  df-submnd 15787  df-mulg 15870  df-cntz 16160  df-cmn 16606  df-psmet 18210  df-xmet 18211  df-met 18212  df-bl 18213  df-mopn 18214  df-fbas 18215  df-fg 18216  df-cnfld 18220  df-top 19194  df-bases 19196  df-topon 19197  df-topsp 19198  df-cld 19314  df-ntr 19315  df-cls 19316  df-nei 19393  df-lp 19431  df-perf 19432  df-cn 19522  df-cnp 19523  df-haus 19610  df-tx 19826  df-hmeo 20019  df-fil 20110  df-fm 20202  df-flim 20203  df-flf 20204  df-xms 20586  df-ms 20587  df-tms 20588  df-cncf 21145  df-limc 22033  df-dv 22034  df-log 22700
This theorem is referenced by:  birthday  23040
  Copyright terms: Public domain W3C validator