Proof of Theorem snmlff
Step | Hyp | Ref
| Expression |
1 | | snmlff.f |
. 2
⊢ 𝐹 = (𝑛 ∈ ℕ ↦ ((#‘{𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛)) |
2 | | fzfid 12634 |
. . . . . . 7
⊢ (𝑛 ∈ ℕ →
(1...𝑛) ∈
Fin) |
3 | | ssrab2 3650 |
. . . . . . 7
⊢ {𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ⊆ (1...𝑛) |
4 | | ssfi 8065 |
. . . . . . 7
⊢
(((1...𝑛) ∈ Fin
∧ {𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ⊆ (1...𝑛)) → {𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ∈ Fin) |
5 | 2, 3, 4 | sylancl 693 |
. . . . . 6
⊢ (𝑛 ∈ ℕ → {𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ∈ Fin) |
6 | | hashcl 13009 |
. . . . . 6
⊢ ({𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ∈ Fin → (#‘{𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ∈
ℕ0) |
7 | 5, 6 | syl 17 |
. . . . 5
⊢ (𝑛 ∈ ℕ →
(#‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ∈
ℕ0) |
8 | 7 | nn0red 11229 |
. . . 4
⊢ (𝑛 ∈ ℕ →
(#‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ∈ ℝ) |
9 | | nndivre 10933 |
. . . 4
⊢
(((#‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ∈ ℝ ∧ 𝑛 ∈ ℕ) → ((#‘{𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ∈ ℝ) |
10 | 8, 9 | mpancom 700 |
. . 3
⊢ (𝑛 ∈ ℕ →
((#‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ∈ ℝ) |
11 | 7 | nn0ge0d 11231 |
. . . 4
⊢ (𝑛 ∈ ℕ → 0 ≤
(#‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵})) |
12 | | nnre 10904 |
. . . 4
⊢ (𝑛 ∈ ℕ → 𝑛 ∈
ℝ) |
13 | | nngt0 10926 |
. . . 4
⊢ (𝑛 ∈ ℕ → 0 <
𝑛) |
14 | | divge0 10771 |
. . . 4
⊢
((((#‘{𝑘
∈ (1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ∈ ℝ ∧ 0 ≤
(#‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵})) ∧ (𝑛 ∈ ℝ ∧ 0 < 𝑛)) → 0 ≤
((#‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛)) |
15 | 8, 11, 12, 13, 14 | syl22anc 1319 |
. . 3
⊢ (𝑛 ∈ ℕ → 0 ≤
((#‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛)) |
16 | | ssdomg 7887 |
. . . . . . . 8
⊢
((1...𝑛) ∈ Fin
→ ({𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵} ⊆ (1...𝑛) → {𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ≼ (1...𝑛))) |
17 | 2, 3, 16 | mpisyl 21 |
. . . . . . 7
⊢ (𝑛 ∈ ℕ → {𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ≼ (1...𝑛)) |
18 | | hashdom 13029 |
. . . . . . . 8
⊢ (({𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ∈ Fin ∧ (1...𝑛) ∈ Fin) → ((#‘{𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ≤ (#‘(1...𝑛)) ↔ {𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ≼ (1...𝑛))) |
19 | 5, 2, 18 | syl2anc 691 |
. . . . . . 7
⊢ (𝑛 ∈ ℕ →
((#‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ≤ (#‘(1...𝑛)) ↔ {𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ≼ (1...𝑛))) |
20 | 17, 19 | mpbird 246 |
. . . . . 6
⊢ (𝑛 ∈ ℕ →
(#‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ≤ (#‘(1...𝑛))) |
21 | | nnnn0 11176 |
. . . . . . 7
⊢ (𝑛 ∈ ℕ → 𝑛 ∈
ℕ0) |
22 | | hashfz1 12996 |
. . . . . . 7
⊢ (𝑛 ∈ ℕ0
→ (#‘(1...𝑛)) =
𝑛) |
23 | 21, 22 | syl 17 |
. . . . . 6
⊢ (𝑛 ∈ ℕ →
(#‘(1...𝑛)) = 𝑛) |
24 | 20, 23 | breqtrd 4609 |
. . . . 5
⊢ (𝑛 ∈ ℕ →
(#‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ≤ 𝑛) |
25 | | nncn 10905 |
. . . . . 6
⊢ (𝑛 ∈ ℕ → 𝑛 ∈
ℂ) |
26 | 25 | mulid1d 9936 |
. . . . 5
⊢ (𝑛 ∈ ℕ → (𝑛 · 1) = 𝑛) |
27 | 24, 26 | breqtrrd 4611 |
. . . 4
⊢ (𝑛 ∈ ℕ →
(#‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ≤ (𝑛 · 1)) |
28 | | 1red 9934 |
. . . . 5
⊢ (𝑛 ∈ ℕ → 1 ∈
ℝ) |
29 | | ledivmul 10778 |
. . . . 5
⊢
(((#‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ∈ ℝ ∧ 1 ∈ ℝ
∧ (𝑛 ∈ ℝ
∧ 0 < 𝑛)) →
(((#‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ≤ 1 ↔ (#‘{𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ≤ (𝑛 · 1))) |
30 | 8, 28, 12, 13, 29 | syl112anc 1322 |
. . . 4
⊢ (𝑛 ∈ ℕ →
(((#‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ≤ 1 ↔ (#‘{𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ≤ (𝑛 · 1))) |
31 | 27, 30 | mpbird 246 |
. . 3
⊢ (𝑛 ∈ ℕ →
((#‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ≤ 1) |
32 | | 0re 9919 |
. . . 4
⊢ 0 ∈
ℝ |
33 | | 1re 9918 |
. . . 4
⊢ 1 ∈
ℝ |
34 | 32, 33 | elicc2i 12110 |
. . 3
⊢
(((#‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ∈ (0[,]1) ↔ (((#‘{𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ∈ ℝ ∧ 0 ≤
((#‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ∧ ((#‘{𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ≤ 1)) |
35 | 10, 15, 31, 34 | syl3anbrc 1239 |
. 2
⊢ (𝑛 ∈ ℕ →
((#‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ∈ (0[,]1)) |
36 | 1, 35 | fmpti 6291 |
1
⊢ 𝐹:ℕ⟶(0[,]1) |