Proof of Theorem fermltlchr
Step | Hyp | Ref
| Expression |
1 | | fermltlchr.1 |
. 2
⊢ 𝐴 = ((ℤRHom‘𝐹)‘𝐸) |
2 | | fermltlchr.2 |
. . . . . . . . 9
⊢ (𝜑 → 𝑃 ∈ ℙ) |
3 | | prmnn 16453 |
. . . . . . . . . 10
⊢ (𝑃 ∈ ℙ → 𝑃 ∈
ℕ) |
4 | 3 | nnnn0d 12372 |
. . . . . . . . 9
⊢ (𝑃 ∈ ℙ → 𝑃 ∈
ℕ0) |
5 | 2, 4 | syl 17 |
. . . . . . . 8
⊢ (𝜑 → 𝑃 ∈
ℕ0) |
6 | 5 | adantr 481 |
. . . . . . 7
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → 𝑃 ∈
ℕ0) |
7 | | fermltlchr.3 |
. . . . . . . 8
⊢ (𝜑 → 𝐸 ∈ ℤ) |
8 | 7 | adantr 481 |
. . . . . . 7
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → 𝐸 ∈ ℤ) |
9 | | eqid 2736 |
. . . . . . . 8
⊢
((mulGrp‘ℂfld) ↾s ℤ) =
((mulGrp‘ℂfld) ↾s
ℤ) |
10 | | zsscn 12406 |
. . . . . . . . 9
⊢ ℤ
⊆ ℂ |
11 | | eqid 2736 |
. . . . . . . . . 10
⊢
(mulGrp‘ℂfld) =
(mulGrp‘ℂfld) |
12 | | cnfldbas 20681 |
. . . . . . . . . 10
⊢ ℂ =
(Base‘ℂfld) |
13 | 11, 12 | mgpbas 19798 |
. . . . . . . . 9
⊢ ℂ =
(Base‘(mulGrp‘ℂfld)) |
14 | 10, 13 | sseqtri 3966 |
. . . . . . . 8
⊢ ℤ
⊆ (Base‘(mulGrp‘ℂfld)) |
15 | | eqid 2736 |
. . . . . . . 8
⊢
(.g‘(mulGrp‘ℂfld)) =
(.g‘(mulGrp‘ℂfld)) |
16 | | eqid 2736 |
. . . . . . . 8
⊢
(invg‘(mulGrp‘ℂfld)) =
(invg‘(mulGrp‘ℂfld)) |
17 | | cnring 20700 |
. . . . . . . . . 10
⊢
ℂfld ∈ Ring |
18 | 11 | ringmgp 19861 |
. . . . . . . . . 10
⊢
(ℂfld ∈ Ring →
(mulGrp‘ℂfld) ∈ Mnd) |
19 | 17, 18 | ax-mp 5 |
. . . . . . . . 9
⊢
(mulGrp‘ℂfld) ∈ Mnd |
20 | | cnfld1 20703 |
. . . . . . . . . . 11
⊢ 1 =
(1r‘ℂfld) |
21 | 11, 20 | ringidval 19811 |
. . . . . . . . . 10
⊢ 1 =
(0g‘(mulGrp‘ℂfld)) |
22 | | 1z 12429 |
. . . . . . . . . 10
⊢ 1 ∈
ℤ |
23 | 21, 22 | eqeltrri 2834 |
. . . . . . . . 9
⊢
(0g‘(mulGrp‘ℂfld)) ∈
ℤ |
24 | | eqid 2736 |
. . . . . . . . . 10
⊢
(0g‘(mulGrp‘ℂfld)) =
(0g‘(mulGrp‘ℂfld)) |
25 | 9, 13, 24 | ress0g 18487 |
. . . . . . . . 9
⊢
(((mulGrp‘ℂfld) ∈ Mnd ∧
(0g‘(mulGrp‘ℂfld)) ∈ ℤ ∧
ℤ ⊆ ℂ) →
(0g‘(mulGrp‘ℂfld)) =
(0g‘((mulGrp‘ℂfld) ↾s
ℤ))) |
26 | 19, 23, 10, 25 | mp3an 1460 |
. . . . . . . 8
⊢
(0g‘(mulGrp‘ℂfld)) =
(0g‘((mulGrp‘ℂfld) ↾s
ℤ)) |
27 | 9, 14, 15, 16, 26 | ressmulgnn0 31424 |
. . . . . . 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 12506 |
. . . . . . 7
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → 𝐸 ∈ ℂ) |
30 | | cnfldexp 20711 |
. . . . . . 7
⊢ ((𝐸 ∈ ℂ ∧ 𝑃 ∈ ℕ0)
→ (𝑃(.g‘(mulGrp‘ℂfld))𝐸) = (𝐸↑𝑃)) |
31 | 29, 6, 30 | syl2anc 584 |
. . . . . 6
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → (𝑃(.g‘(mulGrp‘ℂfld))𝐸) = (𝐸↑𝑃)) |
32 | 28, 31 | eqtrd 2776 |
. . . . 5
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → (𝑃(.g‘((mulGrp‘ℂfld)
↾s ℤ))𝐸) = (𝐸↑𝑃)) |
33 | 32 | fveq2d 6815 |
. . . 4
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → ((ℤRHom‘𝐹)‘(𝑃(.g‘((mulGrp‘ℂfld)
↾s ℤ))𝐸)) =
((ℤRHom‘𝐹)‘(𝐸↑𝑃))) |
34 | | fermltlchr.4 |
. . . . . . . . 9
⊢ (𝜑 → 𝐹 ∈ CRing) |
35 | 34 | crngringd 19868 |
. . . . . . . 8
⊢ (𝜑 → 𝐹 ∈ Ring) |
36 | | eqid 2736 |
. . . . . . . . 9
⊢
(ℤRHom‘𝐹) = (ℤRHom‘𝐹) |
37 | 36 | zrhrhm 20793 |
. . . . . . . 8
⊢ (𝐹 ∈ Ring →
(ℤRHom‘𝐹)
∈ (ℤring RingHom 𝐹)) |
38 | 35, 37 | syl 17 |
. . . . . . 7
⊢ (𝜑 → (ℤRHom‘𝐹) ∈ (ℤring
RingHom 𝐹)) |
39 | | zringmpg 20773 |
. . . . . . . 8
⊢
((mulGrp‘ℂfld) ↾s ℤ) =
(mulGrp‘ℤring) |
40 | | eqid 2736 |
. . . . . . . 8
⊢
(mulGrp‘𝐹) =
(mulGrp‘𝐹) |
41 | 39, 40 | rhmmhm 20038 |
. . . . . . 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 481 |
. . . . 5
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → (ℤRHom‘𝐹) ∈
(((mulGrp‘ℂfld) ↾s ℤ) MndHom
(mulGrp‘𝐹))) |
44 | 9, 13 | ressbas2 17023 |
. . . . . . 7
⊢ (ℤ
⊆ ℂ → ℤ =
(Base‘((mulGrp‘ℂfld) ↾s
ℤ))) |
45 | 10, 44 | ax-mp 5 |
. . . . . 6
⊢ ℤ =
(Base‘((mulGrp‘ℂfld) ↾s
ℤ)) |
46 | | eqid 2736 |
. . . . . 6
⊢
(.g‘((mulGrp‘ℂfld)
↾s ℤ)) =
(.g‘((mulGrp‘ℂfld) ↾s
ℤ)) |
47 | | fermltlchr.p |
. . . . . 6
⊢ ↑ =
(.g‘(mulGrp‘𝐹)) |
48 | 45, 46, 47 | mhmmulg 18817 |
. . . . 5
⊢
(((ℤRHom‘𝐹) ∈
(((mulGrp‘ℂfld) ↾s ℤ) MndHom
(mulGrp‘𝐹)) ∧
𝑃 ∈
ℕ0 ∧ 𝐸
∈ ℤ) → ((ℤRHom‘𝐹)‘(𝑃(.g‘((mulGrp‘ℂfld)
↾s ℤ))𝐸)) = (𝑃 ↑ ((ℤRHom‘𝐹)‘𝐸))) |
49 | 43, 6, 8, 48 | syl3anc 1370 |
. . . 4
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → ((ℤRHom‘𝐹)‘(𝑃(.g‘((mulGrp‘ℂfld)
↾s ℤ))𝐸)) = (𝑃 ↑ ((ℤRHom‘𝐹)‘𝐸))) |
50 | 7, 5 | zexpcld 13887 |
. . . . . . . . 9
⊢ (𝜑 → (𝐸↑𝑃) ∈ ℤ) |
51 | | eqid 2736 |
. . . . . . . . . 10
⊢
(-g‘ℤring) =
(-g‘ℤring) |
52 | 51 | zringsubgval 20772 |
. . . . . . . . 9
⊢ (((𝐸↑𝑃) ∈ ℤ ∧ 𝐸 ∈ ℤ) → ((𝐸↑𝑃) − 𝐸) = ((𝐸↑𝑃)(-g‘ℤring)𝐸)) |
53 | 50, 7, 52 | syl2anc 584 |
. . . . . . . 8
⊢ (𝜑 → ((𝐸↑𝑃) − 𝐸) = ((𝐸↑𝑃)(-g‘ℤring)𝐸)) |
54 | 53 | fveq2d 6815 |
. . . . . . 7
⊢ (𝜑 → ((ℤRHom‘𝐹)‘((𝐸↑𝑃) − 𝐸)) = ((ℤRHom‘𝐹)‘((𝐸↑𝑃)(-g‘ℤring)𝐸))) |
55 | 50 | zred 12505 |
. . . . . . . . . . 11
⊢ (𝜑 → (𝐸↑𝑃) ∈ ℝ) |
56 | 7 | zred 12505 |
. . . . . . . . . . 11
⊢ (𝜑 → 𝐸 ∈ ℝ) |
57 | 2, 3 | syl 17 |
. . . . . . . . . . . 12
⊢ (𝜑 → 𝑃 ∈ ℕ) |
58 | 57 | nnrpd 12849 |
. . . . . . . . . . 11
⊢ (𝜑 → 𝑃 ∈
ℝ+) |
59 | | fermltl 16559 |
. . . . . . . . . . . 12
⊢ ((𝑃 ∈ ℙ ∧ 𝐸 ∈ ℤ) → ((𝐸↑𝑃) mod 𝑃) = (𝐸 mod 𝑃)) |
60 | 2, 7, 59 | syl2anc 584 |
. . . . . . . . . . 11
⊢ (𝜑 → ((𝐸↑𝑃) mod 𝑃) = (𝐸 mod 𝑃)) |
61 | | eqidd 2737 |
. . . . . . . . . . 11
⊢ (𝜑 → (𝐸 mod 𝑃) = (𝐸 mod 𝑃)) |
62 | 55, 56, 56, 56, 58, 60, 61 | modsub12d 13727 |
. . . . . . . . . 10
⊢ (𝜑 → (((𝐸↑𝑃) − 𝐸) mod 𝑃) = ((𝐸 − 𝐸) mod 𝑃)) |
63 | | zcn 12403 |
. . . . . . . . . . . . 13
⊢ (𝐸 ∈ ℤ → 𝐸 ∈
ℂ) |
64 | 63 | subidd 11399 |
. . . . . . . . . . . 12
⊢ (𝐸 ∈ ℤ → (𝐸 − 𝐸) = 0) |
65 | 7, 64 | syl 17 |
. . . . . . . . . . 11
⊢ (𝜑 → (𝐸 − 𝐸) = 0) |
66 | 65 | oveq1d 7331 |
. . . . . . . . . 10
⊢ (𝜑 → ((𝐸 − 𝐸) mod 𝑃) = (0 mod 𝑃)) |
67 | | 0mod 13701 |
. . . . . . . . . . 11
⊢ (𝑃 ∈ ℝ+
→ (0 mod 𝑃) =
0) |
68 | 58, 67 | syl 17 |
. . . . . . . . . 10
⊢ (𝜑 → (0 mod 𝑃) = 0) |
69 | 62, 66, 68 | 3eqtrd 2780 |
. . . . . . . . 9
⊢ (𝜑 → (((𝐸↑𝑃) − 𝐸) mod 𝑃) = 0) |
70 | 50, 7 | zsubcld 12510 |
. . . . . . . . . 10
⊢ (𝜑 → ((𝐸↑𝑃) − 𝐸) ∈ ℤ) |
71 | | dvdsval3 16043 |
. . . . . . . . . 10
⊢ ((𝑃 ∈ ℕ ∧ ((𝐸↑𝑃) − 𝐸) ∈ ℤ) → (𝑃 ∥ ((𝐸↑𝑃) − 𝐸) ↔ (((𝐸↑𝑃) − 𝐸) mod 𝑃) = 0)) |
72 | 57, 70, 71 | syl2anc 584 |
. . . . . . . . 9
⊢ (𝜑 → (𝑃 ∥ ((𝐸↑𝑃) − 𝐸) ↔ (((𝐸↑𝑃) − 𝐸) mod 𝑃) = 0)) |
73 | 69, 72 | mpbird 256 |
. . . . . . . 8
⊢ (𝜑 → 𝑃 ∥ ((𝐸↑𝑃) − 𝐸)) |
74 | | fermltlchr.z |
. . . . . . . . . 10
⊢ 𝑃 = (chr‘𝐹) |
75 | | eqid 2736 |
. . . . . . . . . 10
⊢
(0g‘𝐹) = (0g‘𝐹) |
76 | 74, 36, 75 | chrdvds 20812 |
. . . . . . . . 9
⊢ ((𝐹 ∈ Ring ∧ ((𝐸↑𝑃) − 𝐸) ∈ ℤ) → (𝑃 ∥ ((𝐸↑𝑃) − 𝐸) ↔ ((ℤRHom‘𝐹)‘((𝐸↑𝑃) − 𝐸)) = (0g‘𝐹))) |
77 | 35, 70, 76 | syl2anc 584 |
. . . . . . . 8
⊢ (𝜑 → (𝑃 ∥ ((𝐸↑𝑃) − 𝐸) ↔ ((ℤRHom‘𝐹)‘((𝐸↑𝑃) − 𝐸)) = (0g‘𝐹))) |
78 | 73, 77 | mpbid 231 |
. . . . . . 7
⊢ (𝜑 → ((ℤRHom‘𝐹)‘((𝐸↑𝑃) − 𝐸)) = (0g‘𝐹)) |
79 | | rhmghm 20041 |
. . . . . . . . 9
⊢
((ℤRHom‘𝐹) ∈ (ℤring RingHom
𝐹) →
(ℤRHom‘𝐹)
∈ (ℤring GrpHom 𝐹)) |
80 | 38, 79 | syl 17 |
. . . . . . . 8
⊢ (𝜑 → (ℤRHom‘𝐹) ∈ (ℤring
GrpHom 𝐹)) |
81 | | zringbas 20756 |
. . . . . . . . 9
⊢ ℤ =
(Base‘ℤring) |
82 | | eqid 2736 |
. . . . . . . . 9
⊢
(-g‘𝐹) = (-g‘𝐹) |
83 | 81, 51, 82 | ghmsub 18915 |
. . . . . . . 8
⊢
(((ℤRHom‘𝐹) ∈ (ℤring GrpHom
𝐹) ∧ (𝐸↑𝑃) ∈ ℤ ∧ 𝐸 ∈ ℤ) →
((ℤRHom‘𝐹)‘((𝐸↑𝑃)(-g‘ℤring)𝐸)) = (((ℤRHom‘𝐹)‘(𝐸↑𝑃))(-g‘𝐹)((ℤRHom‘𝐹)‘𝐸))) |
84 | 80, 50, 7, 83 | syl3anc 1370 |
. . . . . . 7
⊢ (𝜑 → ((ℤRHom‘𝐹)‘((𝐸↑𝑃)(-g‘ℤring)𝐸)) = (((ℤRHom‘𝐹)‘(𝐸↑𝑃))(-g‘𝐹)((ℤRHom‘𝐹)‘𝐸))) |
85 | 54, 78, 84 | 3eqtr3rd 2785 |
. . . . . 6
⊢ (𝜑 → (((ℤRHom‘𝐹)‘(𝐸↑𝑃))(-g‘𝐹)((ℤRHom‘𝐹)‘𝐸)) = (0g‘𝐹)) |
86 | 34 | crnggrpd 19869 |
. . . . . . 7
⊢ (𝜑 → 𝐹 ∈ Grp) |
87 | | eqid 2736 |
. . . . . . . . . 10
⊢
(Base‘𝐹) =
(Base‘𝐹) |
88 | 81, 87 | rhmf 20042 |
. . . . . . . . 9
⊢
((ℤRHom‘𝐹) ∈ (ℤring RingHom
𝐹) →
(ℤRHom‘𝐹):ℤ⟶(Base‘𝐹)) |
89 | 38, 88 | syl 17 |
. . . . . . . 8
⊢ (𝜑 → (ℤRHom‘𝐹):ℤ⟶(Base‘𝐹)) |
90 | 89, 50 | ffvelcdmd 7001 |
. . . . . . 7
⊢ (𝜑 → ((ℤRHom‘𝐹)‘(𝐸↑𝑃)) ∈ (Base‘𝐹)) |
91 | 89, 7 | ffvelcdmd 7001 |
. . . . . . 7
⊢ (𝜑 → ((ℤRHom‘𝐹)‘𝐸) ∈ (Base‘𝐹)) |
92 | 87, 75, 82 | grpsubeq0 18734 |
. . . . . . 7
⊢ ((𝐹 ∈ Grp ∧
((ℤRHom‘𝐹)‘(𝐸↑𝑃)) ∈ (Base‘𝐹) ∧ ((ℤRHom‘𝐹)‘𝐸) ∈ (Base‘𝐹)) → ((((ℤRHom‘𝐹)‘(𝐸↑𝑃))(-g‘𝐹)((ℤRHom‘𝐹)‘𝐸)) = (0g‘𝐹) ↔ ((ℤRHom‘𝐹)‘(𝐸↑𝑃)) = ((ℤRHom‘𝐹)‘𝐸))) |
93 | 86, 90, 91, 92 | syl3anc 1370 |
. . . . . 6
⊢ (𝜑 →
((((ℤRHom‘𝐹)‘(𝐸↑𝑃))(-g‘𝐹)((ℤRHom‘𝐹)‘𝐸)) = (0g‘𝐹) ↔ ((ℤRHom‘𝐹)‘(𝐸↑𝑃)) = ((ℤRHom‘𝐹)‘𝐸))) |
94 | 85, 93 | mpbid 231 |
. . . . 5
⊢ (𝜑 → ((ℤRHom‘𝐹)‘(𝐸↑𝑃)) = ((ℤRHom‘𝐹)‘𝐸)) |
95 | 94 | adantr 481 |
. . . 4
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → ((ℤRHom‘𝐹)‘(𝐸↑𝑃)) = ((ℤRHom‘𝐹)‘𝐸)) |
96 | 33, 49, 95 | 3eqtr3d 2784 |
. . 3
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → (𝑃 ↑
((ℤRHom‘𝐹)‘𝐸)) = ((ℤRHom‘𝐹)‘𝐸)) |
97 | | oveq2 7324 |
. . . 4
⊢ (𝐴 = ((ℤRHom‘𝐹)‘𝐸) → (𝑃 ↑ 𝐴) = (𝑃 ↑
((ℤRHom‘𝐹)‘𝐸))) |
98 | 97 | adantl 482 |
. . 3
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → (𝑃 ↑ 𝐴) = (𝑃 ↑
((ℤRHom‘𝐹)‘𝐸))) |
99 | | simpr 485 |
. . 3
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) |
100 | 96, 98, 99 | 3eqtr4d 2786 |
. 2
⊢ ((𝜑 ∧ 𝐴 = ((ℤRHom‘𝐹)‘𝐸)) → (𝑃 ↑ 𝐴) = 𝐴) |
101 | 1, 100 | mpan2 688 |
1
⊢ (𝜑 → (𝑃 ↑ 𝐴) = 𝐴) |