Proof of Theorem fermltlchr
Step | Hyp | Ref
| Expression |
1 | | fermltlchr.1 |
. 2
⊢ 𝐴 = ((ℤRHom‘𝐹)‘𝐸) |
2 | | fermltlchr.2 |
. . . . . . . . 9
⊢ (𝜑 → 𝑃 ∈ ℙ) |
3 | | prmnn 16648 |
. . . . . . . . . 10
⊢ (𝑃 ∈ ℙ → 𝑃 ∈
ℕ) |
4 | 3 | nnnn0d 12565 |
. . . . . . . . 9
⊢ (𝑃 ∈ ℙ → 𝑃 ∈
ℕ0) |
5 | 2, 4 | syl 17 |
. . . . . . . 8
⊢ (𝜑 → 𝑃 ∈
ℕ0) |
6 | 5 | adantr 479 |
. . . . . . 7
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → 𝑃 ∈
ℕ0) |
7 | | fermltlchr.3 |
. . . . . . . 8
⊢ (𝜑 → 𝐸 ∈ ℤ) |
8 | 7 | adantr 479 |
. . . . . . 7
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → 𝐸 ∈ ℤ) |
9 | | eqid 2725 |
. . . . . . . 8
⊢
((mulGrp‘ℂfld) ↾s ℤ) =
((mulGrp‘ℂfld) ↾s
ℤ) |
10 | | zsscn 12599 |
. . . . . . . . 9
⊢ ℤ
⊆ ℂ |
11 | | eqid 2725 |
. . . . . . . . . 10
⊢
(mulGrp‘ℂfld) =
(mulGrp‘ℂfld) |
12 | | cnfldbas 21300 |
. . . . . . . . . 10
⊢ ℂ =
(Base‘ℂfld) |
13 | 11, 12 | mgpbas 20092 |
. . . . . . . . 9
⊢ ℂ =
(Base‘(mulGrp‘ℂfld)) |
14 | 10, 13 | sseqtri 4013 |
. . . . . . . 8
⊢ ℤ
⊆ (Base‘(mulGrp‘ℂfld)) |
15 | | eqid 2725 |
. . . . . . . 8
⊢
(.g‘(mulGrp‘ℂfld)) =
(.g‘(mulGrp‘ℂfld)) |
16 | | eqid 2725 |
. . . . . . . 8
⊢
(invg‘(mulGrp‘ℂfld)) =
(invg‘(mulGrp‘ℂfld)) |
17 | | cnring 21335 |
. . . . . . . . . 10
⊢
ℂfld ∈ Ring |
18 | 11 | ringmgp 20191 |
. . . . . . . . . 10
⊢
(ℂfld ∈ Ring →
(mulGrp‘ℂfld) ∈ Mnd) |
19 | 17, 18 | ax-mp 5 |
. . . . . . . . 9
⊢
(mulGrp‘ℂfld) ∈ Mnd |
20 | | cnfld1 21338 |
. . . . . . . . . . 11
⊢ 1 =
(1r‘ℂfld) |
21 | 11, 20 | ringidval 20135 |
. . . . . . . . . 10
⊢ 1 =
(0g‘(mulGrp‘ℂfld)) |
22 | | 1z 12625 |
. . . . . . . . . 10
⊢ 1 ∈
ℤ |
23 | 21, 22 | eqeltrri 2822 |
. . . . . . . . 9
⊢
(0g‘(mulGrp‘ℂfld)) ∈
ℤ |
24 | | eqid 2725 |
. . . . . . . . . 10
⊢
(0g‘(mulGrp‘ℂfld)) =
(0g‘(mulGrp‘ℂfld)) |
25 | 9, 13, 24 | ress0g 18725 |
. . . . . . . . 9
⊢
(((mulGrp‘ℂfld) ∈ Mnd ∧
(0g‘(mulGrp‘ℂfld)) ∈ ℤ ∧
ℤ ⊆ ℂ) →
(0g‘(mulGrp‘ℂfld)) =
(0g‘((mulGrp‘ℂfld) ↾s
ℤ))) |
26 | 19, 23, 10, 25 | mp3an 1457 |
. . . . . . . 8
⊢
(0g‘(mulGrp‘ℂfld)) =
(0g‘((mulGrp‘ℂfld) ↾s
ℤ)) |
27 | 9, 14, 15, 16, 26 | ressmulgnn0 19041 |
. . . . . . 7
⊢ ((𝑃 ∈ ℕ0
∧ 𝐸 ∈ ℤ)
→ (𝑃(.g‘((mulGrp‘ℂfld)
↾s ℤ))𝐸) = (𝑃(.g‘(mulGrp‘ℂfld))𝐸)) |
28 | 6, 8, 27 | syl2anc 582 |
. . . . . 6
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → (𝑃(.g‘((mulGrp‘ℂfld)
↾s ℤ))𝐸) = (𝑃(.g‘(mulGrp‘ℂfld))𝐸)) |
29 | 8 | zcnd 12700 |
. . . . . . 7
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → 𝐸 ∈ ℂ) |
30 | | cnfldexp 21349 |
. . . . . . 7
⊢ ((𝐸 ∈ ℂ ∧ 𝑃 ∈ ℕ0)
→ (𝑃(.g‘(mulGrp‘ℂfld))𝐸) = (𝐸↑𝑃)) |
31 | 29, 6, 30 | syl2anc 582 |
. . . . . 6
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → (𝑃(.g‘(mulGrp‘ℂfld))𝐸) = (𝐸↑𝑃)) |
32 | 28, 31 | eqtrd 2765 |
. . . . 5
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → (𝑃(.g‘((mulGrp‘ℂfld)
↾s ℤ))𝐸) = (𝐸↑𝑃)) |
33 | 32 | fveq2d 6900 |
. . . 4
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → ((ℤRHom‘𝐹)‘(𝑃(.g‘((mulGrp‘ℂfld)
↾s ℤ))𝐸)) =
((ℤRHom‘𝐹)‘(𝐸↑𝑃))) |
34 | | fermltlchr.4 |
. . . . . . . . 9
⊢ (𝜑 → 𝐹 ∈ CRing) |
35 | 34 | crngringd 20198 |
. . . . . . . 8
⊢ (𝜑 → 𝐹 ∈ Ring) |
36 | | eqid 2725 |
. . . . . . . . 9
⊢
(ℤRHom‘𝐹) = (ℤRHom‘𝐹) |
37 | 36 | zrhrhm 21454 |
. . . . . . . 8
⊢ (𝐹 ∈ Ring →
(ℤRHom‘𝐹)
∈ (ℤring RingHom 𝐹)) |
38 | 35, 37 | syl 17 |
. . . . . . 7
⊢ (𝜑 → (ℤRHom‘𝐹) ∈ (ℤring
RingHom 𝐹)) |
39 | | zringmpg 21414 |
. . . . . . . 8
⊢
((mulGrp‘ℂfld) ↾s ℤ) =
(mulGrp‘ℤring) |
40 | | eqid 2725 |
. . . . . . . 8
⊢
(mulGrp‘𝐹) =
(mulGrp‘𝐹) |
41 | 39, 40 | rhmmhm 20430 |
. . . . . . 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 479 |
. . . . 5
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → (ℤRHom‘𝐹) ∈
(((mulGrp‘ℂfld) ↾s ℤ) MndHom
(mulGrp‘𝐹))) |
44 | 9, 13 | ressbas2 17221 |
. . . . . . 7
⊢ (ℤ
⊆ ℂ → ℤ =
(Base‘((mulGrp‘ℂfld) ↾s
ℤ))) |
45 | 10, 44 | ax-mp 5 |
. . . . . 6
⊢ ℤ =
(Base‘((mulGrp‘ℂfld) ↾s
ℤ)) |
46 | | eqid 2725 |
. . . . . 6
⊢
(.g‘((mulGrp‘ℂfld)
↾s ℤ)) =
(.g‘((mulGrp‘ℂfld) ↾s
ℤ)) |
47 | | fermltlchr.p |
. . . . . 6
⊢ ↑ =
(.g‘(mulGrp‘𝐹)) |
48 | 45, 46, 47 | mhmmulg 19078 |
. . . . 5
⊢
(((ℤRHom‘𝐹) ∈
(((mulGrp‘ℂfld) ↾s ℤ) MndHom
(mulGrp‘𝐹)) ∧
𝑃 ∈
ℕ0 ∧ 𝐸
∈ ℤ) → ((ℤRHom‘𝐹)‘(𝑃(.g‘((mulGrp‘ℂfld)
↾s ℤ))𝐸)) = (𝑃 ↑ ((ℤRHom‘𝐹)‘𝐸))) |
49 | 43, 6, 8, 48 | syl3anc 1368 |
. . . 4
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → ((ℤRHom‘𝐹)‘(𝑃(.g‘((mulGrp‘ℂfld)
↾s ℤ))𝐸)) = (𝑃 ↑ ((ℤRHom‘𝐹)‘𝐸))) |
50 | 7, 5 | zexpcld 14088 |
. . . . . . . . 9
⊢ (𝜑 → (𝐸↑𝑃) ∈ ℤ) |
51 | | eqid 2725 |
. . . . . . . . . 10
⊢
(-g‘ℤring) =
(-g‘ℤring) |
52 | 51 | zringsubgval 21413 |
. . . . . . . . 9
⊢ (((𝐸↑𝑃) ∈ ℤ ∧ 𝐸 ∈ ℤ) → ((𝐸↑𝑃) − 𝐸) = ((𝐸↑𝑃)(-g‘ℤring)𝐸)) |
53 | 50, 7, 52 | syl2anc 582 |
. . . . . . . 8
⊢ (𝜑 → ((𝐸↑𝑃) − 𝐸) = ((𝐸↑𝑃)(-g‘ℤring)𝐸)) |
54 | 53 | fveq2d 6900 |
. . . . . . 7
⊢ (𝜑 → ((ℤRHom‘𝐹)‘((𝐸↑𝑃) − 𝐸)) = ((ℤRHom‘𝐹)‘((𝐸↑𝑃)(-g‘ℤring)𝐸))) |
55 | 50 | zred 12699 |
. . . . . . . . . . 11
⊢ (𝜑 → (𝐸↑𝑃) ∈ ℝ) |
56 | 7 | zred 12699 |
. . . . . . . . . . 11
⊢ (𝜑 → 𝐸 ∈ ℝ) |
57 | 2, 3 | syl 17 |
. . . . . . . . . . . 12
⊢ (𝜑 → 𝑃 ∈ ℕ) |
58 | 57 | nnrpd 13049 |
. . . . . . . . . . 11
⊢ (𝜑 → 𝑃 ∈
ℝ+) |
59 | | fermltl 16756 |
. . . . . . . . . . . 12
⊢ ((𝑃 ∈ ℙ ∧ 𝐸 ∈ ℤ) → ((𝐸↑𝑃) mod 𝑃) = (𝐸 mod 𝑃)) |
60 | 2, 7, 59 | syl2anc 582 |
. . . . . . . . . . 11
⊢ (𝜑 → ((𝐸↑𝑃) mod 𝑃) = (𝐸 mod 𝑃)) |
61 | | eqidd 2726 |
. . . . . . . . . . 11
⊢ (𝜑 → (𝐸 mod 𝑃) = (𝐸 mod 𝑃)) |
62 | 55, 56, 56, 56, 58, 60, 61 | modsub12d 13929 |
. . . . . . . . . 10
⊢ (𝜑 → (((𝐸↑𝑃) − 𝐸) mod 𝑃) = ((𝐸 − 𝐸) mod 𝑃)) |
63 | | zcn 12596 |
. . . . . . . . . . . . 13
⊢ (𝐸 ∈ ℤ → 𝐸 ∈
ℂ) |
64 | 63 | subidd 11591 |
. . . . . . . . . . . 12
⊢ (𝐸 ∈ ℤ → (𝐸 − 𝐸) = 0) |
65 | 7, 64 | syl 17 |
. . . . . . . . . . 11
⊢ (𝜑 → (𝐸 − 𝐸) = 0) |
66 | 65 | oveq1d 7434 |
. . . . . . . . . 10
⊢ (𝜑 → ((𝐸 − 𝐸) mod 𝑃) = (0 mod 𝑃)) |
67 | | 0mod 13903 |
. . . . . . . . . . 11
⊢ (𝑃 ∈ ℝ+
→ (0 mod 𝑃) =
0) |
68 | 58, 67 | syl 17 |
. . . . . . . . . 10
⊢ (𝜑 → (0 mod 𝑃) = 0) |
69 | 62, 66, 68 | 3eqtrd 2769 |
. . . . . . . . 9
⊢ (𝜑 → (((𝐸↑𝑃) − 𝐸) mod 𝑃) = 0) |
70 | 50, 7 | zsubcld 12704 |
. . . . . . . . . 10
⊢ (𝜑 → ((𝐸↑𝑃) − 𝐸) ∈ ℤ) |
71 | | dvdsval3 16238 |
. . . . . . . . . 10
⊢ ((𝑃 ∈ ℕ ∧ ((𝐸↑𝑃) − 𝐸) ∈ ℤ) → (𝑃 ∥ ((𝐸↑𝑃) − 𝐸) ↔ (((𝐸↑𝑃) − 𝐸) mod 𝑃) = 0)) |
72 | 57, 70, 71 | syl2anc 582 |
. . . . . . . . 9
⊢ (𝜑 → (𝑃 ∥ ((𝐸↑𝑃) − 𝐸) ↔ (((𝐸↑𝑃) − 𝐸) mod 𝑃) = 0)) |
73 | 69, 72 | mpbird 256 |
. . . . . . . 8
⊢ (𝜑 → 𝑃 ∥ ((𝐸↑𝑃) − 𝐸)) |
74 | | fermltlchr.z |
. . . . . . . . . 10
⊢ 𝑃 = (chr‘𝐹) |
75 | | eqid 2725 |
. . . . . . . . . 10
⊢
(0g‘𝐹) = (0g‘𝐹) |
76 | 74, 36, 75 | chrdvds 21473 |
. . . . . . . . 9
⊢ ((𝐹 ∈ Ring ∧ ((𝐸↑𝑃) − 𝐸) ∈ ℤ) → (𝑃 ∥ ((𝐸↑𝑃) − 𝐸) ↔ ((ℤRHom‘𝐹)‘((𝐸↑𝑃) − 𝐸)) = (0g‘𝐹))) |
77 | 35, 70, 76 | syl2anc 582 |
. . . . . . . 8
⊢ (𝜑 → (𝑃 ∥ ((𝐸↑𝑃) − 𝐸) ↔ ((ℤRHom‘𝐹)‘((𝐸↑𝑃) − 𝐸)) = (0g‘𝐹))) |
78 | 73, 77 | mpbid 231 |
. . . . . . 7
⊢ (𝜑 → ((ℤRHom‘𝐹)‘((𝐸↑𝑃) − 𝐸)) = (0g‘𝐹)) |
79 | | rhmghm 20435 |
. . . . . . . . 9
⊢
((ℤRHom‘𝐹) ∈ (ℤring RingHom
𝐹) →
(ℤRHom‘𝐹)
∈ (ℤring GrpHom 𝐹)) |
80 | 38, 79 | syl 17 |
. . . . . . . 8
⊢ (𝜑 → (ℤRHom‘𝐹) ∈ (ℤring
GrpHom 𝐹)) |
81 | | zringbas 21396 |
. . . . . . . . 9
⊢ ℤ =
(Base‘ℤring) |
82 | | eqid 2725 |
. . . . . . . . 9
⊢
(-g‘𝐹) = (-g‘𝐹) |
83 | 81, 51, 82 | ghmsub 19187 |
. . . . . . . 8
⊢
(((ℤRHom‘𝐹) ∈ (ℤring GrpHom
𝐹) ∧ (𝐸↑𝑃) ∈ ℤ ∧ 𝐸 ∈ ℤ) →
((ℤRHom‘𝐹)‘((𝐸↑𝑃)(-g‘ℤring)𝐸)) = (((ℤRHom‘𝐹)‘(𝐸↑𝑃))(-g‘𝐹)((ℤRHom‘𝐹)‘𝐸))) |
84 | 80, 50, 7, 83 | syl3anc 1368 |
. . . . . . 7
⊢ (𝜑 → ((ℤRHom‘𝐹)‘((𝐸↑𝑃)(-g‘ℤring)𝐸)) = (((ℤRHom‘𝐹)‘(𝐸↑𝑃))(-g‘𝐹)((ℤRHom‘𝐹)‘𝐸))) |
85 | 54, 78, 84 | 3eqtr3rd 2774 |
. . . . . 6
⊢ (𝜑 → (((ℤRHom‘𝐹)‘(𝐸↑𝑃))(-g‘𝐹)((ℤRHom‘𝐹)‘𝐸)) = (0g‘𝐹)) |
86 | 34 | crnggrpd 20199 |
. . . . . . 7
⊢ (𝜑 → 𝐹 ∈ Grp) |
87 | | eqid 2725 |
. . . . . . . . . 10
⊢
(Base‘𝐹) =
(Base‘𝐹) |
88 | 81, 87 | rhmf 20436 |
. . . . . . . . 9
⊢
((ℤRHom‘𝐹) ∈ (ℤring RingHom
𝐹) →
(ℤRHom‘𝐹):ℤ⟶(Base‘𝐹)) |
89 | 38, 88 | syl 17 |
. . . . . . . 8
⊢ (𝜑 → (ℤRHom‘𝐹):ℤ⟶(Base‘𝐹)) |
90 | 89, 50 | ffvelcdmd 7094 |
. . . . . . 7
⊢ (𝜑 → ((ℤRHom‘𝐹)‘(𝐸↑𝑃)) ∈ (Base‘𝐹)) |
91 | 89, 7 | ffvelcdmd 7094 |
. . . . . . 7
⊢ (𝜑 → ((ℤRHom‘𝐹)‘𝐸) ∈ (Base‘𝐹)) |
92 | 87, 75, 82 | grpsubeq0 18990 |
. . . . . . 7
⊢ ((𝐹 ∈ Grp ∧
((ℤRHom‘𝐹)‘(𝐸↑𝑃)) ∈ (Base‘𝐹) ∧ ((ℤRHom‘𝐹)‘𝐸) ∈ (Base‘𝐹)) → ((((ℤRHom‘𝐹)‘(𝐸↑𝑃))(-g‘𝐹)((ℤRHom‘𝐹)‘𝐸)) = (0g‘𝐹) ↔ ((ℤRHom‘𝐹)‘(𝐸↑𝑃)) = ((ℤRHom‘𝐹)‘𝐸))) |
93 | 86, 90, 91, 92 | syl3anc 1368 |
. . . . . 6
⊢ (𝜑 →
((((ℤRHom‘𝐹)‘(𝐸↑𝑃))(-g‘𝐹)((ℤRHom‘𝐹)‘𝐸)) = (0g‘𝐹) ↔ ((ℤRHom‘𝐹)‘(𝐸↑𝑃)) = ((ℤRHom‘𝐹)‘𝐸))) |
94 | 85, 93 | mpbid 231 |
. . . . 5
⊢ (𝜑 → ((ℤRHom‘𝐹)‘(𝐸↑𝑃)) = ((ℤRHom‘𝐹)‘𝐸)) |
95 | 94 | adantr 479 |
. . . 4
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → ((ℤRHom‘𝐹)‘(𝐸↑𝑃)) = ((ℤRHom‘𝐹)‘𝐸)) |
96 | 33, 49, 95 | 3eqtr3d 2773 |
. . 3
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → (𝑃 ↑
((ℤRHom‘𝐹)‘𝐸)) = ((ℤRHom‘𝐹)‘𝐸)) |
97 | | oveq2 7427 |
. . . 4
⊢ (𝐴 = ((ℤRHom‘𝐹)‘𝐸) → (𝑃 ↑ 𝐴) = (𝑃 ↑
((ℤRHom‘𝐹)‘𝐸))) |
98 | 97 | adantl 480 |
. . 3
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → (𝑃 ↑ 𝐴) = (𝑃 ↑
((ℤRHom‘𝐹)‘𝐸))) |
99 | | simpr 483 |
. . 3
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) |
100 | 96, 98, 99 | 3eqtr4d 2775 |
. 2
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → (𝑃 ↑ 𝐴) = 𝐴) |
101 | 1, 100 | mpan2 689 |
1
⊢ (𝜑 → (𝑃 ↑ 𝐴) = 𝐴) |