| Step | Hyp | Ref
| Expression |
| 1 | | eulerth.4 |
. . . 4
⊢ (𝜑 → 𝐹:(1...(ϕ‘𝑁))–1-1-onto→𝑆) |
| 2 | | f1ocnv 5517 |
. . . 4
⊢ (𝐹:(1...(ϕ‘𝑁))–1-1-onto→𝑆 → ◡𝐹:𝑆–1-1-onto→(1...(ϕ‘𝑁))) |
| 3 | 1, 2 | syl 14 |
. . 3
⊢ (𝜑 → ◡𝐹:𝑆–1-1-onto→(1...(ϕ‘𝑁))) |
| 4 | | eulerth.1 |
. . . . . . 7
⊢ (𝜑 → (𝑁 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑁) = 1)) |
| 5 | | eulerth.2 |
. . . . . . 7
⊢ 𝑆 = {𝑦 ∈ (0..^𝑁) ∣ (𝑦 gcd 𝑁) = 1} |
| 6 | | eqid 2196 |
. . . . . . 7
⊢
(1...(ϕ‘𝑁)) = (1...(ϕ‘𝑁)) |
| 7 | | fveq2 5558 |
. . . . . . . . . 10
⊢ (𝑎 = 𝑏 → (𝐹‘𝑎) = (𝐹‘𝑏)) |
| 8 | 7 | oveq2d 5938 |
. . . . . . . . 9
⊢ (𝑎 = 𝑏 → (𝐴 · (𝐹‘𝑎)) = (𝐴 · (𝐹‘𝑏))) |
| 9 | 8 | oveq1d 5937 |
. . . . . . . 8
⊢ (𝑎 = 𝑏 → ((𝐴 · (𝐹‘𝑎)) mod 𝑁) = ((𝐴 · (𝐹‘𝑏)) mod 𝑁)) |
| 10 | 9 | cbvmptv 4129 |
. . . . . . 7
⊢ (𝑎 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑎)) mod 𝑁)) = (𝑏 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑏)) mod 𝑁)) |
| 11 | 4, 5, 6, 1, 10 | eulerthlem1 12395 |
. . . . . 6
⊢ (𝜑 → (𝑎 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑎)) mod 𝑁)):(1...(ϕ‘𝑁))⟶𝑆) |
| 12 | | fveq2 5558 |
. . . . . . . . . 10
⊢ (𝑎 = 𝑦 → (𝐹‘𝑎) = (𝐹‘𝑦)) |
| 13 | 12 | oveq2d 5938 |
. . . . . . . . 9
⊢ (𝑎 = 𝑦 → (𝐴 · (𝐹‘𝑎)) = (𝐴 · (𝐹‘𝑦))) |
| 14 | 13 | oveq1d 5937 |
. . . . . . . 8
⊢ (𝑎 = 𝑦 → ((𝐴 · (𝐹‘𝑎)) mod 𝑁) = ((𝐴 · (𝐹‘𝑦)) mod 𝑁)) |
| 15 | 14 | cbvmptv 4129 |
. . . . . . 7
⊢ (𝑎 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑎)) mod 𝑁)) = (𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁)) |
| 16 | 15 | feq1i 5400 |
. . . . . 6
⊢ ((𝑎 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑎)) mod 𝑁)):(1...(ϕ‘𝑁))⟶𝑆 ↔ (𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁)):(1...(ϕ‘𝑁))⟶𝑆) |
| 17 | 11, 16 | sylib 122 |
. . . . 5
⊢ (𝜑 → (𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁)):(1...(ϕ‘𝑁))⟶𝑆) |
| 18 | 4 | simp1d 1011 |
. . . . . . . . . 10
⊢ (𝜑 → 𝑁 ∈ ℕ) |
| 19 | 18 | adantr 276 |
. . . . . . . . 9
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → 𝑁 ∈ ℕ) |
| 20 | 4 | simp2d 1012 |
. . . . . . . . . . 11
⊢ (𝜑 → 𝐴 ∈ ℤ) |
| 21 | 20 | adantr 276 |
. . . . . . . . . 10
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → 𝐴 ∈ ℤ) |
| 22 | | ssrab2 3268 |
. . . . . . . . . . . . 13
⊢ {𝑦 ∈ (0..^𝑁) ∣ (𝑦 gcd 𝑁) = 1} ⊆ (0..^𝑁) |
| 23 | 5, 22 | eqsstri 3215 |
. . . . . . . . . . . 12
⊢ 𝑆 ⊆ (0..^𝑁) |
| 24 | | fzo0ssnn0 10291 |
. . . . . . . . . . . . 13
⊢
(0..^𝑁) ⊆
ℕ0 |
| 25 | | nn0ssz 9344 |
. . . . . . . . . . . . 13
⊢
ℕ0 ⊆ ℤ |
| 26 | 24, 25 | sstri 3192 |
. . . . . . . . . . . 12
⊢
(0..^𝑁) ⊆
ℤ |
| 27 | 23, 26 | sstri 3192 |
. . . . . . . . . . 11
⊢ 𝑆 ⊆
ℤ |
| 28 | | f1of 5504 |
. . . . . . . . . . . . . 14
⊢ (𝐹:(1...(ϕ‘𝑁))–1-1-onto→𝑆 → 𝐹:(1...(ϕ‘𝑁))⟶𝑆) |
| 29 | 1, 28 | syl 14 |
. . . . . . . . . . . . 13
⊢ (𝜑 → 𝐹:(1...(ϕ‘𝑁))⟶𝑆) |
| 30 | 29 | adantr 276 |
. . . . . . . . . . . 12
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → 𝐹:(1...(ϕ‘𝑁))⟶𝑆) |
| 31 | | simprl 529 |
. . . . . . . . . . . 12
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → 𝑢 ∈ (1...(ϕ‘𝑁))) |
| 32 | 30, 31 | ffvelcdmd 5698 |
. . . . . . . . . . 11
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → (𝐹‘𝑢) ∈ 𝑆) |
| 33 | 27, 32 | sselid 3181 |
. . . . . . . . . 10
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → (𝐹‘𝑢) ∈ ℤ) |
| 34 | 21, 33 | zmulcld 9454 |
. . . . . . . . 9
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → (𝐴 · (𝐹‘𝑢)) ∈ ℤ) |
| 35 | 29 | ffvelcdmda 5697 |
. . . . . . . . . . . 12
⊢ ((𝜑 ∧ 𝑣 ∈ (1...(ϕ‘𝑁))) → (𝐹‘𝑣) ∈ 𝑆) |
| 36 | 35 | adantrl 478 |
. . . . . . . . . . 11
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → (𝐹‘𝑣) ∈ 𝑆) |
| 37 | 27, 36 | sselid 3181 |
. . . . . . . . . 10
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → (𝐹‘𝑣) ∈ ℤ) |
| 38 | 21, 37 | zmulcld 9454 |
. . . . . . . . 9
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → (𝐴 · (𝐹‘𝑣)) ∈ ℤ) |
| 39 | | moddvds 11964 |
. . . . . . . . 9
⊢ ((𝑁 ∈ ℕ ∧ (𝐴 · (𝐹‘𝑢)) ∈ ℤ ∧ (𝐴 · (𝐹‘𝑣)) ∈ ℤ) → (((𝐴 · (𝐹‘𝑢)) mod 𝑁) = ((𝐴 · (𝐹‘𝑣)) mod 𝑁) ↔ 𝑁 ∥ ((𝐴 · (𝐹‘𝑢)) − (𝐴 · (𝐹‘𝑣))))) |
| 40 | 19, 34, 38, 39 | syl3anc 1249 |
. . . . . . . 8
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → (((𝐴 · (𝐹‘𝑢)) mod 𝑁) = ((𝐴 · (𝐹‘𝑣)) mod 𝑁) ↔ 𝑁 ∥ ((𝐴 · (𝐹‘𝑢)) − (𝐴 · (𝐹‘𝑣))))) |
| 41 | | eqid 2196 |
. . . . . . . . . 10
⊢ (𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁)) = (𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁)) |
| 42 | | fveq2 5558 |
. . . . . . . . . . . 12
⊢ (𝑦 = 𝑢 → (𝐹‘𝑦) = (𝐹‘𝑢)) |
| 43 | 42 | oveq2d 5938 |
. . . . . . . . . . 11
⊢ (𝑦 = 𝑢 → (𝐴 · (𝐹‘𝑦)) = (𝐴 · (𝐹‘𝑢))) |
| 44 | 43 | oveq1d 5937 |
. . . . . . . . . 10
⊢ (𝑦 = 𝑢 → ((𝐴 · (𝐹‘𝑦)) mod 𝑁) = ((𝐴 · (𝐹‘𝑢)) mod 𝑁)) |
| 45 | | zmodfzo 10439 |
. . . . . . . . . . 11
⊢ (((𝐴 · (𝐹‘𝑢)) ∈ ℤ ∧ 𝑁 ∈ ℕ) → ((𝐴 · (𝐹‘𝑢)) mod 𝑁) ∈ (0..^𝑁)) |
| 46 | 34, 19, 45 | syl2anc 411 |
. . . . . . . . . 10
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → ((𝐴 · (𝐹‘𝑢)) mod 𝑁) ∈ (0..^𝑁)) |
| 47 | 41, 44, 31, 46 | fvmptd3 5655 |
. . . . . . . . 9
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → ((𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁))‘𝑢) = ((𝐴 · (𝐹‘𝑢)) mod 𝑁)) |
| 48 | | fveq2 5558 |
. . . . . . . . . . . 12
⊢ (𝑦 = 𝑣 → (𝐹‘𝑦) = (𝐹‘𝑣)) |
| 49 | 48 | oveq2d 5938 |
. . . . . . . . . . 11
⊢ (𝑦 = 𝑣 → (𝐴 · (𝐹‘𝑦)) = (𝐴 · (𝐹‘𝑣))) |
| 50 | 49 | oveq1d 5937 |
. . . . . . . . . 10
⊢ (𝑦 = 𝑣 → ((𝐴 · (𝐹‘𝑦)) mod 𝑁) = ((𝐴 · (𝐹‘𝑣)) mod 𝑁)) |
| 51 | | simprr 531 |
. . . . . . . . . 10
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → 𝑣 ∈ (1...(ϕ‘𝑁))) |
| 52 | | zmodfzo 10439 |
. . . . . . . . . . 11
⊢ (((𝐴 · (𝐹‘𝑣)) ∈ ℤ ∧ 𝑁 ∈ ℕ) → ((𝐴 · (𝐹‘𝑣)) mod 𝑁) ∈ (0..^𝑁)) |
| 53 | 38, 19, 52 | syl2anc 411 |
. . . . . . . . . 10
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → ((𝐴 · (𝐹‘𝑣)) mod 𝑁) ∈ (0..^𝑁)) |
| 54 | 41, 50, 51, 53 | fvmptd3 5655 |
. . . . . . . . 9
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → ((𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁))‘𝑣) = ((𝐴 · (𝐹‘𝑣)) mod 𝑁)) |
| 55 | 47, 54 | eqeq12d 2211 |
. . . . . . . 8
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → (((𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁))‘𝑢) = ((𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁))‘𝑣) ↔ ((𝐴 · (𝐹‘𝑢)) mod 𝑁) = ((𝐴 · (𝐹‘𝑣)) mod 𝑁))) |
| 56 | 21 | zcnd 9449 |
. . . . . . . . . 10
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → 𝐴 ∈ ℂ) |
| 57 | 33 | zcnd 9449 |
. . . . . . . . . 10
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → (𝐹‘𝑢) ∈ ℂ) |
| 58 | 37 | zcnd 9449 |
. . . . . . . . . 10
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → (𝐹‘𝑣) ∈ ℂ) |
| 59 | 56, 57, 58 | subdid 8440 |
. . . . . . . . 9
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → (𝐴 · ((𝐹‘𝑢) − (𝐹‘𝑣))) = ((𝐴 · (𝐹‘𝑢)) − (𝐴 · (𝐹‘𝑣)))) |
| 60 | 59 | breq2d 4045 |
. . . . . . . 8
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → (𝑁 ∥ (𝐴 · ((𝐹‘𝑢) − (𝐹‘𝑣))) ↔ 𝑁 ∥ ((𝐴 · (𝐹‘𝑢)) − (𝐴 · (𝐹‘𝑣))))) |
| 61 | 40, 55, 60 | 3bitr4d 220 |
. . . . . . 7
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → (((𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁))‘𝑢) = ((𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁))‘𝑣) ↔ 𝑁 ∥ (𝐴 · ((𝐹‘𝑢) − (𝐹‘𝑣))))) |
| 62 | 18 | nnzd 9447 |
. . . . . . . . . . 11
⊢ (𝜑 → 𝑁 ∈ ℤ) |
| 63 | 62, 20 | gcdcomd 12141 |
. . . . . . . . . 10
⊢ (𝜑 → (𝑁 gcd 𝐴) = (𝐴 gcd 𝑁)) |
| 64 | 4 | simp3d 1013 |
. . . . . . . . . 10
⊢ (𝜑 → (𝐴 gcd 𝑁) = 1) |
| 65 | 63, 64 | eqtrd 2229 |
. . . . . . . . 9
⊢ (𝜑 → (𝑁 gcd 𝐴) = 1) |
| 66 | 65 | adantr 276 |
. . . . . . . 8
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → (𝑁 gcd 𝐴) = 1) |
| 67 | 62 | adantr 276 |
. . . . . . . . . 10
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → 𝑁 ∈ ℤ) |
| 68 | 33, 37 | zsubcld 9453 |
. . . . . . . . . 10
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → ((𝐹‘𝑢) − (𝐹‘𝑣)) ∈ ℤ) |
| 69 | | coprmdvds 12260 |
. . . . . . . . . 10
⊢ ((𝑁 ∈ ℤ ∧ 𝐴 ∈ ℤ ∧ ((𝐹‘𝑢) − (𝐹‘𝑣)) ∈ ℤ) → ((𝑁 ∥ (𝐴 · ((𝐹‘𝑢) − (𝐹‘𝑣))) ∧ (𝑁 gcd 𝐴) = 1) → 𝑁 ∥ ((𝐹‘𝑢) − (𝐹‘𝑣)))) |
| 70 | 67, 21, 68, 69 | syl3anc 1249 |
. . . . . . . . 9
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → ((𝑁 ∥ (𝐴 · ((𝐹‘𝑢) − (𝐹‘𝑣))) ∧ (𝑁 gcd 𝐴) = 1) → 𝑁 ∥ ((𝐹‘𝑢) − (𝐹‘𝑣)))) |
| 71 | | zq 9700 |
. . . . . . . . . . . . 13
⊢ ((𝐹‘𝑢) ∈ ℤ → (𝐹‘𝑢) ∈ ℚ) |
| 72 | 33, 71 | syl 14 |
. . . . . . . . . . . 12
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → (𝐹‘𝑢) ∈ ℚ) |
| 73 | | zq 9700 |
. . . . . . . . . . . . . 14
⊢ (𝑁 ∈ ℤ → 𝑁 ∈
ℚ) |
| 74 | 62, 73 | syl 14 |
. . . . . . . . . . . . 13
⊢ (𝜑 → 𝑁 ∈ ℚ) |
| 75 | 74 | adantr 276 |
. . . . . . . . . . . 12
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → 𝑁 ∈ ℚ) |
| 76 | 23, 32 | sselid 3181 |
. . . . . . . . . . . . 13
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → (𝐹‘𝑢) ∈ (0..^𝑁)) |
| 77 | | elfzole1 10231 |
. . . . . . . . . . . . 13
⊢ ((𝐹‘𝑢) ∈ (0..^𝑁) → 0 ≤ (𝐹‘𝑢)) |
| 78 | 76, 77 | syl 14 |
. . . . . . . . . . . 12
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → 0 ≤ (𝐹‘𝑢)) |
| 79 | | elfzolt2 10232 |
. . . . . . . . . . . . 13
⊢ ((𝐹‘𝑢) ∈ (0..^𝑁) → (𝐹‘𝑢) < 𝑁) |
| 80 | 76, 79 | syl 14 |
. . . . . . . . . . . 12
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → (𝐹‘𝑢) < 𝑁) |
| 81 | | modqid 10441 |
. . . . . . . . . . . 12
⊢ ((((𝐹‘𝑢) ∈ ℚ ∧ 𝑁 ∈ ℚ) ∧ (0 ≤ (𝐹‘𝑢) ∧ (𝐹‘𝑢) < 𝑁)) → ((𝐹‘𝑢) mod 𝑁) = (𝐹‘𝑢)) |
| 82 | 72, 75, 78, 80, 81 | syl22anc 1250 |
. . . . . . . . . . 11
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → ((𝐹‘𝑢) mod 𝑁) = (𝐹‘𝑢)) |
| 83 | 27, 35 | sselid 3181 |
. . . . . . . . . . . . . 14
⊢ ((𝜑 ∧ 𝑣 ∈ (1...(ϕ‘𝑁))) → (𝐹‘𝑣) ∈ ℤ) |
| 84 | 83 | adantrl 478 |
. . . . . . . . . . . . 13
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → (𝐹‘𝑣) ∈ ℤ) |
| 85 | | zq 9700 |
. . . . . . . . . . . . 13
⊢ ((𝐹‘𝑣) ∈ ℤ → (𝐹‘𝑣) ∈ ℚ) |
| 86 | 84, 85 | syl 14 |
. . . . . . . . . . . 12
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → (𝐹‘𝑣) ∈ ℚ) |
| 87 | 23, 35 | sselid 3181 |
. . . . . . . . . . . . . 14
⊢ ((𝜑 ∧ 𝑣 ∈ (1...(ϕ‘𝑁))) → (𝐹‘𝑣) ∈ (0..^𝑁)) |
| 88 | | elfzole1 10231 |
. . . . . . . . . . . . . 14
⊢ ((𝐹‘𝑣) ∈ (0..^𝑁) → 0 ≤ (𝐹‘𝑣)) |
| 89 | 87, 88 | syl 14 |
. . . . . . . . . . . . 13
⊢ ((𝜑 ∧ 𝑣 ∈ (1...(ϕ‘𝑁))) → 0 ≤ (𝐹‘𝑣)) |
| 90 | 89 | adantrl 478 |
. . . . . . . . . . . 12
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → 0 ≤ (𝐹‘𝑣)) |
| 91 | 87 | adantrl 478 |
. . . . . . . . . . . . 13
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → (𝐹‘𝑣) ∈ (0..^𝑁)) |
| 92 | | elfzolt2 10232 |
. . . . . . . . . . . . 13
⊢ ((𝐹‘𝑣) ∈ (0..^𝑁) → (𝐹‘𝑣) < 𝑁) |
| 93 | 91, 92 | syl 14 |
. . . . . . . . . . . 12
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → (𝐹‘𝑣) < 𝑁) |
| 94 | | modqid 10441 |
. . . . . . . . . . . 12
⊢ ((((𝐹‘𝑣) ∈ ℚ ∧ 𝑁 ∈ ℚ) ∧ (0 ≤ (𝐹‘𝑣) ∧ (𝐹‘𝑣) < 𝑁)) → ((𝐹‘𝑣) mod 𝑁) = (𝐹‘𝑣)) |
| 95 | 86, 75, 90, 93, 94 | syl22anc 1250 |
. . . . . . . . . . 11
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → ((𝐹‘𝑣) mod 𝑁) = (𝐹‘𝑣)) |
| 96 | 82, 95 | eqeq12d 2211 |
. . . . . . . . . 10
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → (((𝐹‘𝑢) mod 𝑁) = ((𝐹‘𝑣) mod 𝑁) ↔ (𝐹‘𝑢) = (𝐹‘𝑣))) |
| 97 | | moddvds 11964 |
. . . . . . . . . . 11
⊢ ((𝑁 ∈ ℕ ∧ (𝐹‘𝑢) ∈ ℤ ∧ (𝐹‘𝑣) ∈ ℤ) → (((𝐹‘𝑢) mod 𝑁) = ((𝐹‘𝑣) mod 𝑁) ↔ 𝑁 ∥ ((𝐹‘𝑢) − (𝐹‘𝑣)))) |
| 98 | 19, 33, 37, 97 | syl3anc 1249 |
. . . . . . . . . 10
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → (((𝐹‘𝑢) mod 𝑁) = ((𝐹‘𝑣) mod 𝑁) ↔ 𝑁 ∥ ((𝐹‘𝑢) − (𝐹‘𝑣)))) |
| 99 | | f1of1 5503 |
. . . . . . . . . . . 12
⊢ (𝐹:(1...(ϕ‘𝑁))–1-1-onto→𝑆 → 𝐹:(1...(ϕ‘𝑁))–1-1→𝑆) |
| 100 | 1, 99 | syl 14 |
. . . . . . . . . . 11
⊢ (𝜑 → 𝐹:(1...(ϕ‘𝑁))–1-1→𝑆) |
| 101 | | f1fveq 5819 |
. . . . . . . . . . 11
⊢ ((𝐹:(1...(ϕ‘𝑁))–1-1→𝑆 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → ((𝐹‘𝑢) = (𝐹‘𝑣) ↔ 𝑢 = 𝑣)) |
| 102 | 100, 101 | sylan 283 |
. . . . . . . . . 10
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → ((𝐹‘𝑢) = (𝐹‘𝑣) ↔ 𝑢 = 𝑣)) |
| 103 | 96, 98, 102 | 3bitr3d 218 |
. . . . . . . . 9
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → (𝑁 ∥ ((𝐹‘𝑢) − (𝐹‘𝑣)) ↔ 𝑢 = 𝑣)) |
| 104 | 70, 103 | sylibd 149 |
. . . . . . . 8
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → ((𝑁 ∥ (𝐴 · ((𝐹‘𝑢) − (𝐹‘𝑣))) ∧ (𝑁 gcd 𝐴) = 1) → 𝑢 = 𝑣)) |
| 105 | 66, 104 | mpan2d 428 |
. . . . . . 7
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → (𝑁 ∥ (𝐴 · ((𝐹‘𝑢) − (𝐹‘𝑣))) → 𝑢 = 𝑣)) |
| 106 | 61, 105 | sylbid 150 |
. . . . . 6
⊢ ((𝜑 ∧ (𝑢 ∈ (1...(ϕ‘𝑁)) ∧ 𝑣 ∈ (1...(ϕ‘𝑁)))) → (((𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁))‘𝑢) = ((𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁))‘𝑣) → 𝑢 = 𝑣)) |
| 107 | 106 | ralrimivva 2579 |
. . . . 5
⊢ (𝜑 → ∀𝑢 ∈ (1...(ϕ‘𝑁))∀𝑣 ∈ (1...(ϕ‘𝑁))(((𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁))‘𝑢) = ((𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁))‘𝑣) → 𝑢 = 𝑣)) |
| 108 | | dff13 5815 |
. . . . 5
⊢ ((𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁)):(1...(ϕ‘𝑁))–1-1→𝑆 ↔ ((𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁)):(1...(ϕ‘𝑁))⟶𝑆 ∧ ∀𝑢 ∈ (1...(ϕ‘𝑁))∀𝑣 ∈ (1...(ϕ‘𝑁))(((𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁))‘𝑢) = ((𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁))‘𝑣) → 𝑢 = 𝑣))) |
| 109 | 17, 107, 108 | sylanbrc 417 |
. . . 4
⊢ (𝜑 → (𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁)):(1...(ϕ‘𝑁))–1-1→𝑆) |
| 110 | | 1zzd 9353 |
. . . . . . 7
⊢ (𝜑 → 1 ∈
ℤ) |
| 111 | 18 | phicld 12386 |
. . . . . . . 8
⊢ (𝜑 → (ϕ‘𝑁) ∈
ℕ) |
| 112 | 111 | nnzd 9447 |
. . . . . . 7
⊢ (𝜑 → (ϕ‘𝑁) ∈
ℤ) |
| 113 | 110, 112 | fzfigd 10523 |
. . . . . 6
⊢ (𝜑 → (1...(ϕ‘𝑁)) ∈ Fin) |
| 114 | | f1oeng 6816 |
. . . . . 6
⊢
(((1...(ϕ‘𝑁)) ∈ Fin ∧ 𝐹:(1...(ϕ‘𝑁))–1-1-onto→𝑆) →
(1...(ϕ‘𝑁))
≈ 𝑆) |
| 115 | 113, 1, 114 | syl2anc 411 |
. . . . 5
⊢ (𝜑 → (1...(ϕ‘𝑁)) ≈ 𝑆) |
| 116 | 4, 5 | eulerthlemfi 12396 |
. . . . 5
⊢ (𝜑 → 𝑆 ∈ Fin) |
| 117 | | f1finf1o 7013 |
. . . . 5
⊢
(((1...(ϕ‘𝑁)) ≈ 𝑆 ∧ 𝑆 ∈ Fin) → ((𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁)):(1...(ϕ‘𝑁))–1-1→𝑆 ↔ (𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁)):(1...(ϕ‘𝑁))–1-1-onto→𝑆)) |
| 118 | 115, 116,
117 | syl2anc 411 |
. . . 4
⊢ (𝜑 → ((𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁)):(1...(ϕ‘𝑁))–1-1→𝑆 ↔ (𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁)):(1...(ϕ‘𝑁))–1-1-onto→𝑆)) |
| 119 | 109, 118 | mpbid 147 |
. . 3
⊢ (𝜑 → (𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁)):(1...(ϕ‘𝑁))–1-1-onto→𝑆) |
| 120 | | f1oco 5527 |
. . 3
⊢ ((◡𝐹:𝑆–1-1-onto→(1...(ϕ‘𝑁)) ∧ (𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁)):(1...(ϕ‘𝑁))–1-1-onto→𝑆) → (◡𝐹 ∘ (𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁))):(1...(ϕ‘𝑁))–1-1-onto→(1...(ϕ‘𝑁))) |
| 121 | 3, 119, 120 | syl2anc 411 |
. 2
⊢ (𝜑 → (◡𝐹 ∘ (𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁))):(1...(ϕ‘𝑁))–1-1-onto→(1...(ϕ‘𝑁))) |
| 122 | | eulerth.h |
. . 3
⊢ 𝐻 = (◡𝐹 ∘ (𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁))) |
| 123 | | f1oeq1 5492 |
. . 3
⊢ (𝐻 = (◡𝐹 ∘ (𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁))) → (𝐻:(1...(ϕ‘𝑁))–1-1-onto→(1...(ϕ‘𝑁)) ↔ (◡𝐹 ∘ (𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁))):(1...(ϕ‘𝑁))–1-1-onto→(1...(ϕ‘𝑁)))) |
| 124 | 122, 123 | ax-mp 5 |
. 2
⊢ (𝐻:(1...(ϕ‘𝑁))–1-1-onto→(1...(ϕ‘𝑁)) ↔ (◡𝐹 ∘ (𝑦 ∈ (1...(ϕ‘𝑁)) ↦ ((𝐴 · (𝐹‘𝑦)) mod 𝑁))):(1...(ϕ‘𝑁))–1-1-onto→(1...(ϕ‘𝑁))) |
| 125 | 121, 124 | sylibr 134 |
1
⊢ (𝜑 → 𝐻:(1...(ϕ‘𝑁))–1-1-onto→(1...(ϕ‘𝑁))) |