Proof of Theorem snmlff
Step | Hyp | Ref
| Expression |
1 | | snmlff.f |
. 2
⊢ 𝐹 = (𝑛 ∈ ℕ ↦
((♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛)) |
2 | | fzfid 13621 |
. . . . . . 7
⊢ (𝑛 ∈ ℕ →
(1...𝑛) ∈
Fin) |
3 | | ssrab2 4009 |
. . . . . . 7
⊢ {𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ⊆ (1...𝑛) |
4 | | ssfi 8918 |
. . . . . . 7
⊢
(((1...𝑛) ∈ Fin
∧ {𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ⊆ (1...𝑛)) → {𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ∈ Fin) |
5 | 2, 3, 4 | sylancl 585 |
. . . . . 6
⊢ (𝑛 ∈ ℕ → {𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ∈ Fin) |
6 | | hashcl 13999 |
. . . . . 6
⊢ ({𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ∈ Fin → (♯‘{𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ∈
ℕ0) |
7 | 5, 6 | syl 17 |
. . . . 5
⊢ (𝑛 ∈ ℕ →
(♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ∈
ℕ0) |
8 | 7 | nn0red 12224 |
. . . 4
⊢ (𝑛 ∈ ℕ →
(♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ∈ ℝ) |
9 | | nndivre 11944 |
. . . 4
⊢
(((♯‘{𝑘
∈ (1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ∈ ℝ ∧ 𝑛 ∈ ℕ) →
((♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ∈ ℝ) |
10 | 8, 9 | mpancom 684 |
. . 3
⊢ (𝑛 ∈ ℕ →
((♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ∈ ℝ) |
11 | 7 | nn0ge0d 12226 |
. . . 4
⊢ (𝑛 ∈ ℕ → 0 ≤
(♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵})) |
12 | | nnre 11910 |
. . . 4
⊢ (𝑛 ∈ ℕ → 𝑛 ∈
ℝ) |
13 | | nngt0 11934 |
. . . 4
⊢ (𝑛 ∈ ℕ → 0 <
𝑛) |
14 | | divge0 11774 |
. . . 4
⊢
((((♯‘{𝑘
∈ (1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ∈ ℝ ∧ 0 ≤
(♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵})) ∧ (𝑛 ∈ ℝ ∧ 0 < 𝑛)) → 0 ≤
((♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛)) |
15 | 8, 11, 12, 13, 14 | syl22anc 835 |
. . 3
⊢ (𝑛 ∈ ℕ → 0 ≤
((♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛)) |
16 | | ssdomg 8741 |
. . . . . . . 8
⊢
((1...𝑛) ∈ Fin
→ ({𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵} ⊆ (1...𝑛) → {𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ≼ (1...𝑛))) |
17 | 2, 3, 16 | mpisyl 21 |
. . . . . . 7
⊢ (𝑛 ∈ ℕ → {𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ≼ (1...𝑛)) |
18 | | hashdom 14022 |
. . . . . . . 8
⊢ (({𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ∈ Fin ∧ (1...𝑛) ∈ Fin) → ((♯‘{𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ≤ (♯‘(1...𝑛)) ↔ {𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ≼ (1...𝑛))) |
19 | 5, 2, 18 | syl2anc 583 |
. . . . . . 7
⊢ (𝑛 ∈ ℕ →
((♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ≤ (♯‘(1...𝑛)) ↔ {𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ≼ (1...𝑛))) |
20 | 17, 19 | mpbird 256 |
. . . . . 6
⊢ (𝑛 ∈ ℕ →
(♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ≤ (♯‘(1...𝑛))) |
21 | | nnnn0 12170 |
. . . . . . 7
⊢ (𝑛 ∈ ℕ → 𝑛 ∈
ℕ0) |
22 | | hashfz1 13988 |
. . . . . . 7
⊢ (𝑛 ∈ ℕ0
→ (♯‘(1...𝑛)) = 𝑛) |
23 | 21, 22 | syl 17 |
. . . . . 6
⊢ (𝑛 ∈ ℕ →
(♯‘(1...𝑛)) =
𝑛) |
24 | 20, 23 | breqtrd 5096 |
. . . . 5
⊢ (𝑛 ∈ ℕ →
(♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ≤ 𝑛) |
25 | | nncn 11911 |
. . . . . 6
⊢ (𝑛 ∈ ℕ → 𝑛 ∈
ℂ) |
26 | 25 | mulid1d 10923 |
. . . . 5
⊢ (𝑛 ∈ ℕ → (𝑛 · 1) = 𝑛) |
27 | 24, 26 | breqtrrd 5098 |
. . . 4
⊢ (𝑛 ∈ ℕ →
(♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ≤ (𝑛 · 1)) |
28 | | 1red 10907 |
. . . . 5
⊢ (𝑛 ∈ ℕ → 1 ∈
ℝ) |
29 | | ledivmul 11781 |
. . . . 5
⊢
(((♯‘{𝑘
∈ (1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ∈ ℝ ∧ 1 ∈ ℝ
∧ (𝑛 ∈ ℝ
∧ 0 < 𝑛)) →
(((♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ≤ 1 ↔ (♯‘{𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ≤ (𝑛 · 1))) |
30 | 8, 28, 12, 13, 29 | syl112anc 1372 |
. . . 4
⊢ (𝑛 ∈ ℕ →
(((♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ≤ 1 ↔ (♯‘{𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ≤ (𝑛 · 1))) |
31 | 27, 30 | mpbird 256 |
. . 3
⊢ (𝑛 ∈ ℕ →
((♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ≤ 1) |
32 | | elicc01 13127 |
. . 3
⊢
(((♯‘{𝑘
∈ (1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ∈ (0[,]1) ↔
(((♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ∈ ℝ ∧ 0 ≤
((♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ∧ ((♯‘{𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ≤ 1)) |
33 | 10, 15, 31, 32 | syl3anbrc 1341 |
. 2
⊢ (𝑛 ∈ ℕ →
((♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ∈ (0[,]1)) |
34 | 1, 33 | fmpti 6968 |
1
⊢ 𝐹:ℕ⟶(0[,]1) |