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

Theorem birthdaylem3 24680
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 3954 . . . . . . . . . . . 12  |-  ( { f  |  f : ( 1 ... K
) -1-1-> ( 1 ... N ) }  =/=  (/)  <->  E. f  f : ( 1 ... K )
-1-1-> ( 1 ... N
) )
3 ovex 6678 . . . . . . . . . . . . 13  |-  ( 1 ... N )  e. 
_V
43brdom 7967 . . . . . . . . . . . 12  |-  ( ( 1 ... K )  ~<_  ( 1 ... N
)  <->  E. f  f : ( 1 ... K
) -1-1-> ( 1 ... N ) )
52, 4bitr4i 267 . . . . . . . . . . 11  |-  ( { f  |  f : ( 1 ... K
) -1-1-> ( 1 ... N ) }  =/=  (/)  <->  ( 1 ... K )  ~<_  ( 1 ... N
) )
6 hashfz1 13134 . . . . . . . . . . . . 13  |-  ( K  e.  NN0  ->  ( # `  ( 1 ... K
) )  =  K )
7 nnnn0 11299 . . . . . . . . . . . . . 14  |-  ( N  e.  NN  ->  N  e.  NN0 )
8 hashfz1 13134 . . . . . . . . . . . . . 14  |-  ( N  e.  NN0  ->  ( # `  ( 1 ... N
) )  =  N )
97, 8syl 17 . . . . . . . . . . . . 13  |-  ( N  e.  NN  ->  ( # `
 ( 1 ... N ) )  =  N )
