Proof of Theorem fermltlchr
| Step | Hyp | Ref
| Expression |
| 1 | | fermltlchr.1 |
. 2
⊢ 𝐴 = ((ℤRHom‘𝐹)‘𝐸) |
| 2 | | fermltlchr.2 |
. . . . . . . . 9
⊢ (𝜑 → 𝑃 ∈ ℙ) |
| 3 | | prmnn 16711 |
. . . . . . . . . 10
⊢ (𝑃 ∈ ℙ → 𝑃 ∈
ℕ) |
| 4 | 3 | nnnn0d 12587 |
. . . . . . . . 9
⊢ (𝑃 ∈ ℙ → 𝑃 ∈
ℕ0) |
| 5 | 2, 4 | syl 17 |
. . . . . . . 8
⊢ (𝜑 → 𝑃 ∈
ℕ0) |
| 6 | 5 | adantr 480 |
. . . . . . 7
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → 𝑃 ∈
ℕ0) |
| 7 | | fermltlchr.3 |
. . . . . . . 8
⊢ (𝜑 → 𝐸 ∈ ℤ) |
| 8 | 7 | adantr 480 |
. . . . . . 7
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → 𝐸 ∈ ℤ) |
| 9 | | eqid 2737 |
. . . . . . . 8
⊢
((mulGrp‘ℂfld) ↾s ℤ) =
((mulGrp‘ℂfld) ↾s
ℤ) |
| 10 | | zsscn 12621 |
. . . . . . . . 9
⊢ ℤ
⊆ ℂ |
| 11 | | eqid 2737 |
. . . . . . . . . 10
⊢
(mulGrp‘ℂfld) =
(mulGrp‘ℂfld) |
| 12 | | cnfldbas 21368 |
. . . . . . . . . 10
⊢ ℂ =
(Base‘ℂfld) |
| 13 | 11, 12 | mgpbas 20142 |
. . . . . . . . 9
⊢ ℂ =
(Base‘(mulGrp‘ℂfld)) |
| 14 | 10, 13 | sseqtri 4032 |
. . . . . . . 8
⊢ ℤ
⊆ (Base‘(mulGrp‘ℂfld)) |
| 15 | | eqid 2737 |
. . . . . . . 8
⊢
(.g‘(mulGrp‘ℂfld)) =
(.g‘(mulGrp‘ℂfld)) |
| 16 | | eqid 2737 |
. . . . . . . 8
⊢
(invg‘(mulGrp‘ℂfld)) =
(invg‘(mulGrp‘ℂfld)) |
| 17 | | cnring 21403 |
. . . . . . . . . 10
⊢
ℂfld ∈ Ring |
| 18 | 11 | ringmgp 20236 |
. . . . . . . . . 10
⊢
(ℂfld ∈ Ring →
(mulGrp‘ℂfld) ∈ Mnd) |
| 19 | 17, 18 | ax-mp 5 |
. . . . . . . . 9
⊢
(mulGrp‘ℂfld) ∈ Mnd |
| 20 | | cnfld1 21406 |
. . . . . . . . . . 11
⊢ 1 =
(1r‘ℂfld) |
| 21 | 11, 20 | ringidval 20180 |
. . . . . . . . . 10
⊢ 1 =
(0g‘(mulGrp‘ℂfld)) |
| 22 | | 1z 12647 |
. . . . . . . . . 10
⊢ 1 ∈
ℤ |
| 23 | 21, 22 | eqeltrri 2838 |
. . . . . . . . 9
⊢
(0g‘(mulGrp‘ℂfld)) ∈
ℤ |
| 24 | | eqid 2737 |
. . . . . . . . . 10
⊢
(0g‘(mulGrp‘ℂfld)) =
(0g‘(mulGrp‘ℂfld)) |
| 25 | 9, 13, 24 | ress0g 18775 |
. . . . . . . . 9
⊢
(((mulGrp‘ℂfld) ∈ Mnd ∧
(0g‘(mulGrp‘ℂfld)) ∈ ℤ ∧
ℤ ⊆ ℂ) →
(0g‘(mulGrp‘ℂfld)) =
(0g‘((mulGrp‘ℂfld) ↾s
ℤ))) |
| 26 | 19, 23, 10, 25 | mp3an 1463 |
. . . . . . . 8
⊢
(0g‘(mulGrp‘ℂfld)) =
(0g‘((mulGrp‘ℂfld) ↾s
ℤ)) |
| 27 | 9, 14, 15, 16, 26 | ressmulgnn0 19095 |
. . . . . . 7
⊢ ((𝑃 ∈ ℕ0
∧ 𝐸 ∈ ℤ)
→ (𝑃(.g‘((mulGrp‘ℂfld)
↾s ℤ))𝐸) = (𝑃(.g‘(mulGrp‘ℂfld))𝐸)) |
| 28 | 6, 8, 27 | syl2anc 584 |
. . . . . 6
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → (𝑃(.g‘((mulGrp‘ℂfld)
↾s ℤ))𝐸) = (𝑃(.g‘(mulGrp‘ℂfld))𝐸)) |
| 29 | 8 | zcnd 12723 |
. . . . . . 7
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → 𝐸 ∈ ℂ) |
| 30 | | cnfldexp 21417 |
. . . . . . 7
⊢ ((𝐸 ∈ ℂ ∧ 𝑃 ∈ ℕ0)
→ (𝑃(.g‘(mulGrp‘ℂfld))𝐸) = (𝐸↑𝑃)) |
| 31 | 29, 6, 30 | syl2anc 584 |
. . . . . 6
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → (𝑃(.g‘(mulGrp‘ℂfld))𝐸) = (𝐸↑𝑃)) |
| 32 | 28, 31 | eqtrd 2777 |
. . . . 5
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → (𝑃(.g‘((mulGrp‘ℂfld)
↾s ℤ))𝐸) = (𝐸↑𝑃)) |
| 33 | 32 | fveq2d 6910 |
. . . 4
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → ((ℤRHom‘𝐹)‘(𝑃(.g‘((mulGrp‘ℂfld)
↾s ℤ))𝐸)) =
((ℤRHom‘𝐹)‘(𝐸↑𝑃))) |
| 34 | | fermltlchr.4 |
. . . . . . . . 9
⊢ (𝜑 → 𝐹 ∈ CRing) |
| 35 | 34 | crngringd 20243 |
. . . . . . . 8
⊢ (𝜑 → 𝐹 ∈ Ring) |
| 36 | | eqid 2737 |
. . . . . . . . 9
⊢
(ℤRHom‘𝐹) = (ℤRHom‘𝐹) |
| 37 | 36 | zrhrhm 21522 |
. . . . . . . 8
⊢ (𝐹 ∈ Ring →
(ℤRHom‘𝐹)
∈ (ℤring RingHom 𝐹)) |
| 38 | 35, 37 | syl 17 |
. . . . . . 7
⊢ (𝜑 → (ℤRHom‘𝐹) ∈ (ℤring
RingHom 𝐹)) |
| 39 | | zringmpg 21482 |
. . . . . . . 8
⊢
((mulGrp‘ℂfld) ↾s ℤ) =
(mulGrp‘ℤring) |
| 40 | | eqid 2737 |
. . . . . . . 8
⊢
(mulGrp‘𝐹) =
(mulGrp‘𝐹) |
| 41 | 39, 40 | rhmmhm 20479 |
. . . . . . 7
⊢
((ℤRHom‘𝐹) ∈ (ℤring RingHom
𝐹) →
(ℤRHom‘𝐹)
∈ (((mulGrp‘ℂfld) ↾s ℤ)
MndHom (mulGrp‘𝐹))) |
| 42 | 38, 41 | syl 17 |
. . . . . 6
⊢ (𝜑 → (ℤRHom‘𝐹) ∈
(((mulGrp‘ℂfld) ↾s ℤ) MndHom
(mulGrp‘𝐹))) |
| 43 | 42 | adantr 480 |
. . . . 5
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → (ℤRHom‘𝐹) ∈
(((mulGrp‘ℂfld) ↾s ℤ) MndHom
(mulGrp‘𝐹))) |
| 44 | 9, 13 | ressbas2 17283 |
. . . . . . 7
⊢ (ℤ
⊆ ℂ → ℤ =
(Base‘((mulGrp‘ℂfld) ↾s
ℤ))) |
| 45 | 10, 44 | ax-mp 5 |
. . . . . 6
⊢ ℤ =
(Base‘((mulGrp‘ℂfld) ↾s
ℤ)) |
| 46 | | eqid 2737 |
. . . . . 6
⊢
(.g‘((mulGrp‘ℂfld)
↾s ℤ)) =
(.g‘((mulGrp‘ℂfld) ↾s
ℤ)) |
| 47 | | fermltlchr.p |
. . . . . 6
⊢ ↑ =
(.g‘(mulGrp‘𝐹)) |
| 48 | 45, 46, 47 | mhmmulg 19133 |
. . . . 5
⊢
(((ℤRHom‘𝐹) ∈
(((mulGrp‘ℂfld) ↾s ℤ) MndHom
(mulGrp‘𝐹)) ∧
𝑃 ∈
ℕ0 ∧ 𝐸
∈ ℤ) → ((ℤRHom‘𝐹)‘(𝑃(.g‘((mulGrp‘ℂfld)
↾s ℤ))𝐸)) = (𝑃 ↑ ((ℤRHom‘𝐹)‘𝐸))) |
| 49 | 43, 6, 8, 48 | syl3anc 1373 |
. . . 4
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → ((ℤRHom‘𝐹)‘(𝑃(.g‘((mulGrp‘ℂfld)
↾s ℤ))𝐸)) = (𝑃 ↑ ((ℤRHom‘𝐹)‘𝐸))) |
| 50 | 7, 5 | zexpcld 14128 |
. . . . . . . . 9
⊢ (𝜑 → (𝐸↑𝑃) ∈ ℤ) |
| 51 | | eqid 2737 |
. . . . . . . . . 10
⊢
(-g‘ℤring) =
(-g‘ℤring) |
| 52 | 51 | zringsubgval 21481 |
. . . . . . . . 9
⊢ (((𝐸↑𝑃) ∈ ℤ ∧ 𝐸 ∈ ℤ) → ((𝐸↑𝑃) − 𝐸) = ((𝐸↑𝑃)(-g‘ℤring)𝐸)) |
| 53 | 50, 7, 52 | syl2anc 584 |
. . . . . . . 8
⊢ (𝜑 → ((𝐸↑𝑃) − 𝐸) = ((𝐸↑𝑃)(-g‘ℤring)𝐸)) |
| 54 | 53 | fveq2d 6910 |
. . . . . . 7
⊢ (𝜑 → ((ℤRHom‘𝐹)‘((𝐸↑𝑃) − 𝐸)) = ((ℤRHom‘𝐹)‘((𝐸↑𝑃)(-g‘ℤring)𝐸))) |
| 55 | 50 | zred 12722 |
. . . . . . . . . . 11
⊢ (𝜑 → (𝐸↑𝑃) ∈ ℝ) |
| 56 | 7 | zred 12722 |
. . . . . . . . . . 11
⊢ (𝜑 → 𝐸 ∈ ℝ) |
| 57 | 2, 3 | syl 17 |
. . . . . . . . . . . 12
⊢ (𝜑 → 𝑃 ∈ ℕ) |
| 58 | 57 | nnrpd 13075 |
. . . . . . . . . . 11
⊢ (𝜑 → 𝑃 ∈
ℝ+) |
| 59 | | fermltl 16821 |
. . . . . . . . . . . 12
⊢ ((𝑃 ∈ ℙ ∧ 𝐸 ∈ ℤ) → ((𝐸↑𝑃) mod 𝑃) = (𝐸 mod 𝑃)) |
| 60 | 2, 7, 59 | syl2anc 584 |
. . . . . . . . . . 11
⊢ (𝜑 → ((𝐸↑𝑃) mod 𝑃) = (𝐸 mod 𝑃)) |
| 61 | | eqidd 2738 |
. . . . . . . . . . 11
⊢ (𝜑 → (𝐸 mod 𝑃) = (𝐸 mod 𝑃)) |
| 62 | 55, 56, 56, 56, 58, 60, 61 | modsub12d 13969 |
. . . . . . . . . 10
⊢ (𝜑 → (((𝐸↑𝑃) − 𝐸) mod 𝑃) = ((𝐸 − 𝐸) mod 𝑃)) |
| 63 | | zcn 12618 |
. . . . . . . . . . . . 13
⊢ (𝐸 ∈ ℤ → 𝐸 ∈
ℂ) |
| 64 | 63 | subidd 11608 |
. . . . . . . . . . . 12
⊢ (𝐸 ∈ ℤ → (𝐸 − 𝐸) = 0) |
| 65 | 7, 64 | syl 17 |
. . . . . . . . . . 11
⊢ (𝜑 → (𝐸 − 𝐸) = 0) |
| 66 | 65 | oveq1d 7446 |
. . . . . . . . . 10
⊢ (𝜑 → ((𝐸 − 𝐸) mod 𝑃) = (0 mod 𝑃)) |
| 67 | | 0mod 13942 |
. . . . . . . . . . 11
⊢ (𝑃 ∈ ℝ+
→ (0 mod 𝑃) =
0) |
| 68 | 58, 67 | syl 17 |
. . . . . . . . . 10
⊢ (𝜑 → (0 mod 𝑃) = 0) |
| 69 | 62, 66, 68 | 3eqtrd 2781 |
. . . . . . . . 9
⊢ (𝜑 → (((𝐸↑𝑃) − 𝐸) mod 𝑃) = 0) |
| 70 | 50, 7 | zsubcld 12727 |
. . . . . . . . . 10
⊢ (𝜑 → ((𝐸↑𝑃) − 𝐸) ∈ ℤ) |
| 71 | | dvdsval3 16294 |
. . . . . . . . . 10
⊢ ((𝑃 ∈ ℕ ∧ ((𝐸↑𝑃) − 𝐸) ∈ ℤ) → (𝑃 ∥ ((𝐸↑𝑃) − 𝐸) ↔ (((𝐸↑𝑃) − 𝐸) mod 𝑃) = 0)) |
| 72 | 57, 70, 71 | syl2anc 584 |
. . . . . . . . 9
⊢ (𝜑 → (𝑃 ∥ ((𝐸↑𝑃) − 𝐸) ↔ (((𝐸↑𝑃) − 𝐸) mod 𝑃) = 0)) |
| 73 | 69, 72 | mpbird 257 |
. . . . . . . 8
⊢ (𝜑 → 𝑃 ∥ ((𝐸↑𝑃) − 𝐸)) |
| 74 | | fermltlchr.z |
. . . . . . . . . 10
⊢ 𝑃 = (chr‘𝐹) |
| 75 | | eqid 2737 |
. . . . . . . . . 10
⊢
(0g‘𝐹) = (0g‘𝐹) |
| 76 | 74, 36, 75 | chrdvds 21541 |
. . . . . . . . 9
⊢ ((𝐹 ∈ Ring ∧ ((𝐸↑𝑃) − 𝐸) ∈ ℤ) → (𝑃 ∥ ((𝐸↑𝑃) − 𝐸) ↔ ((ℤRHom‘𝐹)‘((𝐸↑𝑃) − 𝐸)) = (0g‘𝐹))) |
| 77 | 35, 70, 76 | syl2anc 584 |
. . . . . . . 8
⊢ (𝜑 → (𝑃 ∥ ((𝐸↑𝑃) − 𝐸) ↔ ((ℤRHom‘𝐹)‘((𝐸↑𝑃) − 𝐸)) = (0g‘𝐹))) |
| 78 | 73, 77 | mpbid 232 |
. . . . . . 7
⊢ (𝜑 → ((ℤRHom‘𝐹)‘((𝐸↑𝑃) − 𝐸)) = (0g‘𝐹)) |
| 79 | | rhmghm 20484 |
. . . . . . . . 9
⊢
((ℤRHom‘𝐹) ∈ (ℤring RingHom
𝐹) →
(ℤRHom‘𝐹)
∈ (ℤring GrpHom 𝐹)) |
| 80 | 38, 79 | syl 17 |
. . . . . . . 8
⊢ (𝜑 → (ℤRHom‘𝐹) ∈ (ℤring
GrpHom 𝐹)) |
| 81 | | zringbas 21464 |
. . . . . . . . 9
⊢ ℤ =
(Base‘ℤring) |
| 82 | | eqid 2737 |
. . . . . . . . 9
⊢
(-g‘𝐹) = (-g‘𝐹) |
| 83 | 81, 51, 82 | ghmsub 19242 |
. . . . . . . 8
⊢
(((ℤRHom‘𝐹) ∈ (ℤring GrpHom
𝐹) ∧ (𝐸↑𝑃) ∈ ℤ ∧ 𝐸 ∈ ℤ) →
((ℤRHom‘𝐹)‘((𝐸↑𝑃)(-g‘ℤring)𝐸)) = (((ℤRHom‘𝐹)‘(𝐸↑𝑃))(-g‘𝐹)((ℤRHom‘𝐹)‘𝐸))) |
| 84 | 80, 50, 7, 83 | syl3anc 1373 |
. . . . . . 7
⊢ (𝜑 → ((ℤRHom‘𝐹)‘((𝐸↑𝑃)(-g‘ℤring)𝐸)) = (((ℤRHom‘𝐹)‘(𝐸↑𝑃))(-g‘𝐹)((ℤRHom‘𝐹)‘𝐸))) |
| 85 | 54, 78, 84 | 3eqtr3rd 2786 |
. . . . . 6
⊢ (𝜑 → (((ℤRHom‘𝐹)‘(𝐸↑𝑃))(-g‘𝐹)((ℤRHom‘𝐹)‘𝐸)) = (0g‘𝐹)) |
| 86 | 34 | crnggrpd 20244 |
. . . . . . 7
⊢ (𝜑 → 𝐹 ∈ Grp) |
| 87 | | eqid 2737 |
. . . . . . . . . 10
⊢
(Base‘𝐹) =
(Base‘𝐹) |
| 88 | 81, 87 | rhmf 20485 |
. . . . . . . . 9
⊢
((ℤRHom‘𝐹) ∈ (ℤring RingHom
𝐹) →
(ℤRHom‘𝐹):ℤ⟶(Base‘𝐹)) |
| 89 | 38, 88 | syl 17 |
. . . . . . . 8
⊢ (𝜑 → (ℤRHom‘𝐹):ℤ⟶(Base‘𝐹)) |
| 90 | 89, 50 | ffvelcdmd 7105 |
. . . . . . 7
⊢ (𝜑 → ((ℤRHom‘𝐹)‘(𝐸↑𝑃)) ∈ (Base‘𝐹)) |
| 91 | 89, 7 | ffvelcdmd 7105 |
. . . . . . 7
⊢ (𝜑 → ((ℤRHom‘𝐹)‘𝐸) ∈ (Base‘𝐹)) |
| 92 | 87, 75, 82 | grpsubeq0 19044 |
. . . . . . 7
⊢ ((𝐹 ∈ Grp ∧
((ℤRHom‘𝐹)‘(𝐸↑𝑃)) ∈ (Base‘𝐹) ∧ ((ℤRHom‘𝐹)‘𝐸) ∈ (Base‘𝐹)) → ((((ℤRHom‘𝐹)‘(𝐸↑𝑃))(-g‘𝐹)((ℤRHom‘𝐹)‘𝐸)) = (0g‘𝐹) ↔ ((ℤRHom‘𝐹)‘(𝐸↑𝑃)) = ((ℤRHom‘𝐹)‘𝐸))) |
| 93 | 86, 90, 91, 92 | syl3anc 1373 |
. . . . . 6
⊢ (𝜑 →
((((ℤRHom‘𝐹)‘(𝐸↑𝑃))(-g‘𝐹)((ℤRHom‘𝐹)‘𝐸)) = (0g‘𝐹) ↔ ((ℤRHom‘𝐹)‘(𝐸↑𝑃)) = ((ℤRHom‘𝐹)‘𝐸))) |
| 94 | 85, 93 | mpbid 232 |
. . . . 5
⊢ (𝜑 → ((ℤRHom‘𝐹)‘(𝐸↑𝑃)) = ((ℤRHom‘𝐹)‘𝐸)) |
| 95 | 94 | adantr 480 |
. . . 4
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → ((ℤRHom‘𝐹)‘(𝐸↑𝑃)) = ((ℤRHom‘𝐹)‘𝐸)) |
| 96 | 33, 49, 95 | 3eqtr3d 2785 |
. . 3
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → (𝑃 ↑
((ℤRHom‘𝐹)‘𝐸)) = ((ℤRHom‘𝐹)‘𝐸)) |
| 97 | | oveq2 7439 |
. . . 4
⊢ (𝐴 = ((ℤRHom‘𝐹)‘𝐸) → (𝑃 ↑ 𝐴) = (𝑃 ↑
((ℤRHom‘𝐹)‘𝐸))) |
| 98 | 97 | adantl 481 |
. . 3
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → (𝑃 ↑ 𝐴) = (𝑃 ↑
((ℤRHom‘𝐹)‘𝐸))) |
| 99 | | simpr 484 |
. . 3
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) |
| 100 | 96, 98, 99 | 3eqtr4d 2787 |
. 2
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → (𝑃 ↑ 𝐴) = 𝐴) |
| 101 | 1, 100 | mpan2 691 |
1
⊢ (𝜑 → (𝑃 ↑ 𝐴) = 𝐴) |