Proof of Theorem snmlff
Step | Hyp | Ref
| Expression |
1 | | snmlff.f |
. 2
⊢ 𝐹 = (𝑛 ∈ ℕ ↦
((♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛)) |
2 | | fzfid 13693 |
. . . . . . 7
⊢ (𝑛 ∈ ℕ →
(1...𝑛) ∈
Fin) |
3 | | ssrab2 4013 |
. . . . . . 7
⊢ {𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ⊆ (1...𝑛) |
4 | | ssfi 8956 |
. . . . . . 7
⊢
(((1...𝑛) ∈ Fin
∧ {𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ⊆ (1...𝑛)) → {𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ∈ Fin) |
5 | 2, 3, 4 | sylancl 586 |
. . . . . 6
⊢ (𝑛 ∈ ℕ → {𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ∈ Fin) |
6 | | hashcl 14071 |
. . . . . 6
⊢ ({𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ∈ Fin → (♯‘{𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ∈
ℕ0) |
7 | 5, 6 | syl 17 |
. . . . 5
⊢ (𝑛 ∈ ℕ →
(♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ∈
ℕ0) |
8 | 7 | nn0red 12294 |
. . . 4
⊢ (𝑛 ∈ ℕ →
(♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ∈ ℝ) |
9 | | nndivre 12014 |
. . . 4
⊢
(((♯‘{𝑘
∈ (1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ∈ ℝ ∧ 𝑛 ∈ ℕ) →
((♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ∈ ℝ) |
10 | 8, 9 | mpancom 685 |
. . 3
⊢ (𝑛 ∈ ℕ →
((♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ∈ ℝ) |
11 | 7 | nn0ge0d 12296 |
. . . 4
⊢ (𝑛 ∈ ℕ → 0 ≤
(♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵})) |
12 | | nnre 11980 |
. . . 4
⊢ (𝑛 ∈ ℕ → 𝑛 ∈
ℝ) |
13 | | nngt0 12004 |
. . . 4
⊢ (𝑛 ∈ ℕ → 0 <
𝑛) |
14 | | divge0 11844 |
. . . 4
⊢
((((♯‘{𝑘
∈ (1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ∈ ℝ ∧ 0 ≤
(♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵})) ∧ (𝑛 ∈ ℝ ∧ 0 < 𝑛)) → 0 ≤
((♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛)) |
15 | 8, 11, 12, 13, 14 | syl22anc 836 |
. . 3
⊢ (𝑛 ∈ ℕ → 0 ≤
((♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛)) |
16 | | ssdomg 8786 |
. . . . . . . 8
⊢
((1...𝑛) ∈ Fin
→ ({𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵} ⊆ (1...𝑛) → {𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ≼ (1...𝑛))) |
17 | 2, 3, 16 | mpisyl 21 |
. . . . . . 7
⊢ (𝑛 ∈ ℕ → {𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ≼ (1...𝑛)) |
18 | | hashdom 14094 |
. . . . . . . 8
⊢ (({𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ∈ Fin ∧ (1...𝑛) ∈ Fin) → ((♯‘{𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ≤ (♯‘(1...𝑛)) ↔ {𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ≼ (1...𝑛))) |
19 | 5, 2, 18 | syl2anc 584 |
. . . . . . 7
⊢ (𝑛 ∈ ℕ →
((♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ≤ (♯‘(1...𝑛)) ↔ {𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ≼ (1...𝑛))) |
20 | 17, 19 | mpbird 256 |
. . . . . 6
⊢ (𝑛 ∈ ℕ →
(♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ≤ (♯‘(1...𝑛))) |
21 | | nnnn0 12240 |
. . . . . . 7
⊢ (𝑛 ∈ ℕ → 𝑛 ∈
ℕ0) |
22 | | hashfz1 14060 |
. . . . . . 7
⊢ (𝑛 ∈ ℕ0
→ (♯‘(1...𝑛)) = 𝑛) |
23 | 21, 22 | syl 17 |
. . . . . 6
⊢ (𝑛 ∈ ℕ →
(♯‘(1...𝑛)) =
𝑛) |
24 | 20, 23 | breqtrd 5100 |
. . . . 5
⊢ (𝑛 ∈ ℕ →
(♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ≤ 𝑛) |
25 | | nncn 11981 |
. . . . . 6
⊢ (𝑛 ∈ ℕ → 𝑛 ∈
ℂ) |
26 | 25 | mulid1d 10992 |
. . . . 5
⊢ (𝑛 ∈ ℕ → (𝑛 · 1) = 𝑛) |
27 | 24, 26 | breqtrrd 5102 |
. . . 4
⊢ (𝑛 ∈ ℕ →
(♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ≤ (𝑛 · 1)) |
28 | | 1red 10976 |
. . . . 5
⊢ (𝑛 ∈ ℕ → 1 ∈
ℝ) |
29 | | ledivmul 11851 |
. . . . 5
⊢
(((♯‘{𝑘
∈ (1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ∈ ℝ ∧ 1 ∈ ℝ
∧ (𝑛 ∈ ℝ
∧ 0 < 𝑛)) →
(((♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ≤ 1 ↔ (♯‘{𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ≤ (𝑛 · 1))) |
30 | 8, 28, 12, 13, 29 | syl112anc 1373 |
. . . 4
⊢ (𝑛 ∈ ℕ →
(((♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ≤ 1 ↔ (♯‘{𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ≤ (𝑛 · 1))) |
31 | 27, 30 | mpbird 256 |
. . 3
⊢ (𝑛 ∈ ℕ →
((♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ≤ 1) |
32 | | elicc01 13198 |
. . 3
⊢
(((♯‘{𝑘
∈ (1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ∈ (0[,]1) ↔
(((♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ∈ ℝ ∧ 0 ≤
((♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ∧ ((♯‘{𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ≤ 1)) |
33 | 10, 15, 31, 32 | syl3anbrc 1342 |
. 2
⊢ (𝑛 ∈ ℕ →
((♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ∈ (0[,]1)) |
34 | 1, 33 | fmpti 6986 |
1
⊢ 𝐹:ℕ⟶(0[,]1) |