106, 9breqan12d 4669 . . . . . . . . . . . 12  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( ( # `  (
1 ... K ) )  <_  ( # `  (
1 ... N ) )  <-> 
K  <_  N )
)
11 fzfid 12772 . . . . . . . . . . . . 13  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( 1 ... K
)  e.  Fin )
12 fzfid 12772 . . . . . . . . . . . . 13  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( 1 ... N
)  e.  Fin )
13 hashdom 13168 . . . . . . . . . . . . 13  |-  ( ( ( 1 ... K
)  e.  Fin  /\  ( 1 ... N
)  e.  Fin )  ->  ( ( # `  (
1 ... K ) )  <_  ( # `  (
1 ... N ) )  <-> 
( 1 ... K
)  ~<_  ( 1 ... N ) ) )
1411, 12, 13syl2anc 693 . . . . . . . . . . . 12  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( ( # `  (
1 ... K ) )  <_  ( # `  (
1 ... N ) )  <-> 
( 1 ... K
)  ~<_  ( 1 ... N ) ) )
15 nn0re 11301 . . . . . . . . . . . . 13  |-  ( K  e.  NN0  ->  K  e.  RR )
16 nnre 11027 . . . . . . . . . . . . 13  |-  ( N  e.  NN  ->  N  e.  RR )
17 lenlt 10116 . . . . . . . . . . . . 13  |-  ( ( K  e.  RR  /\  N  e.  RR )  ->  ( K  <_  N  <->  -.  N  <  K ) )
1815, 16, 17syl2an 494 . . . . . . . . . . . 12  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( K  <_  N  <->  -.  N  <  K ) )
1910, 14, 183bitr3d 298 . . . . . . . . . . 11  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( ( 1 ... K )  ~<_  ( 1 ... N )  <->  -.  N  <  K ) )
205, 19syl5bb 272 . . . . . . . . . 10  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( { f  |  f : ( 1 ... K ) -1-1-> ( 1 ... N ) }  =/=  (/)  <->  -.  N  <  K ) )
2120necon4abid 2834 . . . . . . . . 9  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( { f  |  f : ( 1 ... K ) -1-1-> ( 1 ... N ) }  =  (/)  <->  N  <  K ) )
2221biimpar 502 . . . . . . . 8  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  { f  |  f : ( 1 ... K )
-1-1-> ( 1 ... N
) }  =  (/) )
231, 22syl5eq 2668 . . . . . . 7  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  T  =  (/) )
2423fveq2d 6195 . . . . . 6  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  ( # `  T
)  =  ( # `  (/) ) )
25 hash0 13158 . . . . . 6  |-  ( # `  (/) )  =  0
2624, 25syl6eq 2672 . . . . 5  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  ( # `  T
)  =  0 )
2726oveq1d 6665 . . . 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 24678 . . . . . . . . 9  |-  ( T 
C_  S  /\  S  e.  Fin  /\  ( N  e.  NN  ->  S  =/=  (/) ) )
3029simp3i 1072 . . . . . . . 8  |-  ( N  e.  NN  ->  S  =/=  (/) )
3130ad2antlr 763 . . . . . . 7  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  S  =/=  (/) )
3229simp2i 1071 . . . . . . . 8  |-  S  e. 
Fin
33 hashnncl 13157 . . . . . . . 8  |-  ( S  e.  Fin  ->  (
( # `  S )  e.  NN  <->  S  =/=  (/) ) )
3432, 33ax-mp 5 . . . . . . 7  |-  ( (
# `  S )  e.  NN  <->  S  =/=  (/) )
3531, 34sylibr 224 . . . . . 6  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  ( # `  S
)  e.  NN )
3635nncnd 11036 . . . . 5  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  ( # `  S
)  e.  CC )
3735nnne0d 11065 . . . . 5  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  ( # `  S
)  =/=  0 )
3836, 37div0d 10800 . . . 4  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  ( 0  /  ( # `  S
) )  =  0 )
3927, 38eqtrd 2656 . . 3  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  ( ( # `
 T )  / 
( # `  S ) )  =  0 )
4015adantr 481 . . . . . . . . . . 11  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  K  e.  RR )
4140resqcld 13035 . . . . . . . . . 10  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( K ^ 2 )  e.  RR )
4241, 40resubcld 10458 . . . . . . . . 9  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( ( K ^
2 )  -  K
)  e.  RR )
4342rehalfcld 11279 . . . . . . . 8  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( ( ( K ^ 2 )  -  K )  /  2
)  e.  RR )
44 nndivre 11056 . . . . . . . 8  |-  ( ( ( ( ( K ^ 2 )  -  K )  /  2
)  e.  RR  /\  N  e.  NN )  ->  ( ( ( ( K ^ 2 )  -  K )  / 
2 )  /  N
)  e.  RR )
4543, 44sylancom 701 . . . . . . 7  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  ( ( ( ( K ^ 2 )  -  K )  / 
2 )  /  N
)  e.  RR )
4645renegcld 10457 . . . . . 6  |-  ( ( K  e.  NN0  /\  N  e.  NN )  -> 
-u ( ( ( ( K ^ 2 )  -  K )  /  2 )  /  N )  e.  RR )
4746adantr 481 . . . . 5  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  -u ( ( ( ( K ^
2 )  -  K
)  /  2 )  /  N )  e.  RR )
4847rpefcld 14835 . . . 4  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  ( exp `  -u ( ( ( ( K ^ 2 )  -  K )  / 
2 )  /  N
) )  e.  RR+ )
4948rpge0d 11876 . . 3  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  0  <_  ( exp `  -u (
( ( ( K ^ 2 )  -  K )  /  2
)  /  N ) ) )
5039, 49eqbrtrd 4675 . 2  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  N  <  K
)  ->  ( ( # `
 T )  / 
( # `  S ) )  <_  ( exp `  -u ( ( ( ( K ^ 2 )  -  K )  / 
2 )  /  N
) ) )
51 simplr 792 . . . 4  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  N  e.  NN )
52 simpr 477 . . . . 5  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  K  <_  N )
53 simpll 790 . . . . . . 7  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  K  e.  NN0 )
54 nn0uz 11722 . . . . . . 7  |-  NN0  =  ( ZZ>= `  0 )
5553, 54syl6eleq 2711 . . . . . 6  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  K  e.  ( ZZ>= `  0 )
)
56 nnz 11399 . . . . . . 7  |-  ( N  e.  NN  ->  N  e.  ZZ )
5756ad2antlr 763 . . . . . 6  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  N  e.  ZZ )
58 elfz5 12334 . . . . . 6  |-  ( ( K  e.  ( ZZ>= ` 
0 )  /\  N  e.  ZZ )  ->  ( K  e.  ( 0 ... N )  <->  K  <_  N ) )
5955, 57, 58syl2anc 693 . . . . 5  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  ( K  e.  ( 0 ... N
)  <->  K  <_  N ) )
6052, 59mpbird 247 . . . 4  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  K  e.  ( 0 ... N
) )
6128, 1birthdaylem2 24679 . . . 4  |-  ( ( N  e.  NN  /\  K  e.  ( 0 ... N ) )  ->  ( ( # `  T )  /  ( # `
 S ) )  =  ( exp `  sum_ k  e.  ( 0 ... ( K  - 
1 ) ) ( log `  ( 1  -  ( k  /  N ) ) ) ) )
6251, 60, 61syl2anc 693 . . 3  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  ( ( # `
 T )  / 
( # `  S ) )  =  ( exp `  sum_ k  e.  ( 0 ... ( K  -  1 ) ) ( log `  (
1  -  ( k  /  N ) ) ) ) )
63 fzfid 12772 . . . . . 6  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  ( 0 ... ( K  - 
1 ) )  e. 
Fin )
64 elfznn0 12433 . . . . . . . . . . . . 13  |-  ( k  e.  ( 0 ... ( K  -  1 ) )  ->  k  e.  NN0 )
6564adantl 482 . . . . . . . . . . . 12  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  k  e.  NN0 )
6665nn0red 11352 . . . . . . . . . . 11  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  k  e.  RR )
6753nn0red 11352 . . . . . . . . . . . . 13  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  K  e.  RR )
68 peano2rem 10348 . . . . . . . . . . . . 13  |-  ( K  e.  RR  ->  ( K  -  1 )  e.  RR )
6967, 68syl 17 . . . . . . . . . . . 12  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  ( K  -  1 )  e.  RR )
7069adantr 481 . . . . . . . . . . 11  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  ( K  -  1 )  e.  RR )
7151adantr 481 . . . . . . . . . . . 12  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  N  e.  NN )
7271nnred 11035 . . . . . . . . . . 11  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  N  e.  RR )
73 elfzle2 12345 . . . . . . . . . . . 12  |-  ( k  e.  ( 0 ... ( K  -  1 ) )  ->  k  <_  ( K  -  1 ) )
7473adantl 482 . . . . . . . . . . 11  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  k  <_  ( K  -  1 ) )
7551nnred 11035 . . . . . . . . . . . . 13  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  N  e.  RR )
7667ltm1d 10956 . . . . . . . . . . . . 13  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  ( K  -  1 )  < 
K )
7769, 67, 75, 76, 52ltletrd 10197 . . . . . . . . . . . 12  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  ( K  -  1 )  < 
N )
7877adantr 481 . . . . . . . . . . 11  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  ( K  -  1 )  <  N )
7966, 70, 72, 74, 78lelttrd 10195 . . . . . . . . . 10  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  k  <  N )
8071nncnd 11036 . . . . . . . . . . 11  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  N  e.  CC )
8180mulid1d 10057 . . . . . . . . . 10  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  ( N  x.  1 )  =  N )
8279, 81breqtrrd 4681 . . . . . . . . 9  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  k  <  ( N  x.  1 ) )
83 1red 10055 . . . . . . . . . 10  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  1  e.  RR )
8471nngt0d 11064 . . . . . . . . . 10  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  0  <  N )
85 ltdivmul 10898 . . . . . . . . . 10  |-  ( ( k  e.  RR  /\  1  e.  RR  /\  ( N  e.  RR  /\  0  <  N ) )  -> 
( ( k  /  N )  <  1  <->  k  <  ( N  x.  1 ) ) )
8666, 83, 72, 84, 85syl112anc 1330 . . . . . . . . 9  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  (
( k  /  N
)  <  1  <->  k  <  ( N  x.  1 ) ) )
8782, 86mpbird 247 . . . . . . . 8  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  (
k  /  N )  <  1 )
8866, 71nndivred 11069 . . . . . . . . 9  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  (
k  /  N )  e.  RR )
89 1re 10039 . . . . . . . . 9  |-  1  e.  RR
90 difrp 11868 . . . . . . . . 9  |-  ( ( ( k  /  N
)  e.  RR  /\  1  e.  RR )  ->  ( ( k  /  N )  <  1  <->  ( 1  -  ( k  /  N ) )  e.  RR+ ) )
9188, 89, 90sylancl 694 . . . . . . . 8  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  (
( k  /  N
)  <  1  <->  ( 1  -  ( k  /  N ) )  e.  RR+ ) )
9287, 91mpbid 222 . . . . . . 7  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  (
1  -  ( k  /  N ) )  e.  RR+ )
9392relogcld 24369 . . . . . 6  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  ( log `  ( 1  -  ( k  /  N
) ) )  e.  RR )
9488renegcld 10457 . . . . . 6  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  -u (
k  /  N )  e.  RR )
95 elfzle1 12344 . . . . . . . . . . . 12  |-  ( k  e.  ( 0 ... ( K  -  1 ) )  ->  0  <_  k )
9695adantl 482 . . . . . . . . . . 11  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  0  <_  k )
97 divge0 10892 . . . . . . . . . . 11  |-  ( ( ( k  e.  RR  /\  0  <_  k )  /\  ( N  e.  RR  /\  0  <  N ) )  ->  0  <_  ( k  /  N ) )
9866, 96, 72, 84, 97syl22anc 1327 . . . . . . . . . 10  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  0  <_  ( k  /  N
) )
9988, 98, 87eflegeo 14851 . . . . . . . . 9  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  ( exp `  ( k  /  N ) )  <_ 
( 1  /  (
1  -  ( k  /  N ) ) ) )
10088reefcld 14818 . . . . . . . . . 10  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  ( exp `  ( k  /  N ) )  e.  RR )
101 efgt0 14833 . . . . . . . . . . 11  |-  ( ( k  /  N )  e.  RR  ->  0  <  ( exp `  (
k  /  N ) ) )
10288, 101syl 17 . . . . . . . . . 10  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  0  <  ( exp `  (
k  /  N ) ) )
10392rpregt0d 11878 . . . . . . . . . 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 10911 . . . . . . . . . 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 1325 . . . . . . . . 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 222 . . . . . . . 8  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  (
1  -  ( k  /  N ) )  <_  ( 1  / 
( exp `  (
k  /  N ) ) ) )
10792reeflogd 24370 . . . . . . . 8  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  ( exp `  ( log `  (
1  -  ( k  /  N ) ) ) )  =  ( 1  -  ( k  /  N ) ) )
10888recnd 10068 . . . . . . . . 9  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  (
k  /  N )  e.  CC )
109 efneg 14828 . . . . . . . . 9  |-  ( ( k  /  N )  e.  CC  ->  ( exp `  -u ( k  /  N ) )  =  ( 1  /  ( exp `  ( k  /  N ) ) ) )
110108, 109syl 17 . . . . . . . 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 4685 . . . . . . 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 14848 . . . . . . . 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 693 . . . . . . 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 247 . . . . . 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 14531 . . . . 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 14519 . . . . . 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 11036 . . . . . . . . 9  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  N  e.  CC )
11866recnd 10068 . . . . . . . . 9  |-  ( ( ( ( K  e. 
NN0  /\  N  e.  NN )  /\  K  <_  N )  /\  k  e.  ( 0 ... ( K  -  1 ) ) )  ->  k  e.  CC )
119 nnne0 11053 . . . . . . . . . 10  |-  ( N  e.  NN  ->  N  =/=  0 )
120119ad2antlr 763 . . . . . . . . 9  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  N  =/=  0 )
12163, 117, 118, 120fsumdivc 14518 . . . . . . . 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 14593 . . . . . . . . . 10  |-  ( K  e.  NN0  ->  sum_ k  e.  ( 0 ... ( K  -  1 ) ) k  =  ( ( ( K ^
2 )  -  K
)  /  2 ) )
12353, 122syl 17 . . . . . . . . 9  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  sum_ k  e.  ( 0 ... ( K  -  1 ) ) k  =  ( ( ( K ^
2 )  -  K
)  /  2 ) )
124123oveq1d 6665 . . . . . . . 8  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  ( sum_ k  e.  ( 0 ... ( K  - 
1 ) ) k  /  N )  =  ( ( ( ( K ^ 2 )  -  K )  / 
2 )  /  N
) )
125121, 124eqtr3d 2658 . . . . . . 7  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  sum_ k  e.  ( 0 ... ( K  -  1 ) ) ( k  /  N )  =  ( ( ( ( K ^ 2 )  -  K )  /  2
)  /  N ) )
126125negeqd 10275 . . . . . 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 2656 . . . . 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 4679 . . . 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 14465 . . . . 5  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  sum_ k  e.  ( 0 ... ( K  -  1 ) ) ( log `  (
1  -  ( k  /  N ) ) )  e.  RR )
13046adantr 481 . . . . 5  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  -u ( ( ( ( K ^
2 )  -  K
)  /  2 )  /  N )  e.  RR )
131 efle 14848 . . . . 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 693 . . . 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 222 . . 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 4675 . 2  |-  ( ( ( K  e.  NN0  /\  N  e.  NN )  /\  K  <_  N
)  ->  ( ( # `
 T )  / 
