Step | Hyp | Ref
| Expression |
1 | | hashgcdlem.f |
. 2
⊢ 𝐹 = (𝑥 ∈ 𝐴 ↦ (𝑥 · 𝑁)) |
2 | | oveq1 5849 |
. . . . 5
⊢ (𝑦 = 𝑥 → (𝑦 gcd (𝑀 / 𝑁)) = (𝑥 gcd (𝑀 / 𝑁))) |
3 | 2 | eqeq1d 2174 |
. . . 4
⊢ (𝑦 = 𝑥 → ((𝑦 gcd (𝑀 / 𝑁)) = 1 ↔ (𝑥 gcd (𝑀 / 𝑁)) = 1)) |
4 | | hashgcdlem.a |
. . . 4
⊢ 𝐴 = {𝑦 ∈ (0..^(𝑀 / 𝑁)) ∣ (𝑦 gcd (𝑀 / 𝑁)) = 1} |
5 | 3, 4 | elrab2 2885 |
. . 3
⊢ (𝑥 ∈ 𝐴 ↔ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) |
6 | | elfzonn0 10121 |
. . . . . . 7
⊢ (𝑥 ∈ (0..^(𝑀 / 𝑁)) → 𝑥 ∈ ℕ0) |
7 | 6 | ad2antrl 482 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → 𝑥 ∈ ℕ0) |
8 | | nnnn0 9121 |
. . . . . . . 8
⊢ (𝑁 ∈ ℕ → 𝑁 ∈
ℕ0) |
9 | 8 | 3ad2ant2 1009 |
. . . . . . 7
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) → 𝑁 ∈
ℕ0) |
10 | 9 | adantr 274 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → 𝑁 ∈
ℕ0) |
11 | 7, 10 | nn0mulcld 9172 |
. . . . 5
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → (𝑥 · 𝑁) ∈
ℕ0) |
12 | | simpl1 990 |
. . . . 5
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → 𝑀 ∈ ℕ) |
13 | | elfzolt2 10091 |
. . . . . . 7
⊢ (𝑥 ∈ (0..^(𝑀 / 𝑁)) → 𝑥 < (𝑀 / 𝑁)) |
14 | 13 | ad2antrl 482 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → 𝑥 < (𝑀 / 𝑁)) |
15 | | elfzoelz 10082 |
. . . . . . . . 9
⊢ (𝑥 ∈ (0..^(𝑀 / 𝑁)) → 𝑥 ∈ ℤ) |
16 | 15 | ad2antrl 482 |
. . . . . . . 8
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → 𝑥 ∈ ℤ) |
17 | 16 | zred 9313 |
. . . . . . 7
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → 𝑥 ∈ ℝ) |
18 | | nnre 8864 |
. . . . . . . . 9
⊢ (𝑀 ∈ ℕ → 𝑀 ∈
ℝ) |
19 | 18 | 3ad2ant1 1008 |
. . . . . . . 8
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) → 𝑀 ∈ ℝ) |
20 | 19 | adantr 274 |
. . . . . . 7
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → 𝑀 ∈ ℝ) |
21 | | nnre 8864 |
. . . . . . . . . 10
⊢ (𝑁 ∈ ℕ → 𝑁 ∈
ℝ) |
22 | | nngt0 8882 |
. . . . . . . . . 10
⊢ (𝑁 ∈ ℕ → 0 <
𝑁) |
23 | 21, 22 | jca 304 |
. . . . . . . . 9
⊢ (𝑁 ∈ ℕ → (𝑁 ∈ ℝ ∧ 0 <
𝑁)) |
24 | 23 | 3ad2ant2 1009 |
. . . . . . . 8
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) → (𝑁 ∈ ℝ ∧ 0 < 𝑁)) |
25 | 24 | adantr 274 |
. . . . . . 7
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → (𝑁 ∈ ℝ ∧ 0 < 𝑁)) |
26 | | ltmuldiv 8769 |
. . . . . . 7
⊢ ((𝑥 ∈ ℝ ∧ 𝑀 ∈ ℝ ∧ (𝑁 ∈ ℝ ∧ 0 <
𝑁)) → ((𝑥 · 𝑁) < 𝑀 ↔ 𝑥 < (𝑀 / 𝑁))) |
27 | 17, 20, 25, 26 | syl3anc 1228 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → ((𝑥 · 𝑁) < 𝑀 ↔ 𝑥 < (𝑀 / 𝑁))) |
28 | 14, 27 | mpbird 166 |
. . . . 5
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → (𝑥 · 𝑁) < 𝑀) |
29 | | elfzo0 10117 |
. . . . 5
⊢ ((𝑥 · 𝑁) ∈ (0..^𝑀) ↔ ((𝑥 · 𝑁) ∈ ℕ0 ∧ 𝑀 ∈ ℕ ∧ (𝑥 · 𝑁) < 𝑀)) |
30 | 11, 12, 28, 29 | syl3anbrc 1171 |
. . . 4
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → (𝑥 · 𝑁) ∈ (0..^𝑀)) |
31 | | nncn 8865 |
. . . . . . . . . 10
⊢ (𝑀 ∈ ℕ → 𝑀 ∈
ℂ) |
32 | 31 | 3ad2ant1 1008 |
. . . . . . . . 9
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) → 𝑀 ∈ ℂ) |
33 | | nncn 8865 |
. . . . . . . . . 10
⊢ (𝑁 ∈ ℕ → 𝑁 ∈
ℂ) |
34 | 33 | 3ad2ant2 1009 |
. . . . . . . . 9
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) → 𝑁 ∈ ℂ) |
35 | | nnap0 8886 |
. . . . . . . . . 10
⊢ (𝑁 ∈ ℕ → 𝑁 # 0) |
36 | 35 | 3ad2ant2 1009 |
. . . . . . . . 9
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) → 𝑁 # 0) |
37 | 32, 34, 36 | divcanap1d 8687 |
. . . . . . . 8
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) → ((𝑀 / 𝑁) · 𝑁) = 𝑀) |
38 | 37 | adantr 274 |
. . . . . . 7
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → ((𝑀 / 𝑁) · 𝑁) = 𝑀) |
39 | 38 | eqcomd 2171 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → 𝑀 = ((𝑀 / 𝑁) · 𝑁)) |
40 | 39 | oveq2d 5858 |
. . . . 5
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → ((𝑥 · 𝑁) gcd 𝑀) = ((𝑥 · 𝑁) gcd ((𝑀 / 𝑁) · 𝑁))) |
41 | | nndivdvds 11736 |
. . . . . . . . 9
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ) → (𝑁 ∥ 𝑀 ↔ (𝑀 / 𝑁) ∈ ℕ)) |
42 | 41 | biimp3a 1335 |
. . . . . . . 8
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) → (𝑀 / 𝑁) ∈ ℕ) |
43 | 42 | nnzd 9312 |
. . . . . . 7
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) → (𝑀 / 𝑁) ∈ ℤ) |
44 | 43 | adantr 274 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → (𝑀 / 𝑁) ∈ ℤ) |
45 | | mulgcdr 11951 |
. . . . . 6
⊢ ((𝑥 ∈ ℤ ∧ (𝑀 / 𝑁) ∈ ℤ ∧ 𝑁 ∈ ℕ0) → ((𝑥 · 𝑁) gcd ((𝑀 / 𝑁) · 𝑁)) = ((𝑥 gcd (𝑀 / 𝑁)) · 𝑁)) |
46 | 16, 44, 10, 45 | syl3anc 1228 |
. . . . 5
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → ((𝑥 · 𝑁) gcd ((𝑀 / 𝑁) · 𝑁)) = ((𝑥 gcd (𝑀 / 𝑁)) · 𝑁)) |
47 | | simprr 522 |
. . . . . . 7
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → (𝑥 gcd (𝑀 / 𝑁)) = 1) |
48 | 47 | oveq1d 5857 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → ((𝑥 gcd (𝑀 / 𝑁)) · 𝑁) = (1 · 𝑁)) |
49 | 34 | mulid2d 7917 |
. . . . . . 7
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) → (1 · 𝑁) = 𝑁) |
50 | 49 | adantr 274 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → (1 · 𝑁) = 𝑁) |
51 | 48, 50 | eqtrd 2198 |
. . . . 5
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → ((𝑥 gcd (𝑀 / 𝑁)) · 𝑁) = 𝑁) |
52 | 40, 46, 51 | 3eqtrd 2202 |
. . . 4
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → ((𝑥 · 𝑁) gcd 𝑀) = 𝑁) |
53 | | oveq1 5849 |
. . . . . 6
⊢ (𝑧 = (𝑥 · 𝑁) → (𝑧 gcd 𝑀) = ((𝑥 · 𝑁) gcd 𝑀)) |
54 | 53 | eqeq1d 2174 |
. . . . 5
⊢ (𝑧 = (𝑥 · 𝑁) → ((𝑧 gcd 𝑀) = 𝑁 ↔ ((𝑥 · 𝑁) gcd 𝑀) = 𝑁)) |
55 | | hashgcdlem.b |
. . . . 5
⊢ 𝐵 = {𝑧 ∈ (0..^𝑀) ∣ (𝑧 gcd 𝑀) = 𝑁} |
56 | 54, 55 | elrab2 2885 |
. . . 4
⊢ ((𝑥 · 𝑁) ∈ 𝐵 ↔ ((𝑥 · 𝑁) ∈ (0..^𝑀) ∧ ((𝑥 · 𝑁) gcd 𝑀) = 𝑁)) |
57 | 30, 52, 56 | sylanbrc 414 |
. . 3
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → (𝑥 · 𝑁) ∈ 𝐵) |
58 | 5, 57 | sylan2b 285 |
. 2
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ 𝑥 ∈ 𝐴) → (𝑥 · 𝑁) ∈ 𝐵) |
59 | | oveq1 5849 |
. . . . 5
⊢ (𝑧 = 𝑤 → (𝑧 gcd 𝑀) = (𝑤 gcd 𝑀)) |
60 | 59 | eqeq1d 2174 |
. . . 4
⊢ (𝑧 = 𝑤 → ((𝑧 gcd 𝑀) = 𝑁 ↔ (𝑤 gcd 𝑀) = 𝑁)) |
61 | 60, 55 | elrab2 2885 |
. . 3
⊢ (𝑤 ∈ 𝐵 ↔ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) |
62 | | simprr 522 |
. . . . . . . 8
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → (𝑤 gcd 𝑀) = 𝑁) |
63 | | elfzoelz 10082 |
. . . . . . . . . . 11
⊢ (𝑤 ∈ (0..^𝑀) → 𝑤 ∈ ℤ) |
64 | 63 | ad2antrl 482 |
. . . . . . . . . 10
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → 𝑤 ∈ ℤ) |
65 | | simpl1 990 |
. . . . . . . . . . 11
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → 𝑀 ∈ ℕ) |
66 | 65 | nnzd 9312 |
. . . . . . . . . 10
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → 𝑀 ∈ ℤ) |
67 | | gcddvds 11896 |
. . . . . . . . . 10
⊢ ((𝑤 ∈ ℤ ∧ 𝑀 ∈ ℤ) → ((𝑤 gcd 𝑀) ∥ 𝑤 ∧ (𝑤 gcd 𝑀) ∥ 𝑀)) |
68 | 64, 66, 67 | syl2anc 409 |
. . . . . . . . 9
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → ((𝑤 gcd 𝑀) ∥ 𝑤 ∧ (𝑤 gcd 𝑀) ∥ 𝑀)) |
69 | 68 | simpld 111 |
. . . . . . . 8
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → (𝑤 gcd 𝑀) ∥ 𝑤) |
70 | 62, 69 | eqbrtrrd 4006 |
. . . . . . 7
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → 𝑁 ∥ 𝑤) |
71 | | nnz 9210 |
. . . . . . . . . 10
⊢ (𝑁 ∈ ℕ → 𝑁 ∈
ℤ) |
72 | 71 | 3ad2ant2 1009 |
. . . . . . . . 9
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) → 𝑁 ∈ ℤ) |
73 | 72 | adantr 274 |
. . . . . . . 8
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → 𝑁 ∈ ℤ) |
74 | | nnne0 8885 |
. . . . . . . . . 10
⊢ (𝑁 ∈ ℕ → 𝑁 ≠ 0) |
75 | 74 | 3ad2ant2 1009 |
. . . . . . . . 9
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) → 𝑁 ≠ 0) |
76 | 75 | adantr 274 |
. . . . . . . 8
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → 𝑁 ≠ 0) |
77 | | dvdsval2 11730 |
. . . . . . . 8
⊢ ((𝑁 ∈ ℤ ∧ 𝑁 ≠ 0 ∧ 𝑤 ∈ ℤ) → (𝑁 ∥ 𝑤 ↔ (𝑤 / 𝑁) ∈ ℤ)) |
78 | 73, 76, 64, 77 | syl3anc 1228 |
. . . . . . 7
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → (𝑁 ∥ 𝑤 ↔ (𝑤 / 𝑁) ∈ ℤ)) |
79 | 70, 78 | mpbid 146 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → (𝑤 / 𝑁) ∈ ℤ) |
80 | | elfzofz 10097 |
. . . . . . . . 9
⊢ (𝑤 ∈ (0..^𝑀) → 𝑤 ∈ (0...𝑀)) |
81 | 80 | ad2antrl 482 |
. . . . . . . 8
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → 𝑤 ∈ (0...𝑀)) |
82 | | elfznn0 10049 |
. . . . . . . 8
⊢ (𝑤 ∈ (0...𝑀) → 𝑤 ∈ ℕ0) |
83 | | nn0re 9123 |
. . . . . . . . 9
⊢ (𝑤 ∈ ℕ0
→ 𝑤 ∈
ℝ) |
84 | | nn0ge0 9139 |
. . . . . . . . 9
⊢ (𝑤 ∈ ℕ0
→ 0 ≤ 𝑤) |
85 | 83, 84 | jca 304 |
. . . . . . . 8
⊢ (𝑤 ∈ ℕ0
→ (𝑤 ∈ ℝ
∧ 0 ≤ 𝑤)) |
86 | 81, 82, 85 | 3syl 17 |
. . . . . . 7
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → (𝑤 ∈ ℝ ∧ 0 ≤ 𝑤)) |
87 | 24 | adantr 274 |
. . . . . . 7
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → (𝑁 ∈ ℝ ∧ 0 < 𝑁)) |
88 | | divge0 8768 |
. . . . . . 7
⊢ (((𝑤 ∈ ℝ ∧ 0 ≤
𝑤) ∧ (𝑁 ∈ ℝ ∧ 0 < 𝑁)) → 0 ≤ (𝑤 / 𝑁)) |
89 | 86, 87, 88 | syl2anc 409 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → 0 ≤ (𝑤 / 𝑁)) |
90 | | elnn0z 9204 |
. . . . . 6
⊢ ((𝑤 / 𝑁) ∈ ℕ0 ↔ ((𝑤 / 𝑁) ∈ ℤ ∧ 0 ≤ (𝑤 / 𝑁))) |
91 | 79, 89, 90 | sylanbrc 414 |
. . . . 5
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → (𝑤 / 𝑁) ∈
ℕ0) |
92 | 42 | adantr 274 |
. . . . 5
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → (𝑀 / 𝑁) ∈ ℕ) |
93 | | elfzolt2 10091 |
. . . . . . 7
⊢ (𝑤 ∈ (0..^𝑀) → 𝑤 < 𝑀) |
94 | 93 | ad2antrl 482 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → 𝑤 < 𝑀) |
95 | 64 | zred 9313 |
. . . . . . 7
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → 𝑤 ∈ ℝ) |
96 | 19 | adantr 274 |
. . . . . . 7
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → 𝑀 ∈ ℝ) |
97 | | ltdiv1 8763 |
. . . . . . 7
⊢ ((𝑤 ∈ ℝ ∧ 𝑀 ∈ ℝ ∧ (𝑁 ∈ ℝ ∧ 0 <
𝑁)) → (𝑤 < 𝑀 ↔ (𝑤 / 𝑁) < (𝑀 / 𝑁))) |
98 | 95, 96, 87, 97 | syl3anc 1228 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → (𝑤 < 𝑀 ↔ (𝑤 / 𝑁) < (𝑀 / 𝑁))) |
99 | 94, 98 | mpbid 146 |
. . . . 5
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → (𝑤 / 𝑁) < (𝑀 / 𝑁)) |
100 | | elfzo0 10117 |
. . . . 5
⊢ ((𝑤 / 𝑁) ∈ (0..^(𝑀 / 𝑁)) ↔ ((𝑤 / 𝑁) ∈ ℕ0 ∧ (𝑀 / 𝑁) ∈ ℕ ∧ (𝑤 / 𝑁) < (𝑀 / 𝑁))) |
101 | 91, 92, 99, 100 | syl3anbrc 1171 |
. . . 4
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → (𝑤 / 𝑁) ∈ (0..^(𝑀 / 𝑁))) |
102 | 62 | oveq1d 5857 |
. . . . 5
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → ((𝑤 gcd 𝑀) / 𝑁) = (𝑁 / 𝑁)) |
103 | | simpl2 991 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → 𝑁 ∈ ℕ) |
104 | | simpl3 992 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → 𝑁 ∥ 𝑀) |
105 | | gcddiv 11952 |
. . . . . 6
⊢ (((𝑤 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑁 ∥ 𝑤 ∧ 𝑁 ∥ 𝑀)) → ((𝑤 gcd 𝑀) / 𝑁) = ((𝑤 / 𝑁) gcd (𝑀 / 𝑁))) |
106 | 64, 66, 103, 70, 104, 105 | syl32anc 1236 |
. . . . 5
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → ((𝑤 gcd 𝑀) / 𝑁) = ((𝑤 / 𝑁) gcd (𝑀 / 𝑁))) |
107 | 34, 36 | dividapd 8682 |
. . . . . 6
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) → (𝑁 / 𝑁) = 1) |
108 | 107 | adantr 274 |
. . . . 5
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → (𝑁 / 𝑁) = 1) |
109 | 102, 106,
108 | 3eqtr3d 2206 |
. . . 4
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → ((𝑤 / 𝑁) gcd (𝑀 / 𝑁)) = 1) |
110 | | oveq1 5849 |
. . . . . 6
⊢ (𝑦 = (𝑤 / 𝑁) → (𝑦 gcd (𝑀 / 𝑁)) = ((𝑤 / 𝑁) gcd (𝑀 / 𝑁))) |
111 | 110 | eqeq1d 2174 |
. . . . 5
⊢ (𝑦 = (𝑤 / 𝑁) → ((𝑦 gcd (𝑀 / 𝑁)) = 1 ↔ ((𝑤 / 𝑁) gcd (𝑀 / 𝑁)) = 1)) |
112 | 111, 4 | elrab2 2885 |
. . . 4
⊢ ((𝑤 / 𝑁) ∈ 𝐴 ↔ ((𝑤 / 𝑁) ∈ (0..^(𝑀 / 𝑁)) ∧ ((𝑤 / 𝑁) gcd (𝑀 / 𝑁)) = 1)) |
113 | 101, 109,
112 | sylanbrc 414 |
. . 3
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → (𝑤 / 𝑁) ∈ 𝐴) |
114 | 61, 113 | sylan2b 285 |
. 2
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ 𝑤 ∈ 𝐵) → (𝑤 / 𝑁) ∈ 𝐴) |
115 | 5 | simplbi 272 |
. . . 4
⊢ (𝑥 ∈ 𝐴 → 𝑥 ∈ (0..^(𝑀 / 𝑁))) |
116 | 61 | simplbi 272 |
. . . 4
⊢ (𝑤 ∈ 𝐵 → 𝑤 ∈ (0..^𝑀)) |
117 | 115, 116 | anim12i 336 |
. . 3
⊢ ((𝑥 ∈ 𝐴 ∧ 𝑤 ∈ 𝐵) → (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ 𝑤 ∈ (0..^𝑀))) |
118 | 63 | ad2antll 483 |
. . . . . . . 8
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ 𝑤 ∈ (0..^𝑀))) → 𝑤 ∈ ℤ) |
119 | 118 | zcnd 9314 |
. . . . . . 7
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ 𝑤 ∈ (0..^𝑀))) → 𝑤 ∈ ℂ) |
120 | 34 | adantr 274 |
. . . . . . 7
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ 𝑤 ∈ (0..^𝑀))) → 𝑁 ∈ ℂ) |
121 | 36 | adantr 274 |
. . . . . . 7
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ 𝑤 ∈ (0..^𝑀))) → 𝑁 # 0) |
122 | 119, 120,
121 | divcanap1d 8687 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ 𝑤 ∈ (0..^𝑀))) → ((𝑤 / 𝑁) · 𝑁) = 𝑤) |
123 | 122 | eqcomd 2171 |
. . . . 5
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ 𝑤 ∈ (0..^𝑀))) → 𝑤 = ((𝑤 / 𝑁) · 𝑁)) |
124 | | oveq1 5849 |
. . . . . 6
⊢ (𝑥 = (𝑤 / 𝑁) → (𝑥 · 𝑁) = ((𝑤 / 𝑁) · 𝑁)) |
125 | 124 | eqeq2d 2177 |
. . . . 5
⊢ (𝑥 = (𝑤 / 𝑁) → (𝑤 = (𝑥 · 𝑁) ↔ 𝑤 = ((𝑤 / 𝑁) · 𝑁))) |
126 | 123, 125 | syl5ibrcom 156 |
. . . 4
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ 𝑤 ∈ (0..^𝑀))) → (𝑥 = (𝑤 / 𝑁) → 𝑤 = (𝑥 · 𝑁))) |
127 | 15 | ad2antrl 482 |
. . . . . . . 8
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ 𝑤 ∈ (0..^𝑀))) → 𝑥 ∈ ℤ) |
128 | 127 | zcnd 9314 |
. . . . . . 7
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ 𝑤 ∈ (0..^𝑀))) → 𝑥 ∈ ℂ) |
129 | 128, 120,
121 | divcanap4d 8692 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ 𝑤 ∈ (0..^𝑀))) → ((𝑥 · 𝑁) / 𝑁) = 𝑥) |
130 | 129 | eqcomd 2171 |
. . . . 5
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ 𝑤 ∈ (0..^𝑀))) → 𝑥 = ((𝑥 · 𝑁) / 𝑁)) |
131 | | oveq1 5849 |
. . . . . 6
⊢ (𝑤 = (𝑥 · 𝑁) → (𝑤 / 𝑁) = ((𝑥 · 𝑁) / 𝑁)) |
132 | 131 | eqeq2d 2177 |
. . . . 5
⊢ (𝑤 = (𝑥 · 𝑁) → (𝑥 = (𝑤 / 𝑁) ↔ 𝑥 = ((𝑥 · 𝑁) / 𝑁))) |
133 | 130, 132 | syl5ibrcom 156 |
. . . 4
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ 𝑤 ∈ (0..^𝑀))) → (𝑤 = (𝑥 · 𝑁) → 𝑥 = (𝑤 / 𝑁))) |
134 | 126, 133 | impbid 128 |
. . 3
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ 𝑤 ∈ (0..^𝑀))) → (𝑥 = (𝑤 / 𝑁) ↔ 𝑤 = (𝑥 · 𝑁))) |
135 | 117, 134 | sylan2 284 |
. 2
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ 𝐴 ∧ 𝑤 ∈ 𝐵)) → (𝑥 = (𝑤 / 𝑁) ↔ 𝑤 = (𝑥 · 𝑁))) |
136 | 1, 58, 114, 135 | f1o2d 6043 |
1
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) → 𝐹:𝐴–1-1-onto→𝐵) |