Proof of Theorem snmlff
Step | Hyp | Ref
| Expression |
1 | | snmlff.f |
. 2
⊢ 𝐹 = (𝑛 ∈ ℕ ↦
((♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛)) |
2 | | fzfid 13689 |
. . . . . . 7
⊢ (𝑛 ∈ ℕ →
(1...𝑛) ∈
Fin) |
3 | | ssrab2 4018 |
. . . . . . 7
⊢ {𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ⊆ (1...𝑛) |
4 | | ssfi 8936 |
. . . . . . 7
⊢
(((1...𝑛) ∈ Fin
∧ {𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ⊆ (1...𝑛)) → {𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ∈ Fin) |
5 | 2, 3, 4 | sylancl 586 |
. . . . . 6
⊢ (𝑛 ∈ ℕ → {𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ∈ Fin) |
6 | | hashcl 14067 |
. . . . . 6
⊢ ({𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ∈ Fin → (♯‘{𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ∈
ℕ0) |
7 | 5, 6 | syl 17 |
. . . . 5
⊢ (𝑛 ∈ ℕ →
(♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ∈
ℕ0) |
8 | 7 | nn0red 12292 |
. . . 4
⊢ (𝑛 ∈ ℕ →
(♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ∈ ℝ) |
9 | | nndivre 12012 |
. . . 4
⊢
(((♯‘{𝑘
∈ (1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ∈ ℝ ∧ 𝑛 ∈ ℕ) →
((♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ∈ ℝ) |
10 | 8, 9 | mpancom 685 |
. . 3
⊢ (𝑛 ∈ ℕ →
((♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛) ∈ ℝ) |
11 | 7 | nn0ge0d 12294 |
. . . 4
⊢ (𝑛 ∈ ℕ → 0 ≤
(♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵})) |
12 | | nnre 11978 |
. . . 4
⊢ (𝑛 ∈ ℕ → 𝑛 ∈
ℝ) |
13 | | nngt0 12002 |
. . . 4
⊢ (𝑛 ∈ ℕ → 0 <
𝑛) |
14 | | divge0 11842 |
. . . 4
⊢
((((♯‘{𝑘
∈ (1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ∈ ℝ ∧ 0 ≤
(♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵})) ∧ (𝑛 ∈ ℝ ∧ 0 < 𝑛)) → 0 ≤
((♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛)) |
15 | 8, 11, 12, 13, 14 | syl22anc 836 |
. . 3
⊢ (𝑛 ∈ ℕ → 0 ≤
((♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) / 𝑛)) |
16 | | ssdomg 8767 |
. . . . . . . 8
⊢
((1...𝑛) ∈ Fin
→ ({𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵} ⊆ (1...𝑛) → {𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ≼ (1...𝑛))) |
17 | 2, 3, 16 | mpisyl 21 |
. . . . . . 7
⊢ (𝑛 ∈ ℕ → {𝑘 ∈ (1...𝑛) ∣ (⌊‘((𝐴 · (𝑅↑𝑘)) mod 𝑅)) = 𝐵} ≼ (1...𝑛)) |
18 | | hashdom 14090 |
. . . . . . . 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 12238 |
. . . . . . 7
⊢ (𝑛 ∈ ℕ → 𝑛 ∈
ℕ0) |
22 | | hashfz1 14056 |
. . . . . . 7
⊢ (𝑛 ∈ ℕ0
→ (♯‘(1...𝑛)) = 𝑛) |
23 | 21, 22 | syl 17 |
. . . . . 6
⊢ (𝑛 ∈ ℕ →
(♯‘(1...𝑛)) =
𝑛) |
24 | 20, 23 | breqtrd 5105 |
. . . . 5
⊢ (𝑛 ∈ ℕ →
(♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ≤ 𝑛) |
25 | | nncn 11979 |
. . . . . 6
⊢ (𝑛 ∈ ℕ → 𝑛 ∈
ℂ) |
26 | 25 | mulid1d 10991 |
. . . . 5
⊢ (𝑛 ∈ ℕ → (𝑛 · 1) = 𝑛) |
27 | 24, 26 | breqtrrd 5107 |
. . . 4
⊢ (𝑛 ∈ ℕ →
(♯‘{𝑘 ∈
(1...𝑛) ∣
(⌊‘((𝐴 ·
(𝑅↑𝑘)) mod 𝑅)) = 𝐵}) ≤ (𝑛 · 1)) |
28 | | 1red 10975 |
. . . . 5
⊢ (𝑛 ∈ ℕ → 1 ∈
ℝ) |
29 | | ledivmul 11849 |
. . . . 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 13195 |
. . 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 6981 |
1
⊢ 𝐹:ℕ⟶(0[,]1) |