| Step |
Hyp |
Ref |
Expression |
| 1 |
|
birthday.s |
⊢ 𝑆 = { 𝑓 ∣ 𝑓 : ( 1 ... 𝐾 ) ⟶ ( 1 ... 𝑁 ) } |
| 2 |
|
birthday.t |
⊢ 𝑇 = { 𝑓 ∣ 𝑓 : ( 1 ... 𝐾 ) –1-1→ ( 1 ... 𝑁 ) } |
| 3 |
2
|
fveq2i |
⊢ ( ♯ ‘ 𝑇 ) = ( ♯ ‘ { 𝑓 ∣ 𝑓 : ( 1 ... 𝐾 ) –1-1→ ( 1 ... 𝑁 ) } ) |
| 4 |
|
fzfi |
⊢ ( 1 ... 𝐾 ) ∈ Fin |
| 5 |
|
fzfi |
⊢ ( 1 ... 𝑁 ) ∈ Fin |
| 6 |
|
hashf1 |
⊢ ( ( ( 1 ... 𝐾 ) ∈ Fin ∧ ( 1 ... 𝑁 ) ∈ Fin ) → ( ♯ ‘ { 𝑓 ∣ 𝑓 : ( 1 ... 𝐾 ) –1-1→ ( 1 ... 𝑁 ) } ) = ( ( ! ‘ ( ♯ ‘ ( 1 ... 𝐾 ) ) ) · ( ( ♯ ‘ ( 1 ... 𝑁 ) ) C ( ♯ ‘ ( 1 ... 𝐾 ) ) ) ) ) |
| 7 |
4 5 6
|
mp2an |
⊢ ( ♯ ‘ { 𝑓 ∣ 𝑓 : ( 1 ... 𝐾 ) –1-1→ ( 1 ... 𝑁 ) } ) = ( ( ! ‘ ( ♯ ‘ ( 1 ... 𝐾 ) ) ) · ( ( ♯ ‘ ( 1 ... 𝑁 ) ) C ( ♯ ‘ ( 1 ... 𝐾 ) ) ) ) |
| 8 |
3 7
|
eqtri |
⊢ ( ♯ ‘ 𝑇 ) = ( ( ! ‘ ( ♯ ‘ ( 1 ... 𝐾 ) ) ) · ( ( ♯ ‘ ( 1 ... 𝑁 ) ) C ( ♯ ‘ ( 1 ... 𝐾 ) ) ) ) |
| 9 |
|
elfznn0 |
⊢ ( 𝐾 ∈ ( 0 ... 𝑁 ) → 𝐾 ∈ ℕ0 ) |
| 10 |
9
|
adantl |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → 𝐾 ∈ ℕ0 ) |
| 11 |
|
hashfz1 |
⊢ ( 𝐾 ∈ ℕ0 → ( ♯ ‘ ( 1 ... 𝐾 ) ) = 𝐾 ) |
| 12 |
10 11
|
syl |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ♯ ‘ ( 1 ... 𝐾 ) ) = 𝐾 ) |
| 13 |
12
|
fveq2d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ! ‘ ( ♯ ‘ ( 1 ... 𝐾 ) ) ) = ( ! ‘ 𝐾 ) ) |
| 14 |
|
nnnn0 |
⊢ ( 𝑁 ∈ ℕ → 𝑁 ∈ ℕ0 ) |
| 15 |
|
hashfz1 |
⊢ ( 𝑁 ∈ ℕ0 → ( ♯ ‘ ( 1 ... 𝑁 ) ) = 𝑁 ) |
| 16 |
14 15
|
syl |
⊢ ( 𝑁 ∈ ℕ → ( ♯ ‘ ( 1 ... 𝑁 ) ) = 𝑁 ) |
| 17 |
16
|
adantr |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ♯ ‘ ( 1 ... 𝑁 ) ) = 𝑁 ) |
| 18 |
17 12
|
oveq12d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ( ♯ ‘ ( 1 ... 𝑁 ) ) C ( ♯ ‘ ( 1 ... 𝐾 ) ) ) = ( 𝑁 C 𝐾 ) ) |
| 19 |
13 18
|
oveq12d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ( ! ‘ ( ♯ ‘ ( 1 ... 𝐾 ) ) ) · ( ( ♯ ‘ ( 1 ... 𝑁 ) ) C ( ♯ ‘ ( 1 ... 𝐾 ) ) ) ) = ( ( ! ‘ 𝐾 ) · ( 𝑁 C 𝐾 ) ) ) |
| 20 |
8 19
|
eqtrid |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ♯ ‘ 𝑇 ) = ( ( ! ‘ 𝐾 ) · ( 𝑁 C 𝐾 ) ) ) |
| 21 |
14
|
adantr |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → 𝑁 ∈ ℕ0 ) |
| 22 |
21
|
faccld |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ! ‘ 𝑁 ) ∈ ℕ ) |
| 23 |
22
|
nncnd |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ! ‘ 𝑁 ) ∈ ℂ ) |
| 24 |
|
fznn0sub |
⊢ ( 𝐾 ∈ ( 0 ... 𝑁 ) → ( 𝑁 − 𝐾 ) ∈ ℕ0 ) |
| 25 |
24
|
adantl |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( 𝑁 − 𝐾 ) ∈ ℕ0 ) |
| 26 |
25
|
faccld |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ! ‘ ( 𝑁 − 𝐾 ) ) ∈ ℕ ) |
| 27 |
26
|
nncnd |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ! ‘ ( 𝑁 − 𝐾 ) ) ∈ ℂ ) |
| 28 |
26
|
nnne0d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ! ‘ ( 𝑁 − 𝐾 ) ) ≠ 0 ) |
| 29 |
23 27 28
|
divcld |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ( ! ‘ 𝑁 ) / ( ! ‘ ( 𝑁 − 𝐾 ) ) ) ∈ ℂ ) |
| 30 |
10
|
faccld |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ! ‘ 𝐾 ) ∈ ℕ ) |
| 31 |
30
|
nncnd |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ! ‘ 𝐾 ) ∈ ℂ ) |
| 32 |
30
|
nnne0d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ! ‘ 𝐾 ) ≠ 0 ) |
| 33 |
29 31 32
|
divcan2d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ( ! ‘ 𝐾 ) · ( ( ( ! ‘ 𝑁 ) / ( ! ‘ ( 𝑁 − 𝐾 ) ) ) / ( ! ‘ 𝐾 ) ) ) = ( ( ! ‘ 𝑁 ) / ( ! ‘ ( 𝑁 − 𝐾 ) ) ) ) |
| 34 |
|
bcval2 |
⊢ ( 𝐾 ∈ ( 0 ... 𝑁 ) → ( 𝑁 C 𝐾 ) = ( ( ! ‘ 𝑁 ) / ( ( ! ‘ ( 𝑁 − 𝐾 ) ) · ( ! ‘ 𝐾 ) ) ) ) |
| 35 |
34
|
adantl |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( 𝑁 C 𝐾 ) = ( ( ! ‘ 𝑁 ) / ( ( ! ‘ ( 𝑁 − 𝐾 ) ) · ( ! ‘ 𝐾 ) ) ) ) |
| 36 |
23 27 31 28 32
|
divdiv1d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ( ( ! ‘ 𝑁 ) / ( ! ‘ ( 𝑁 − 𝐾 ) ) ) / ( ! ‘ 𝐾 ) ) = ( ( ! ‘ 𝑁 ) / ( ( ! ‘ ( 𝑁 − 𝐾 ) ) · ( ! ‘ 𝐾 ) ) ) ) |
| 37 |
35 36
|
eqtr4d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( 𝑁 C 𝐾 ) = ( ( ( ! ‘ 𝑁 ) / ( ! ‘ ( 𝑁 − 𝐾 ) ) ) / ( ! ‘ 𝐾 ) ) ) |
| 38 |
37
|
oveq2d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ( ! ‘ 𝐾 ) · ( 𝑁 C 𝐾 ) ) = ( ( ! ‘ 𝐾 ) · ( ( ( ! ‘ 𝑁 ) / ( ! ‘ ( 𝑁 − 𝐾 ) ) ) / ( ! ‘ 𝐾 ) ) ) ) |
| 39 |
|
fzfid |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( 1 ... 𝑁 ) ∈ Fin ) |
| 40 |
|
elfznn |
⊢ ( 𝑛 ∈ ( 1 ... 𝑁 ) → 𝑛 ∈ ℕ ) |
| 41 |
40
|
adantl |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ 𝑛 ∈ ( 1 ... 𝑁 ) ) → 𝑛 ∈ ℕ ) |
| 42 |
|
nnrp |
⊢ ( 𝑛 ∈ ℕ → 𝑛 ∈ ℝ+ ) |
| 43 |
42
|
relogcld |
⊢ ( 𝑛 ∈ ℕ → ( log ‘ 𝑛 ) ∈ ℝ ) |
| 44 |
43
|
recnd |
⊢ ( 𝑛 ∈ ℕ → ( log ‘ 𝑛 ) ∈ ℂ ) |
| 45 |
41 44
|
syl |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ 𝑛 ∈ ( 1 ... 𝑁 ) ) → ( log ‘ 𝑛 ) ∈ ℂ ) |
| 46 |
39 45
|
fsumcl |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → Σ 𝑛 ∈ ( 1 ... 𝑁 ) ( log ‘ 𝑛 ) ∈ ℂ ) |
| 47 |
|
fzfid |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( 1 ... ( 𝑁 − 𝐾 ) ) ∈ Fin ) |
| 48 |
|
elfznn |
⊢ ( 𝑛 ∈ ( 1 ... ( 𝑁 − 𝐾 ) ) → 𝑛 ∈ ℕ ) |
| 49 |
48
|
adantl |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ 𝑛 ∈ ( 1 ... ( 𝑁 − 𝐾 ) ) ) → 𝑛 ∈ ℕ ) |
| 50 |
49 44
|
syl |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ 𝑛 ∈ ( 1 ... ( 𝑁 − 𝐾 ) ) ) → ( log ‘ 𝑛 ) ∈ ℂ ) |
| 51 |
47 50
|
fsumcl |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → Σ 𝑛 ∈ ( 1 ... ( 𝑁 − 𝐾 ) ) ( log ‘ 𝑛 ) ∈ ℂ ) |
| 52 |
|
efsub |
⊢ ( ( Σ 𝑛 ∈ ( 1 ... 𝑁 ) ( log ‘ 𝑛 ) ∈ ℂ ∧ Σ 𝑛 ∈ ( 1 ... ( 𝑁 − 𝐾 ) ) ( log ‘ 𝑛 ) ∈ ℂ ) → ( exp ‘ ( Σ 𝑛 ∈ ( 1 ... 𝑁 ) ( log ‘ 𝑛 ) − Σ 𝑛 ∈ ( 1 ... ( 𝑁 − 𝐾 ) ) ( log ‘ 𝑛 ) ) ) = ( ( exp ‘ Σ 𝑛 ∈ ( 1 ... 𝑁 ) ( log ‘ 𝑛 ) ) / ( exp ‘ Σ 𝑛 ∈ ( 1 ... ( 𝑁 − 𝐾 ) ) ( log ‘ 𝑛 ) ) ) ) |
| 53 |
46 51 52
|
syl2anc |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( exp ‘ ( Σ 𝑛 ∈ ( 1 ... 𝑁 ) ( log ‘ 𝑛 ) − Σ 𝑛 ∈ ( 1 ... ( 𝑁 − 𝐾 ) ) ( log ‘ 𝑛 ) ) ) = ( ( exp ‘ Σ 𝑛 ∈ ( 1 ... 𝑁 ) ( log ‘ 𝑛 ) ) / ( exp ‘ Σ 𝑛 ∈ ( 1 ... ( 𝑁 − 𝐾 ) ) ( log ‘ 𝑛 ) ) ) ) |
| 54 |
25
|
nn0red |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( 𝑁 − 𝐾 ) ∈ ℝ ) |
| 55 |
54
|
ltp1d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( 𝑁 − 𝐾 ) < ( ( 𝑁 − 𝐾 ) + 1 ) ) |
| 56 |
|
fzdisj |
⊢ ( ( 𝑁 − 𝐾 ) < ( ( 𝑁 − 𝐾 ) + 1 ) → ( ( 1 ... ( 𝑁 − 𝐾 ) ) ∩ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ) = ∅ ) |
| 57 |
55 56
|
syl |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ( 1 ... ( 𝑁 − 𝐾 ) ) ∩ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ) = ∅ ) |
| 58 |
|
fznn0sub2 |
⊢ ( 𝐾 ∈ ( 0 ... 𝑁 ) → ( 𝑁 − 𝐾 ) ∈ ( 0 ... 𝑁 ) ) |
| 59 |
58
|
adantl |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( 𝑁 − 𝐾 ) ∈ ( 0 ... 𝑁 ) ) |
| 60 |
|
elfzle2 |
⊢ ( ( 𝑁 − 𝐾 ) ∈ ( 0 ... 𝑁 ) → ( 𝑁 − 𝐾 ) ≤ 𝑁 ) |
| 61 |
59 60
|
syl |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( 𝑁 − 𝐾 ) ≤ 𝑁 ) |
| 62 |
61
|
adantr |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ ( 𝑁 − 𝐾 ) ∈ ℕ ) → ( 𝑁 − 𝐾 ) ≤ 𝑁 ) |
| 63 |
|
simpr |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ ( 𝑁 − 𝐾 ) ∈ ℕ ) → ( 𝑁 − 𝐾 ) ∈ ℕ ) |
| 64 |
|
nnuz |
⊢ ℕ = ( ℤ≥ ‘ 1 ) |
| 65 |
63 64
|
eleqtrdi |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ ( 𝑁 − 𝐾 ) ∈ ℕ ) → ( 𝑁 − 𝐾 ) ∈ ( ℤ≥ ‘ 1 ) ) |
| 66 |
|
nnz |
⊢ ( 𝑁 ∈ ℕ → 𝑁 ∈ ℤ ) |
| 67 |
66
|
ad2antrr |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ ( 𝑁 − 𝐾 ) ∈ ℕ ) → 𝑁 ∈ ℤ ) |
| 68 |
|
elfz5 |
⊢ ( ( ( 𝑁 − 𝐾 ) ∈ ( ℤ≥ ‘ 1 ) ∧ 𝑁 ∈ ℤ ) → ( ( 𝑁 − 𝐾 ) ∈ ( 1 ... 𝑁 ) ↔ ( 𝑁 − 𝐾 ) ≤ 𝑁 ) ) |
| 69 |
65 67 68
|
syl2anc |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ ( 𝑁 − 𝐾 ) ∈ ℕ ) → ( ( 𝑁 − 𝐾 ) ∈ ( 1 ... 𝑁 ) ↔ ( 𝑁 − 𝐾 ) ≤ 𝑁 ) ) |
| 70 |
62 69
|
mpbird |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ ( 𝑁 − 𝐾 ) ∈ ℕ ) → ( 𝑁 − 𝐾 ) ∈ ( 1 ... 𝑁 ) ) |
| 71 |
|
fzsplit |
⊢ ( ( 𝑁 − 𝐾 ) ∈ ( 1 ... 𝑁 ) → ( 1 ... 𝑁 ) = ( ( 1 ... ( 𝑁 − 𝐾 ) ) ∪ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ) ) |
| 72 |
70 71
|
syl |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ ( 𝑁 − 𝐾 ) ∈ ℕ ) → ( 1 ... 𝑁 ) = ( ( 1 ... ( 𝑁 − 𝐾 ) ) ∪ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ) ) |
| 73 |
|
simpr |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ ( 𝑁 − 𝐾 ) = 0 ) → ( 𝑁 − 𝐾 ) = 0 ) |
| 74 |
73
|
oveq2d |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ ( 𝑁 − 𝐾 ) = 0 ) → ( 1 ... ( 𝑁 − 𝐾 ) ) = ( 1 ... 0 ) ) |
| 75 |
|
fz10 |
⊢ ( 1 ... 0 ) = ∅ |
| 76 |
74 75
|
eqtrdi |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ ( 𝑁 − 𝐾 ) = 0 ) → ( 1 ... ( 𝑁 − 𝐾 ) ) = ∅ ) |
| 77 |
76
|
uneq1d |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ ( 𝑁 − 𝐾 ) = 0 ) → ( ( 1 ... ( 𝑁 − 𝐾 ) ) ∪ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ) = ( ∅ ∪ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ) ) |
| 78 |
|
uncom |
⊢ ( ∅ ∪ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ) = ( ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ∪ ∅ ) |
| 79 |
|
un0 |
⊢ ( ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ∪ ∅ ) = ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) |
| 80 |
78 79
|
eqtri |
⊢ ( ∅ ∪ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ) = ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) |
| 81 |
73
|
oveq1d |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ ( 𝑁 − 𝐾 ) = 0 ) → ( ( 𝑁 − 𝐾 ) + 1 ) = ( 0 + 1 ) ) |
| 82 |
|
1e0p1 |
⊢ 1 = ( 0 + 1 ) |
| 83 |
81 82
|
eqtr4di |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ ( 𝑁 − 𝐾 ) = 0 ) → ( ( 𝑁 − 𝐾 ) + 1 ) = 1 ) |
| 84 |
83
|
oveq1d |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ ( 𝑁 − 𝐾 ) = 0 ) → ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) = ( 1 ... 𝑁 ) ) |
| 85 |
80 84
|
eqtrid |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ ( 𝑁 − 𝐾 ) = 0 ) → ( ∅ ∪ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ) = ( 1 ... 𝑁 ) ) |
| 86 |
77 85
|
eqtr2d |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ ( 𝑁 − 𝐾 ) = 0 ) → ( 1 ... 𝑁 ) = ( ( 1 ... ( 𝑁 − 𝐾 ) ) ∪ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ) ) |
| 87 |
|
elnn0 |
⊢ ( ( 𝑁 − 𝐾 ) ∈ ℕ0 ↔ ( ( 𝑁 − 𝐾 ) ∈ ℕ ∨ ( 𝑁 − 𝐾 ) = 0 ) ) |
| 88 |
25 87
|
sylib |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ( 𝑁 − 𝐾 ) ∈ ℕ ∨ ( 𝑁 − 𝐾 ) = 0 ) ) |
| 89 |
72 86 88
|
mpjaodan |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( 1 ... 𝑁 ) = ( ( 1 ... ( 𝑁 − 𝐾 ) ) ∪ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ) ) |
| 90 |
57 89 39 45
|
fsumsplit |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → Σ 𝑛 ∈ ( 1 ... 𝑁 ) ( log ‘ 𝑛 ) = ( Σ 𝑛 ∈ ( 1 ... ( 𝑁 − 𝐾 ) ) ( log ‘ 𝑛 ) + Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( log ‘ 𝑛 ) ) ) |
| 91 |
90
|
oveq1d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( Σ 𝑛 ∈ ( 1 ... 𝑁 ) ( log ‘ 𝑛 ) − Σ 𝑛 ∈ ( 1 ... ( 𝑁 − 𝐾 ) ) ( log ‘ 𝑛 ) ) = ( ( Σ 𝑛 ∈ ( 1 ... ( 𝑁 − 𝐾 ) ) ( log ‘ 𝑛 ) + Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( log ‘ 𝑛 ) ) − Σ 𝑛 ∈ ( 1 ... ( 𝑁 − 𝐾 ) ) ( log ‘ 𝑛 ) ) ) |
| 92 |
|
fzfid |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ∈ Fin ) |
| 93 |
|
nn0p1nn |
⊢ ( ( 𝑁 − 𝐾 ) ∈ ℕ0 → ( ( 𝑁 − 𝐾 ) + 1 ) ∈ ℕ ) |
| 94 |
25 93
|
syl |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ( 𝑁 − 𝐾 ) + 1 ) ∈ ℕ ) |
| 95 |
|
elfzuz |
⊢ ( 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) → 𝑛 ∈ ( ℤ≥ ‘ ( ( 𝑁 − 𝐾 ) + 1 ) ) ) |
| 96 |
|
eluznn |
⊢ ( ( ( ( 𝑁 − 𝐾 ) + 1 ) ∈ ℕ ∧ 𝑛 ∈ ( ℤ≥ ‘ ( ( 𝑁 − 𝐾 ) + 1 ) ) ) → 𝑛 ∈ ℕ ) |
| 97 |
94 95 96
|
syl2an |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ) → 𝑛 ∈ ℕ ) |
| 98 |
97 44
|
syl |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ) → ( log ‘ 𝑛 ) ∈ ℂ ) |
| 99 |
92 98
|
fsumcl |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( log ‘ 𝑛 ) ∈ ℂ ) |
| 100 |
51 99
|
pncan2d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ( Σ 𝑛 ∈ ( 1 ... ( 𝑁 − 𝐾 ) ) ( log ‘ 𝑛 ) + Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( log ‘ 𝑛 ) ) − Σ 𝑛 ∈ ( 1 ... ( 𝑁 − 𝐾 ) ) ( log ‘ 𝑛 ) ) = Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( log ‘ 𝑛 ) ) |
| 101 |
91 100
|
eqtr2d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( log ‘ 𝑛 ) = ( Σ 𝑛 ∈ ( 1 ... 𝑁 ) ( log ‘ 𝑛 ) − Σ 𝑛 ∈ ( 1 ... ( 𝑁 − 𝐾 ) ) ( log ‘ 𝑛 ) ) ) |
| 102 |
101
|
fveq2d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( exp ‘ Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( log ‘ 𝑛 ) ) = ( exp ‘ ( Σ 𝑛 ∈ ( 1 ... 𝑁 ) ( log ‘ 𝑛 ) − Σ 𝑛 ∈ ( 1 ... ( 𝑁 − 𝐾 ) ) ( log ‘ 𝑛 ) ) ) ) |
| 103 |
22
|
nnne0d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ! ‘ 𝑁 ) ≠ 0 ) |
| 104 |
|
eflog |
⊢ ( ( ( ! ‘ 𝑁 ) ∈ ℂ ∧ ( ! ‘ 𝑁 ) ≠ 0 ) → ( exp ‘ ( log ‘ ( ! ‘ 𝑁 ) ) ) = ( ! ‘ 𝑁 ) ) |
| 105 |
23 103 104
|
syl2anc |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( exp ‘ ( log ‘ ( ! ‘ 𝑁 ) ) ) = ( ! ‘ 𝑁 ) ) |
| 106 |
|
logfac |
⊢ ( 𝑁 ∈ ℕ0 → ( log ‘ ( ! ‘ 𝑁 ) ) = Σ 𝑛 ∈ ( 1 ... 𝑁 ) ( log ‘ 𝑛 ) ) |
| 107 |
21 106
|
syl |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( log ‘ ( ! ‘ 𝑁 ) ) = Σ 𝑛 ∈ ( 1 ... 𝑁 ) ( log ‘ 𝑛 ) ) |
| 108 |
107
|
fveq2d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( exp ‘ ( log ‘ ( ! ‘ 𝑁 ) ) ) = ( exp ‘ Σ 𝑛 ∈ ( 1 ... 𝑁 ) ( log ‘ 𝑛 ) ) ) |
| 109 |
105 108
|
eqtr3d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ! ‘ 𝑁 ) = ( exp ‘ Σ 𝑛 ∈ ( 1 ... 𝑁 ) ( log ‘ 𝑛 ) ) ) |
| 110 |
|
eflog |
⊢ ( ( ( ! ‘ ( 𝑁 − 𝐾 ) ) ∈ ℂ ∧ ( ! ‘ ( 𝑁 − 𝐾 ) ) ≠ 0 ) → ( exp ‘ ( log ‘ ( ! ‘ ( 𝑁 − 𝐾 ) ) ) ) = ( ! ‘ ( 𝑁 − 𝐾 ) ) ) |
| 111 |
27 28 110
|
syl2anc |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( exp ‘ ( log ‘ ( ! ‘ ( 𝑁 − 𝐾 ) ) ) ) = ( ! ‘ ( 𝑁 − 𝐾 ) ) ) |
| 112 |
|
logfac |
⊢ ( ( 𝑁 − 𝐾 ) ∈ ℕ0 → ( log ‘ ( ! ‘ ( 𝑁 − 𝐾 ) ) ) = Σ 𝑛 ∈ ( 1 ... ( 𝑁 − 𝐾 ) ) ( log ‘ 𝑛 ) ) |
| 113 |
25 112
|
syl |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( log ‘ ( ! ‘ ( 𝑁 − 𝐾 ) ) ) = Σ 𝑛 ∈ ( 1 ... ( 𝑁 − 𝐾 ) ) ( log ‘ 𝑛 ) ) |
| 114 |
113
|
fveq2d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( exp ‘ ( log ‘ ( ! ‘ ( 𝑁 − 𝐾 ) ) ) ) = ( exp ‘ Σ 𝑛 ∈ ( 1 ... ( 𝑁 − 𝐾 ) ) ( log ‘ 𝑛 ) ) ) |
| 115 |
111 114
|
eqtr3d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ! ‘ ( 𝑁 − 𝐾 ) ) = ( exp ‘ Σ 𝑛 ∈ ( 1 ... ( 𝑁 − 𝐾 ) ) ( log ‘ 𝑛 ) ) ) |
| 116 |
109 115
|
oveq12d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ( ! ‘ 𝑁 ) / ( ! ‘ ( 𝑁 − 𝐾 ) ) ) = ( ( exp ‘ Σ 𝑛 ∈ ( 1 ... 𝑁 ) ( log ‘ 𝑛 ) ) / ( exp ‘ Σ 𝑛 ∈ ( 1 ... ( 𝑁 − 𝐾 ) ) ( log ‘ 𝑛 ) ) ) ) |
| 117 |
53 102 116
|
3eqtr4d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( exp ‘ Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( log ‘ 𝑛 ) ) = ( ( ! ‘ 𝑁 ) / ( ! ‘ ( 𝑁 − 𝐾 ) ) ) ) |
| 118 |
33 38 117
|
3eqtr4d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ( ! ‘ 𝐾 ) · ( 𝑁 C 𝐾 ) ) = ( exp ‘ Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( log ‘ 𝑛 ) ) ) |
| 119 |
20 118
|
eqtrd |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ♯ ‘ 𝑇 ) = ( exp ‘ Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( log ‘ 𝑛 ) ) ) |
| 120 |
|
mapvalg |
⊢ ( ( ( 1 ... 𝑁 ) ∈ Fin ∧ ( 1 ... 𝐾 ) ∈ Fin ) → ( ( 1 ... 𝑁 ) ↑m ( 1 ... 𝐾 ) ) = { 𝑓 ∣ 𝑓 : ( 1 ... 𝐾 ) ⟶ ( 1 ... 𝑁 ) } ) |
| 121 |
5 4 120
|
mp2an |
⊢ ( ( 1 ... 𝑁 ) ↑m ( 1 ... 𝐾 ) ) = { 𝑓 ∣ 𝑓 : ( 1 ... 𝐾 ) ⟶ ( 1 ... 𝑁 ) } |
| 122 |
1 121
|
eqtr4i |
⊢ 𝑆 = ( ( 1 ... 𝑁 ) ↑m ( 1 ... 𝐾 ) ) |
| 123 |
122
|
fveq2i |
⊢ ( ♯ ‘ 𝑆 ) = ( ♯ ‘ ( ( 1 ... 𝑁 ) ↑m ( 1 ... 𝐾 ) ) ) |
| 124 |
|
hashmap |
⊢ ( ( ( 1 ... 𝑁 ) ∈ Fin ∧ ( 1 ... 𝐾 ) ∈ Fin ) → ( ♯ ‘ ( ( 1 ... 𝑁 ) ↑m ( 1 ... 𝐾 ) ) ) = ( ( ♯ ‘ ( 1 ... 𝑁 ) ) ↑ ( ♯ ‘ ( 1 ... 𝐾 ) ) ) ) |
| 125 |
5 4 124
|
mp2an |
⊢ ( ♯ ‘ ( ( 1 ... 𝑁 ) ↑m ( 1 ... 𝐾 ) ) ) = ( ( ♯ ‘ ( 1 ... 𝑁 ) ) ↑ ( ♯ ‘ ( 1 ... 𝐾 ) ) ) |
| 126 |
123 125
|
eqtri |
⊢ ( ♯ ‘ 𝑆 ) = ( ( ♯ ‘ ( 1 ... 𝑁 ) ) ↑ ( ♯ ‘ ( 1 ... 𝐾 ) ) ) |
| 127 |
17 12
|
oveq12d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ( ♯ ‘ ( 1 ... 𝑁 ) ) ↑ ( ♯ ‘ ( 1 ... 𝐾 ) ) ) = ( 𝑁 ↑ 𝐾 ) ) |
| 128 |
126 127
|
eqtrid |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ♯ ‘ 𝑆 ) = ( 𝑁 ↑ 𝐾 ) ) |
| 129 |
|
nncn |
⊢ ( 𝑁 ∈ ℕ → 𝑁 ∈ ℂ ) |
| 130 |
129
|
adantr |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → 𝑁 ∈ ℂ ) |
| 131 |
|
nnne0 |
⊢ ( 𝑁 ∈ ℕ → 𝑁 ≠ 0 ) |
| 132 |
131
|
adantr |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → 𝑁 ≠ 0 ) |
| 133 |
|
elfzelz |
⊢ ( 𝐾 ∈ ( 0 ... 𝑁 ) → 𝐾 ∈ ℤ ) |
| 134 |
133
|
adantl |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → 𝐾 ∈ ℤ ) |
| 135 |
|
explog |
⊢ ( ( 𝑁 ∈ ℂ ∧ 𝑁 ≠ 0 ∧ 𝐾 ∈ ℤ ) → ( 𝑁 ↑ 𝐾 ) = ( exp ‘ ( 𝐾 · ( log ‘ 𝑁 ) ) ) ) |
| 136 |
130 132 134 135
|
syl3anc |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( 𝑁 ↑ 𝐾 ) = ( exp ‘ ( 𝐾 · ( log ‘ 𝑁 ) ) ) ) |
| 137 |
128 136
|
eqtrd |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ♯ ‘ 𝑆 ) = ( exp ‘ ( 𝐾 · ( log ‘ 𝑁 ) ) ) ) |
| 138 |
119 137
|
oveq12d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ( ♯ ‘ 𝑇 ) / ( ♯ ‘ 𝑆 ) ) = ( ( exp ‘ Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( log ‘ 𝑛 ) ) / ( exp ‘ ( 𝐾 · ( log ‘ 𝑁 ) ) ) ) ) |
| 139 |
10
|
nn0cnd |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → 𝐾 ∈ ℂ ) |
| 140 |
|
nnrp |
⊢ ( 𝑁 ∈ ℕ → 𝑁 ∈ ℝ+ ) |
| 141 |
140
|
adantr |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → 𝑁 ∈ ℝ+ ) |
| 142 |
141
|
relogcld |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( log ‘ 𝑁 ) ∈ ℝ ) |
| 143 |
142
|
recnd |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( log ‘ 𝑁 ) ∈ ℂ ) |
| 144 |
139 143
|
mulcld |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( 𝐾 · ( log ‘ 𝑁 ) ) ∈ ℂ ) |
| 145 |
|
efsub |
⊢ ( ( Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( log ‘ 𝑛 ) ∈ ℂ ∧ ( 𝐾 · ( log ‘ 𝑁 ) ) ∈ ℂ ) → ( exp ‘ ( Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( log ‘ 𝑛 ) − ( 𝐾 · ( log ‘ 𝑁 ) ) ) ) = ( ( exp ‘ Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( log ‘ 𝑛 ) ) / ( exp ‘ ( 𝐾 · ( log ‘ 𝑁 ) ) ) ) ) |
| 146 |
99 144 145
|
syl2anc |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( exp ‘ ( Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( log ‘ 𝑛 ) − ( 𝐾 · ( log ‘ 𝑁 ) ) ) ) = ( ( exp ‘ Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( log ‘ 𝑛 ) ) / ( exp ‘ ( 𝐾 · ( log ‘ 𝑁 ) ) ) ) ) |
| 147 |
|
relogdiv |
⊢ ( ( 𝑛 ∈ ℝ+ ∧ 𝑁 ∈ ℝ+ ) → ( log ‘ ( 𝑛 / 𝑁 ) ) = ( ( log ‘ 𝑛 ) − ( log ‘ 𝑁 ) ) ) |
| 148 |
42 141 147
|
syl2anr |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ 𝑛 ∈ ℕ ) → ( log ‘ ( 𝑛 / 𝑁 ) ) = ( ( log ‘ 𝑛 ) − ( log ‘ 𝑁 ) ) ) |
| 149 |
97 148
|
syldan |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ) → ( log ‘ ( 𝑛 / 𝑁 ) ) = ( ( log ‘ 𝑛 ) − ( log ‘ 𝑁 ) ) ) |
| 150 |
149
|
sumeq2dv |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( log ‘ ( 𝑛 / 𝑁 ) ) = Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( ( log ‘ 𝑛 ) − ( log ‘ 𝑁 ) ) ) |
| 151 |
66
|
adantr |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → 𝑁 ∈ ℤ ) |
| 152 |
25
|
nn0zd |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( 𝑁 − 𝐾 ) ∈ ℤ ) |
| 153 |
152
|
peano2zd |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ( 𝑁 − 𝐾 ) + 1 ) ∈ ℤ ) |
| 154 |
97
|
nnrpd |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ) → 𝑛 ∈ ℝ+ ) |
| 155 |
141
|
adantr |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ) → 𝑁 ∈ ℝ+ ) |
| 156 |
154 155
|
rpdivcld |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ) → ( 𝑛 / 𝑁 ) ∈ ℝ+ ) |
| 157 |
156
|
relogcld |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ) → ( log ‘ ( 𝑛 / 𝑁 ) ) ∈ ℝ ) |
| 158 |
157
|
recnd |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ) → ( log ‘ ( 𝑛 / 𝑁 ) ) ∈ ℂ ) |
| 159 |
|
fvoveq1 |
⊢ ( 𝑛 = ( 𝑁 − 𝑘 ) → ( log ‘ ( 𝑛 / 𝑁 ) ) = ( log ‘ ( ( 𝑁 − 𝑘 ) / 𝑁 ) ) ) |
| 160 |
151 153 151 158 159
|
fsumrev |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( log ‘ ( 𝑛 / 𝑁 ) ) = Σ 𝑘 ∈ ( ( 𝑁 − 𝑁 ) ... ( 𝑁 − ( ( 𝑁 − 𝐾 ) + 1 ) ) ) ( log ‘ ( ( 𝑁 − 𝑘 ) / 𝑁 ) ) ) |
| 161 |
130
|
subidd |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( 𝑁 − 𝑁 ) = 0 ) |
| 162 |
|
1cnd |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → 1 ∈ ℂ ) |
| 163 |
130 139 162
|
subsubd |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( 𝑁 − ( 𝐾 − 1 ) ) = ( ( 𝑁 − 𝐾 ) + 1 ) ) |
| 164 |
163
|
oveq2d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( 𝑁 − ( 𝑁 − ( 𝐾 − 1 ) ) ) = ( 𝑁 − ( ( 𝑁 − 𝐾 ) + 1 ) ) ) |
| 165 |
|
ax-1cn |
⊢ 1 ∈ ℂ |
| 166 |
|
subcl |
⊢ ( ( 𝐾 ∈ ℂ ∧ 1 ∈ ℂ ) → ( 𝐾 − 1 ) ∈ ℂ ) |
| 167 |
139 165 166
|
sylancl |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( 𝐾 − 1 ) ∈ ℂ ) |
| 168 |
130 167
|
nncand |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( 𝑁 − ( 𝑁 − ( 𝐾 − 1 ) ) ) = ( 𝐾 − 1 ) ) |
| 169 |
164 168
|
eqtr3d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( 𝑁 − ( ( 𝑁 − 𝐾 ) + 1 ) ) = ( 𝐾 − 1 ) ) |
| 170 |
161 169
|
oveq12d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ( 𝑁 − 𝑁 ) ... ( 𝑁 − ( ( 𝑁 − 𝐾 ) + 1 ) ) ) = ( 0 ... ( 𝐾 − 1 ) ) ) |
| 171 |
130
|
adantr |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ 𝑘 ∈ ( 0 ... ( 𝐾 − 1 ) ) ) → 𝑁 ∈ ℂ ) |
| 172 |
|
elfznn0 |
⊢ ( 𝑘 ∈ ( 0 ... ( 𝐾 − 1 ) ) → 𝑘 ∈ ℕ0 ) |
| 173 |
172
|
adantl |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ 𝑘 ∈ ( 0 ... ( 𝐾 − 1 ) ) ) → 𝑘 ∈ ℕ0 ) |
| 174 |
173
|
nn0cnd |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ 𝑘 ∈ ( 0 ... ( 𝐾 − 1 ) ) ) → 𝑘 ∈ ℂ ) |
| 175 |
132
|
adantr |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ 𝑘 ∈ ( 0 ... ( 𝐾 − 1 ) ) ) → 𝑁 ≠ 0 ) |
| 176 |
171 174 171 175
|
divsubdird |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ 𝑘 ∈ ( 0 ... ( 𝐾 − 1 ) ) ) → ( ( 𝑁 − 𝑘 ) / 𝑁 ) = ( ( 𝑁 / 𝑁 ) − ( 𝑘 / 𝑁 ) ) ) |
| 177 |
171 175
|
dividd |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ 𝑘 ∈ ( 0 ... ( 𝐾 − 1 ) ) ) → ( 𝑁 / 𝑁 ) = 1 ) |
| 178 |
177
|
oveq1d |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ 𝑘 ∈ ( 0 ... ( 𝐾 − 1 ) ) ) → ( ( 𝑁 / 𝑁 ) − ( 𝑘 / 𝑁 ) ) = ( 1 − ( 𝑘 / 𝑁 ) ) ) |
| 179 |
176 178
|
eqtrd |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ 𝑘 ∈ ( 0 ... ( 𝐾 − 1 ) ) ) → ( ( 𝑁 − 𝑘 ) / 𝑁 ) = ( 1 − ( 𝑘 / 𝑁 ) ) ) |
| 180 |
179
|
fveq2d |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ 𝑘 ∈ ( 0 ... ( 𝐾 − 1 ) ) ) → ( log ‘ ( ( 𝑁 − 𝑘 ) / 𝑁 ) ) = ( log ‘ ( 1 − ( 𝑘 / 𝑁 ) ) ) ) |
| 181 |
170 180
|
sumeq12rdv |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → Σ 𝑘 ∈ ( ( 𝑁 − 𝑁 ) ... ( 𝑁 − ( ( 𝑁 − 𝐾 ) + 1 ) ) ) ( log ‘ ( ( 𝑁 − 𝑘 ) / 𝑁 ) ) = Σ 𝑘 ∈ ( 0 ... ( 𝐾 − 1 ) ) ( log ‘ ( 1 − ( 𝑘 / 𝑁 ) ) ) ) |
| 182 |
160 181
|
eqtrd |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( log ‘ ( 𝑛 / 𝑁 ) ) = Σ 𝑘 ∈ ( 0 ... ( 𝐾 − 1 ) ) ( log ‘ ( 1 − ( 𝑘 / 𝑁 ) ) ) ) |
| 183 |
143
|
adantr |
⊢ ( ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) ∧ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ) → ( log ‘ 𝑁 ) ∈ ℂ ) |
| 184 |
92 98 183
|
fsumsub |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( ( log ‘ 𝑛 ) − ( log ‘ 𝑁 ) ) = ( Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( log ‘ 𝑛 ) − Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( log ‘ 𝑁 ) ) ) |
| 185 |
|
fsumconst |
⊢ ( ( ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ∈ Fin ∧ ( log ‘ 𝑁 ) ∈ ℂ ) → Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( log ‘ 𝑁 ) = ( ( ♯ ‘ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ) · ( log ‘ 𝑁 ) ) ) |
| 186 |
92 143 185
|
syl2anc |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( log ‘ 𝑁 ) = ( ( ♯ ‘ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ) · ( log ‘ 𝑁 ) ) ) |
| 187 |
|
1zzd |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → 1 ∈ ℤ ) |
| 188 |
|
fzen |
⊢ ( ( 1 ∈ ℤ ∧ 𝐾 ∈ ℤ ∧ ( 𝑁 − 𝐾 ) ∈ ℤ ) → ( 1 ... 𝐾 ) ≈ ( ( 1 + ( 𝑁 − 𝐾 ) ) ... ( 𝐾 + ( 𝑁 − 𝐾 ) ) ) ) |
| 189 |
187 134 152 188
|
syl3anc |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( 1 ... 𝐾 ) ≈ ( ( 1 + ( 𝑁 − 𝐾 ) ) ... ( 𝐾 + ( 𝑁 − 𝐾 ) ) ) ) |
| 190 |
25
|
nn0cnd |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( 𝑁 − 𝐾 ) ∈ ℂ ) |
| 191 |
|
addcom |
⊢ ( ( 1 ∈ ℂ ∧ ( 𝑁 − 𝐾 ) ∈ ℂ ) → ( 1 + ( 𝑁 − 𝐾 ) ) = ( ( 𝑁 − 𝐾 ) + 1 ) ) |
| 192 |
165 190 191
|
sylancr |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( 1 + ( 𝑁 − 𝐾 ) ) = ( ( 𝑁 − 𝐾 ) + 1 ) ) |
| 193 |
139 130
|
pncan3d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( 𝐾 + ( 𝑁 − 𝐾 ) ) = 𝑁 ) |
| 194 |
192 193
|
oveq12d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ( 1 + ( 𝑁 − 𝐾 ) ) ... ( 𝐾 + ( 𝑁 − 𝐾 ) ) ) = ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ) |
| 195 |
189 194
|
breqtrd |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( 1 ... 𝐾 ) ≈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ) |
| 196 |
|
hasheni |
⊢ ( ( 1 ... 𝐾 ) ≈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) → ( ♯ ‘ ( 1 ... 𝐾 ) ) = ( ♯ ‘ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ) ) |
| 197 |
195 196
|
syl |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ♯ ‘ ( 1 ... 𝐾 ) ) = ( ♯ ‘ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ) ) |
| 198 |
197 12
|
eqtr3d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ♯ ‘ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ) = 𝐾 ) |
| 199 |
198
|
oveq1d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ( ♯ ‘ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ) · ( log ‘ 𝑁 ) ) = ( 𝐾 · ( log ‘ 𝑁 ) ) ) |
| 200 |
186 199
|
eqtrd |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( log ‘ 𝑁 ) = ( 𝐾 · ( log ‘ 𝑁 ) ) ) |
| 201 |
200
|
oveq2d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( log ‘ 𝑛 ) − Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( log ‘ 𝑁 ) ) = ( Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( log ‘ 𝑛 ) − ( 𝐾 · ( log ‘ 𝑁 ) ) ) ) |
| 202 |
184 201
|
eqtrd |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( ( log ‘ 𝑛 ) − ( log ‘ 𝑁 ) ) = ( Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( log ‘ 𝑛 ) − ( 𝐾 · ( log ‘ 𝑁 ) ) ) ) |
| 203 |
150 182 202
|
3eqtr3rd |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( log ‘ 𝑛 ) − ( 𝐾 · ( log ‘ 𝑁 ) ) ) = Σ 𝑘 ∈ ( 0 ... ( 𝐾 − 1 ) ) ( log ‘ ( 1 − ( 𝑘 / 𝑁 ) ) ) ) |
| 204 |
203
|
fveq2d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( exp ‘ ( Σ 𝑛 ∈ ( ( ( 𝑁 − 𝐾 ) + 1 ) ... 𝑁 ) ( log ‘ 𝑛 ) − ( 𝐾 · ( log ‘ 𝑁 ) ) ) ) = ( exp ‘ Σ 𝑘 ∈ ( 0 ... ( 𝐾 − 1 ) ) ( log ‘ ( 1 − ( 𝑘 / 𝑁 ) ) ) ) ) |
| 205 |
138 146 204
|
3eqtr2d |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝐾 ∈ ( 0 ... 𝑁 ) ) → ( ( ♯ ‘ 𝑇 ) / ( ♯ ‘ 𝑆 ) ) = ( exp ‘ Σ 𝑘 ∈ ( 0 ... ( 𝐾 − 1 ) ) ( log ‘ ( 1 − ( 𝑘 / 𝑁 ) ) ) ) ) |