| Step | Hyp | Ref
| Expression |
| 1 | | hashgcdlem.f |
. 2
⊢ 𝐹 = (𝑥 ∈ 𝐴 ↦ (𝑥 · 𝑁)) |
| 2 | | oveq1 5929 |
. . . . 5
⊢ (𝑦 = 𝑥 → (𝑦 gcd (𝑀 / 𝑁)) = (𝑥 gcd (𝑀 / 𝑁))) |
| 3 | 2 | eqeq1d 2205 |
. . . 4
⊢ (𝑦 = 𝑥 → ((𝑦 gcd (𝑀 / 𝑁)) = 1 ↔ (𝑥 gcd (𝑀 / 𝑁)) = 1)) |
| 4 | | hashgcdlem.a |
. . . 4
⊢ 𝐴 = {𝑦 ∈ (0..^(𝑀 / 𝑁)) ∣ (𝑦 gcd (𝑀 / 𝑁)) = 1} |
| 5 | 3, 4 | elrab2 2923 |
. . 3
⊢ (𝑥 ∈ 𝐴 ↔ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) |
| 6 | | elfzonn0 10262 |
. . . . . . 7
⊢ (𝑥 ∈ (0..^(𝑀 / 𝑁)) → 𝑥 ∈ ℕ0) |
| 7 | 6 | ad2antrl 490 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → 𝑥 ∈ ℕ0) |
| 8 | | nnnn0 9256 |
. . . . . . . 8
⊢ (𝑁 ∈ ℕ → 𝑁 ∈
ℕ0) |
| 9 | 8 | 3ad2ant2 1021 |
. . . . . . 7
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) → 𝑁 ∈
ℕ0) |
| 10 | 9 | adantr 276 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → 𝑁 ∈
ℕ0) |
| 11 | 7, 10 | nn0mulcld 9307 |
. . . . 5
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → (𝑥 · 𝑁) ∈
ℕ0) |
| 12 | | simpl1 1002 |
. . . . 5
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → 𝑀 ∈ ℕ) |
| 13 | | elfzolt2 10232 |
. . . . . . 7
⊢ (𝑥 ∈ (0..^(𝑀 / 𝑁)) → 𝑥 < (𝑀 / 𝑁)) |
| 14 | 13 | ad2antrl 490 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → 𝑥 < (𝑀 / 𝑁)) |
| 15 | | elfzoelz 10222 |
. . . . . . . . 9
⊢ (𝑥 ∈ (0..^(𝑀 / 𝑁)) → 𝑥 ∈ ℤ) |
| 16 | 15 | ad2antrl 490 |
. . . . . . . 8
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → 𝑥 ∈ ℤ) |
| 17 | 16 | zred 9448 |
. . . . . . 7
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → 𝑥 ∈ ℝ) |
| 18 | | nnre 8997 |
. . . . . . . . 9
⊢ (𝑀 ∈ ℕ → 𝑀 ∈
ℝ) |
| 19 | 18 | 3ad2ant1 1020 |
. . . . . . . 8
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) → 𝑀 ∈ ℝ) |
| 20 | 19 | adantr 276 |
. . . . . . 7
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → 𝑀 ∈ ℝ) |
| 21 | | nnre 8997 |
. . . . . . . . . 10
⊢ (𝑁 ∈ ℕ → 𝑁 ∈
ℝ) |
| 22 | | nngt0 9015 |
. . . . . . . . . 10
⊢ (𝑁 ∈ ℕ → 0 <
𝑁) |
| 23 | 21, 22 | jca 306 |
. . . . . . . . 9
⊢ (𝑁 ∈ ℕ → (𝑁 ∈ ℝ ∧ 0 <
𝑁)) |
| 24 | 23 | 3ad2ant2 1021 |
. . . . . . . 8
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) → (𝑁 ∈ ℝ ∧ 0 < 𝑁)) |
| 25 | 24 | adantr 276 |
. . . . . . 7
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → (𝑁 ∈ ℝ ∧ 0 < 𝑁)) |
| 26 | | ltmuldiv 8901 |
. . . . . . 7
⊢ ((𝑥 ∈ ℝ ∧ 𝑀 ∈ ℝ ∧ (𝑁 ∈ ℝ ∧ 0 <
𝑁)) → ((𝑥 · 𝑁) < 𝑀 ↔ 𝑥 < (𝑀 / 𝑁))) |
| 27 | 17, 20, 25, 26 | syl3anc 1249 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → ((𝑥 · 𝑁) < 𝑀 ↔ 𝑥 < (𝑀 / 𝑁))) |
| 28 | 14, 27 | mpbird 167 |
. . . . 5
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → (𝑥 · 𝑁) < 𝑀) |
| 29 | | elfzo0 10258 |
. . . . 5
⊢ ((𝑥 · 𝑁) ∈ (0..^𝑀) ↔ ((𝑥 · 𝑁) ∈ ℕ0 ∧ 𝑀 ∈ ℕ ∧ (𝑥 · 𝑁) < 𝑀)) |
| 30 | 11, 12, 28, 29 | syl3anbrc 1183 |
. . . 4
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → (𝑥 · 𝑁) ∈ (0..^𝑀)) |
| 31 | | nncn 8998 |
. . . . . . . . . 10
⊢ (𝑀 ∈ ℕ → 𝑀 ∈
ℂ) |
| 32 | 31 | 3ad2ant1 1020 |
. . . . . . . . 9
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) → 𝑀 ∈ ℂ) |
| 33 | | nncn 8998 |
. . . . . . . . . 10
⊢ (𝑁 ∈ ℕ → 𝑁 ∈
ℂ) |
| 34 | 33 | 3ad2ant2 1021 |
. . . . . . . . 9
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) → 𝑁 ∈ ℂ) |
| 35 | | nnap0 9019 |
. . . . . . . . . 10
⊢ (𝑁 ∈ ℕ → 𝑁 # 0) |
| 36 | 35 | 3ad2ant2 1021 |
. . . . . . . . 9
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) → 𝑁 # 0) |
| 37 | 32, 34, 36 | divcanap1d 8818 |
. . . . . . . 8
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) → ((𝑀 / 𝑁) · 𝑁) = 𝑀) |
| 38 | 37 | adantr 276 |
. . . . . . 7
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → ((𝑀 / 𝑁) · 𝑁) = 𝑀) |
| 39 | 38 | eqcomd 2202 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → 𝑀 = ((𝑀 / 𝑁) · 𝑁)) |
| 40 | 39 | oveq2d 5938 |
. . . . 5
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → ((𝑥 · 𝑁) gcd 𝑀) = ((𝑥 · 𝑁) gcd ((𝑀 / 𝑁) · 𝑁))) |
| 41 | | nndivdvds 11961 |
. . . . . . . . 9
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ) → (𝑁 ∥ 𝑀 ↔ (𝑀 / 𝑁) ∈ ℕ)) |
| 42 | 41 | biimp3a 1356 |
. . . . . . . 8
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) → (𝑀 / 𝑁) ∈ ℕ) |
| 43 | 42 | nnzd 9447 |
. . . . . . 7
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) → (𝑀 / 𝑁) ∈ ℤ) |
| 44 | 43 | adantr 276 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → (𝑀 / 𝑁) ∈ ℤ) |
| 45 | | mulgcdr 12185 |
. . . . . 6
⊢ ((𝑥 ∈ ℤ ∧ (𝑀 / 𝑁) ∈ ℤ ∧ 𝑁 ∈ ℕ0) → ((𝑥 · 𝑁) gcd ((𝑀 / 𝑁) · 𝑁)) = ((𝑥 gcd (𝑀 / 𝑁)) · 𝑁)) |
| 46 | 16, 44, 10, 45 | syl3anc 1249 |
. . . . 5
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → ((𝑥 · 𝑁) gcd ((𝑀 / 𝑁) · 𝑁)) = ((𝑥 gcd (𝑀 / 𝑁)) · 𝑁)) |
| 47 | | simprr 531 |
. . . . . . 7
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → (𝑥 gcd (𝑀 / 𝑁)) = 1) |
| 48 | 47 | oveq1d 5937 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → ((𝑥 gcd (𝑀 / 𝑁)) · 𝑁) = (1 · 𝑁)) |
| 49 | 34 | mulid2d 8045 |
. . . . . . 7
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) → (1 · 𝑁) = 𝑁) |
| 50 | 49 | adantr 276 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → (1 · 𝑁) = 𝑁) |
| 51 | 48, 50 | eqtrd 2229 |
. . . . 5
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → ((𝑥 gcd (𝑀 / 𝑁)) · 𝑁) = 𝑁) |
| 52 | 40, 46, 51 | 3eqtrd 2233 |
. . . 4
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → ((𝑥 · 𝑁) gcd 𝑀) = 𝑁) |
| 53 | | oveq1 5929 |
. . . . . 6
⊢ (𝑧 = (𝑥 · 𝑁) → (𝑧 gcd 𝑀) = ((𝑥 · 𝑁) gcd 𝑀)) |
| 54 | 53 | eqeq1d 2205 |
. . . . 5
⊢ (𝑧 = (𝑥 · 𝑁) → ((𝑧 gcd 𝑀) = 𝑁 ↔ ((𝑥 · 𝑁) gcd 𝑀) = 𝑁)) |
| 55 | | hashgcdlem.b |
. . . . 5
⊢ 𝐵 = {𝑧 ∈ (0..^𝑀) ∣ (𝑧 gcd 𝑀) = 𝑁} |
| 56 | 54, 55 | elrab2 2923 |
. . . 4
⊢ ((𝑥 · 𝑁) ∈ 𝐵 ↔ ((𝑥 · 𝑁) ∈ (0..^𝑀) ∧ ((𝑥 · 𝑁) gcd 𝑀) = 𝑁)) |
| 57 | 30, 52, 56 | sylanbrc 417 |
. . 3
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ (𝑥 gcd (𝑀 / 𝑁)) = 1)) → (𝑥 · 𝑁) ∈ 𝐵) |
| 58 | 5, 57 | sylan2b 287 |
. 2
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ 𝑥 ∈ 𝐴) → (𝑥 · 𝑁) ∈ 𝐵) |
| 59 | | oveq1 5929 |
. . . . 5
⊢ (𝑧 = 𝑤 → (𝑧 gcd 𝑀) = (𝑤 gcd 𝑀)) |
| 60 | 59 | eqeq1d 2205 |
. . . 4
⊢ (𝑧 = 𝑤 → ((𝑧 gcd 𝑀) = 𝑁 ↔ (𝑤 gcd 𝑀) = 𝑁)) |
| 61 | 60, 55 | elrab2 2923 |
. . 3
⊢ (𝑤 ∈ 𝐵 ↔ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) |
| 62 | | simprr 531 |
. . . . . . . 8
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → (𝑤 gcd 𝑀) = 𝑁) |
| 63 | | elfzoelz 10222 |
. . . . . . . . . . 11
⊢ (𝑤 ∈ (0..^𝑀) → 𝑤 ∈ ℤ) |
| 64 | 63 | ad2antrl 490 |
. . . . . . . . . 10
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → 𝑤 ∈ ℤ) |
| 65 | | simpl1 1002 |
. . . . . . . . . . 11
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → 𝑀 ∈ ℕ) |
| 66 | 65 | nnzd 9447 |
. . . . . . . . . 10
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → 𝑀 ∈ ℤ) |
| 67 | | gcddvds 12130 |
. . . . . . . . . 10
⊢ ((𝑤 ∈ ℤ ∧ 𝑀 ∈ ℤ) → ((𝑤 gcd 𝑀) ∥ 𝑤 ∧ (𝑤 gcd 𝑀) ∥ 𝑀)) |
| 68 | 64, 66, 67 | syl2anc 411 |
. . . . . . . . 9
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → ((𝑤 gcd 𝑀) ∥ 𝑤 ∧ (𝑤 gcd 𝑀) ∥ 𝑀)) |
| 69 | 68 | simpld 112 |
. . . . . . . 8
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → (𝑤 gcd 𝑀) ∥ 𝑤) |
| 70 | 62, 69 | eqbrtrrd 4057 |
. . . . . . 7
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → 𝑁 ∥ 𝑤) |
| 71 | | nnz 9345 |
. . . . . . . . . 10
⊢ (𝑁 ∈ ℕ → 𝑁 ∈
ℤ) |
| 72 | 71 | 3ad2ant2 1021 |
. . . . . . . . 9
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) → 𝑁 ∈ ℤ) |
| 73 | 72 | adantr 276 |
. . . . . . . 8
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → 𝑁 ∈ ℤ) |
| 74 | | nnne0 9018 |
. . . . . . . . . 10
⊢ (𝑁 ∈ ℕ → 𝑁 ≠ 0) |
| 75 | 74 | 3ad2ant2 1021 |
. . . . . . . . 9
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) → 𝑁 ≠ 0) |
| 76 | 75 | adantr 276 |
. . . . . . . 8
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → 𝑁 ≠ 0) |
| 77 | | dvdsval2 11955 |
. . . . . . . 8
⊢ ((𝑁 ∈ ℤ ∧ 𝑁 ≠ 0 ∧ 𝑤 ∈ ℤ) → (𝑁 ∥ 𝑤 ↔ (𝑤 / 𝑁) ∈ ℤ)) |
| 78 | 73, 76, 64, 77 | syl3anc 1249 |
. . . . . . 7
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → (𝑁 ∥ 𝑤 ↔ (𝑤 / 𝑁) ∈ ℤ)) |
| 79 | 70, 78 | mpbid 147 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → (𝑤 / 𝑁) ∈ ℤ) |
| 80 | | elfzofz 10238 |
. . . . . . . . 9
⊢ (𝑤 ∈ (0..^𝑀) → 𝑤 ∈ (0...𝑀)) |
| 81 | 80 | ad2antrl 490 |
. . . . . . . 8
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → 𝑤 ∈ (0...𝑀)) |
| 82 | | elfznn0 10189 |
. . . . . . . 8
⊢ (𝑤 ∈ (0...𝑀) → 𝑤 ∈ ℕ0) |
| 83 | | nn0re 9258 |
. . . . . . . . 9
⊢ (𝑤 ∈ ℕ0
→ 𝑤 ∈
ℝ) |
| 84 | | nn0ge0 9274 |
. . . . . . . . 9
⊢ (𝑤 ∈ ℕ0
→ 0 ≤ 𝑤) |
| 85 | 83, 84 | jca 306 |
. . . . . . . 8
⊢ (𝑤 ∈ ℕ0
→ (𝑤 ∈ ℝ
∧ 0 ≤ 𝑤)) |
| 86 | 81, 82, 85 | 3syl 17 |
. . . . . . 7
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → (𝑤 ∈ ℝ ∧ 0 ≤ 𝑤)) |
| 87 | 24 | adantr 276 |
. . . . . . 7
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → (𝑁 ∈ ℝ ∧ 0 < 𝑁)) |
| 88 | | divge0 8900 |
. . . . . . 7
⊢ (((𝑤 ∈ ℝ ∧ 0 ≤
𝑤) ∧ (𝑁 ∈ ℝ ∧ 0 < 𝑁)) → 0 ≤ (𝑤 / 𝑁)) |
| 89 | 86, 87, 88 | syl2anc 411 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → 0 ≤ (𝑤 / 𝑁)) |
| 90 | | elnn0z 9339 |
. . . . . 6
⊢ ((𝑤 / 𝑁) ∈ ℕ0 ↔ ((𝑤 / 𝑁) ∈ ℤ ∧ 0 ≤ (𝑤 / 𝑁))) |
| 91 | 79, 89, 90 | sylanbrc 417 |
. . . . 5
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → (𝑤 / 𝑁) ∈
ℕ0) |
| 92 | 42 | adantr 276 |
. . . . 5
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → (𝑀 / 𝑁) ∈ ℕ) |
| 93 | | elfzolt2 10232 |
. . . . . . 7
⊢ (𝑤 ∈ (0..^𝑀) → 𝑤 < 𝑀) |
| 94 | 93 | ad2antrl 490 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → 𝑤 < 𝑀) |
| 95 | 64 | zred 9448 |
. . . . . . 7
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → 𝑤 ∈ ℝ) |
| 96 | 19 | adantr 276 |
. . . . . . 7
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → 𝑀 ∈ ℝ) |
| 97 | | ltdiv1 8895 |
. . . . . . 7
⊢ ((𝑤 ∈ ℝ ∧ 𝑀 ∈ ℝ ∧ (𝑁 ∈ ℝ ∧ 0 <
𝑁)) → (𝑤 < 𝑀 ↔ (𝑤 / 𝑁) < (𝑀 / 𝑁))) |
| 98 | 95, 96, 87, 97 | syl3anc 1249 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → (𝑤 < 𝑀 ↔ (𝑤 / 𝑁) < (𝑀 / 𝑁))) |
| 99 | 94, 98 | mpbid 147 |
. . . . 5
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → (𝑤 / 𝑁) < (𝑀 / 𝑁)) |
| 100 | | elfzo0 10258 |
. . . . 5
⊢ ((𝑤 / 𝑁) ∈ (0..^(𝑀 / 𝑁)) ↔ ((𝑤 / 𝑁) ∈ ℕ0 ∧ (𝑀 / 𝑁) ∈ ℕ ∧ (𝑤 / 𝑁) < (𝑀 / 𝑁))) |
| 101 | 91, 92, 99, 100 | syl3anbrc 1183 |
. . . 4
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → (𝑤 / 𝑁) ∈ (0..^(𝑀 / 𝑁))) |
| 102 | 62 | oveq1d 5937 |
. . . . 5
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → ((𝑤 gcd 𝑀) / 𝑁) = (𝑁 / 𝑁)) |
| 103 | | simpl2 1003 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → 𝑁 ∈ ℕ) |
| 104 | | simpl3 1004 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → 𝑁 ∥ 𝑀) |
| 105 | | gcddiv 12186 |
. . . . . 6
⊢ (((𝑤 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑁 ∥ 𝑤 ∧ 𝑁 ∥ 𝑀)) → ((𝑤 gcd 𝑀) / 𝑁) = ((𝑤 / 𝑁) gcd (𝑀 / 𝑁))) |
| 106 | 64, 66, 103, 70, 104, 105 | syl32anc 1257 |
. . . . 5
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → ((𝑤 gcd 𝑀) / 𝑁) = ((𝑤 / 𝑁) gcd (𝑀 / 𝑁))) |
| 107 | 34, 36 | dividapd 8813 |
. . . . . 6
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) → (𝑁 / 𝑁) = 1) |
| 108 | 107 | adantr 276 |
. . . . 5
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → (𝑁 / 𝑁) = 1) |
| 109 | 102, 106,
108 | 3eqtr3d 2237 |
. . . 4
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → ((𝑤 / 𝑁) gcd (𝑀 / 𝑁)) = 1) |
| 110 | | oveq1 5929 |
. . . . . 6
⊢ (𝑦 = (𝑤 / 𝑁) → (𝑦 gcd (𝑀 / 𝑁)) = ((𝑤 / 𝑁) gcd (𝑀 / 𝑁))) |
| 111 | 110 | eqeq1d 2205 |
. . . . 5
⊢ (𝑦 = (𝑤 / 𝑁) → ((𝑦 gcd (𝑀 / 𝑁)) = 1 ↔ ((𝑤 / 𝑁) gcd (𝑀 / 𝑁)) = 1)) |
| 112 | 111, 4 | elrab2 2923 |
. . . 4
⊢ ((𝑤 / 𝑁) ∈ 𝐴 ↔ ((𝑤 / 𝑁) ∈ (0..^(𝑀 / 𝑁)) ∧ ((𝑤 / 𝑁) gcd (𝑀 / 𝑁)) = 1)) |
| 113 | 101, 109,
112 | sylanbrc 417 |
. . 3
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑤 ∈ (0..^𝑀) ∧ (𝑤 gcd 𝑀) = 𝑁)) → (𝑤 / 𝑁) ∈ 𝐴) |
| 114 | 61, 113 | sylan2b 287 |
. 2
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ 𝑤 ∈ 𝐵) → (𝑤 / 𝑁) ∈ 𝐴) |
| 115 | 5 | simplbi 274 |
. . . 4
⊢ (𝑥 ∈ 𝐴 → 𝑥 ∈ (0..^(𝑀 / 𝑁))) |
| 116 | 61 | simplbi 274 |
. . . 4
⊢ (𝑤 ∈ 𝐵 → 𝑤 ∈ (0..^𝑀)) |
| 117 | 115, 116 | anim12i 338 |
. . 3
⊢ ((𝑥 ∈ 𝐴 ∧ 𝑤 ∈ 𝐵) → (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ 𝑤 ∈ (0..^𝑀))) |
| 118 | 63 | ad2antll 491 |
. . . . . . . 8
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ 𝑤 ∈ (0..^𝑀))) → 𝑤 ∈ ℤ) |
| 119 | 118 | zcnd 9449 |
. . . . . . 7
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ 𝑤 ∈ (0..^𝑀))) → 𝑤 ∈ ℂ) |
| 120 | 34 | adantr 276 |
. . . . . . 7
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ 𝑤 ∈ (0..^𝑀))) → 𝑁 ∈ ℂ) |
| 121 | 36 | adantr 276 |
. . . . . . 7
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ 𝑤 ∈ (0..^𝑀))) → 𝑁 # 0) |
| 122 | 119, 120,
121 | divcanap1d 8818 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ 𝑤 ∈ (0..^𝑀))) → ((𝑤 / 𝑁) · 𝑁) = 𝑤) |
| 123 | 122 | eqcomd 2202 |
. . . . 5
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ 𝑤 ∈ (0..^𝑀))) → 𝑤 = ((𝑤 / 𝑁) · 𝑁)) |
| 124 | | oveq1 5929 |
. . . . . 6
⊢ (𝑥 = (𝑤 / 𝑁) → (𝑥 · 𝑁) = ((𝑤 / 𝑁) · 𝑁)) |
| 125 | 124 | eqeq2d 2208 |
. . . . 5
⊢ (𝑥 = (𝑤 / 𝑁) → (𝑤 = (𝑥 · 𝑁) ↔ 𝑤 = ((𝑤 / 𝑁) · 𝑁))) |
| 126 | 123, 125 | syl5ibrcom 157 |
. . . 4
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ 𝑤 ∈ (0..^𝑀))) → (𝑥 = (𝑤 / 𝑁) → 𝑤 = (𝑥 · 𝑁))) |
| 127 | 15 | ad2antrl 490 |
. . . . . . . 8
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ 𝑤 ∈ (0..^𝑀))) → 𝑥 ∈ ℤ) |
| 128 | 127 | zcnd 9449 |
. . . . . . 7
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ 𝑤 ∈ (0..^𝑀))) → 𝑥 ∈ ℂ) |
| 129 | 128, 120,
121 | divcanap4d 8823 |
. . . . . 6
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ 𝑤 ∈ (0..^𝑀))) → ((𝑥 · 𝑁) / 𝑁) = 𝑥) |
| 130 | 129 | eqcomd 2202 |
. . . . 5
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ 𝑤 ∈ (0..^𝑀))) → 𝑥 = ((𝑥 · 𝑁) / 𝑁)) |
| 131 | | oveq1 5929 |
. . . . . 6
⊢ (𝑤 = (𝑥 · 𝑁) → (𝑤 / 𝑁) = ((𝑥 · 𝑁) / 𝑁)) |
| 132 | 131 | eqeq2d 2208 |
. . . . 5
⊢ (𝑤 = (𝑥 · 𝑁) → (𝑥 = (𝑤 / 𝑁) ↔ 𝑥 = ((𝑥 · 𝑁) / 𝑁))) |
| 133 | 130, 132 | syl5ibrcom 157 |
. . . 4
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ 𝑤 ∈ (0..^𝑀))) → (𝑤 = (𝑥 · 𝑁) → 𝑥 = (𝑤 / 𝑁))) |
| 134 | 126, 133 | impbid 129 |
. . 3
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ (0..^(𝑀 / 𝑁)) ∧ 𝑤 ∈ (0..^𝑀))) → (𝑥 = (𝑤 / 𝑁) ↔ 𝑤 = (𝑥 · 𝑁))) |
| 135 | 117, 134 | sylan2 286 |
. 2
⊢ (((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) ∧ (𝑥 ∈ 𝐴 ∧ 𝑤 ∈ 𝐵)) → (𝑥 = (𝑤 / 𝑁) ↔ 𝑤 = (𝑥 · 𝑁))) |
| 136 | 1, 58, 114, 135 | f1o2d 6128 |
1
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝑀) → 𝐹:𝐴–1-1-onto→𝐵) |