( # `  S ) )  <_  ( exp `  -u ( ( ( ( K ^ 2 )  -  K )  / 
2 )  /  N
) ) )
13516adantl 482 . 2  |-  ( ( K  e.  NN0  /\  N  e.  NN )  ->  N  e.  RR )
13650, 134, 135, 40ltlecasei 10145 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 196    /\ wa 384    = wceq 1483   E.wex 1704    e. wcel 1990   {cab 2608    =/= wne 2794    C_ wss 3574   (/)c0 3915   class class class wbr 4653   -->wf 5884   -1-1->wf1 5885   ` cfv 5888  (class class class)co 6650    ~<_ cdom 7953   Fincfn 7955   CCcc 9934   RRcr 9935   0cc0 9936   1c1 9937    x. cmul 9941    < clt 10074    <_ cle 10075    - cmin 10266   -ucneg 10267    / cdiv 10684   NNcn 11020   2c2 11070   NN0cn0 11292   ZZcz 11377   ZZ>=cuz 11687   RR+crp 11832   ...cfz 12326   ^cexp 12860   #chash 13117   sum_csu 14416   expce 14792   logclog 24301
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1722  ax-4 1737  ax-5 1839  ax-6 1888  ax-7 1935  ax-8 1992  ax-9 1999  ax-10 2019  ax-11 2034  ax-12 2047  ax-13 2246  ax-ext 2602  ax-rep 4771  ax-sep 4781  ax-nul 4789  ax-pow 4843  ax-pr 4906  ax-un 6949  ax-inf2 8538  ax-cnex 9992  ax-resscn 9993  ax-1cn 9994  ax-icn 9995  ax-addcl 9996  ax-addrcl 9997  ax-mulcl 9998  ax-mulrcl 9999  ax-mulcom 10000  ax-addass 10001  ax-mulass 10002  ax-distr 10003  ax-i2m1 10004  ax-1ne0 10005  ax-1rid 10006  ax-rnegex 10007  ax-rrecex 10008  ax-cnre 10009  ax-pre-lttri 10010  ax-pre-lttrn 10011  ax-pre-ltadd 10012  ax-pre-mulgt0 10013  ax-pre-sup 10014  ax-addf 10015  ax-mulf 10016
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3or 1038  df-3an 1039  df-tru 1486  df-fal 1489  df-ex 1705  df-nf 1710  df-sb 1881  df-eu 2474  df-mo 2475  df-clab 2609  df-cleq 2615  df-clel 2618  df-nfc 2753  df-ne 2795  df-nel 2898  df-ral 2917  df-rex 2918  df-reu 2919  df-rmo 2920  df-rab 2921  df-v 3202  df-sbc 3436  df-csb 3534  df-dif 3577  df-un 3579  df-in 3581  df-ss 3588  df-pss 3590  df-nul 3916  df-if 4087  df-pw 4160  df-sn 4178  df-pr 4180  df-tp 4182  df-op 4184  df-uni 4437  df-int 4476  df-iun 4522  df-iin 4523  df-br 4654  df-opab 4713  df-mpt 4730  df-tr 4753  df-id 5024  df-eprel 5029  df-po 5035  df-so 5036  df-fr 5073  df-se 5074  df-we 5075  df-xp 5120  df-rel 5121  df-cnv 5122  df-co 5123  df-dm 5124  df-rn 5125  df-res 5126  df-ima 5127  df-pred 5680  df-ord 5726  df-on 5727  df-lim 5728  df-suc 5729  df-iota 5851  df-fun 5890  df-fn 5891  df-f 5892  df-f1 5893  df-fo 5894  df-f1o 5895  df-fv 5896  df-isom 5897  df-riota 6611  df-ov 6653  df-oprab 6654  df-mpt2 6655  df-of 6897  df-om 7066  df-1st 7168  df-2nd 7169  df-supp 7296  df-wrecs 7407  df-recs 7468  df-rdg 7506  df-1o 7560  df-2o 7561  df-oadd 7564  df-er 7742  df-map 7859  df-pm 7860  df-ixp 7909  df-en 7956  df-dom 7957  df-sdom 7958  df-fin 7959  df-fsupp 8276  df-fi 8317  df-sup 8348  df-inf 8349  df-oi 8415  df-card 8765  df-cda 8990  df-pnf 10076  df-mnf 10077  df-xr 10078  df-ltxr 10079  df-le 10080  df-sub 10268  df-neg 10269  df-div 10685  df-nn 11021  df-2 11079  df-3 11080  df-4 11081  df-5 11082  df-6 11083  df-7 11084  df-8 11085  df-9 11086  df-n0 11293  df-xnn0 11364  df-z 11378  df-dec 11494  df-uz 11688  df-q 11789  df-rp 11833  df-xneg 11946  df-xadd 11947  df-xmul 11948  df-ioo 12179  df-ioc 12180  df-ico 12181  df-icc 12182  df-fz 12327  df-fzo 12466  df-fl 12593  df-mod 12669  df-seq 12802  df-exp 12861  df-fac 13061  df-bc 13090  df-hash 13118  df-shft 13807  df-cj 13839  df-re 13840  df-im 13841  df-sqrt 13975  df-abs 13976  df-limsup 14202  df-clim 14219  df-rlim 14220  df-sum 14417  df-ef 14798  df-sin 14800  df-cos 14801  df-pi 14803  df-struct 15859  df-ndx 15860  df-slot 15861  df-base 15863  df-sets 15864  df-ress 15865  df-plusg 15954  df-mulr 15955  df-starv 15956  df-sca 15957  df-vsca 15958  df-ip 15959  df-tset 15960  df-ple 15961  df-ds 15964  df-unif 15965  df-hom 15966  df-cco 15967  df-rest 16083  df-topn 16084  df-0g 16102  df-gsum 16103  df-topgen 16104  df-pt 16105  df-prds 16108  df-xrs 16162  df-qtop 16167  df-imas 16168  df-xps 16170  df-mre 16246  df-mrc 16247  df-acs 16249  df-mgm 17242  df-sgrp 17284  df-mnd 17295  df-submnd 17336  df-mulg 17541  df-cntz 17750  df-cmn 18195  df-psmet 19738  df-xmet 19739  df-met 19740  df-bl 19741  df-mopn 19742  df-fbas 19743  df-fg 19744  df-cnfld 19747  df-top 20699  df-topon 20716  df-topsp 20737  df-bases 20750  df-cld 20823  df-ntr 20824  df-cls 20825  df-nei 20902  df-lp 20940  df-perf 20941  df-cn 21031  df-cnp 21032  df-haus 21119  df-tx 21365  df-hmeo 21558  df-fil 21650  df-fm 21742  df-flim 21743  df-flf 21744  df-xms 22125  df-ms 22126  df-tms 22127  df-cncf 22681  df-limc 23630  df-dv 23631  df-log 24303
This theorem is referenced by:  birthday  24681
  Copyright terms: Public domain W3C validator