Step | Hyp | Ref
| Expression |
1 | | eulerth.1 |
. . . . . 6
|
2 | | eulerth.2 |
. . . . . 6
..^ |
3 | | eulerth.4 |
. . . . . 6
|
4 | 1, 2, 3 | eulerthlema 12162 |
. . . . 5
|
5 | 1 | simp1d 999 |
. . . . . 6
|
6 | 1 | simp2d 1000 |
. . . . . . . 8
|
7 | 5 | phicld 12150 |
. . . . . . . . 9
|
8 | 7 | nnnn0d 9167 |
. . . . . . . 8
|
9 | | zexpcl 10470 |
. . . . . . . 8
|
10 | 6, 8, 9 | syl2anc 409 |
. . . . . . 7
|
11 | | 1zzd 9218 |
. . . . . . . . 9
|
12 | 7 | nnzd 9312 |
. . . . . . . . 9
|
13 | 11, 12 | fzfigd 10366 |
. . . . . . . 8
|
14 | | ssrab2 3227 |
. . . . . . . . . . 11
..^ ..^ |
15 | 2, 14 | eqsstri 3174 |
. . . . . . . . . 10
..^ |
16 | | fzo0ssnn0 10150 |
. . . . . . . . . . 11
..^ |
17 | | nn0ssz 9209 |
. . . . . . . . . . 11
|
18 | 16, 17 | sstri 3151 |
. . . . . . . . . 10
..^ |
19 | 15, 18 | sstri 3151 |
. . . . . . . . 9
|
20 | | f1of 5432 |
. . . . . . . . . . 11
|
21 | 3, 20 | syl 14 |
. . . . . . . . . 10
|
22 | 21 | ffvelrnda 5620 |
. . . . . . . . 9
|
23 | 19, 22 | sselid 3140 |
. . . . . . . 8
|
24 | 13, 23 | fprodzcl 11550 |
. . . . . . 7
|
25 | 10, 24 | zmulcld 9319 |
. . . . . 6
|
26 | | fveq2 5486 |
. . . . . . . . 9
|
27 | | eqid 2165 |
. . . . . . . . . 10
|
28 | 1, 2, 3, 27 | eulerthlemh 12163 |
. . . . . . . . 9
|
29 | | eqid 2165 |
. . . . . . . . . . . . 13
|
30 | | fveq2 5486 |
. . . . . . . . . . . . . . . 16
|
31 | 30 | oveq2d 5858 |
. . . . . . . . . . . . . . 15
|
32 | 31 | oveq1d 5857 |
. . . . . . . . . . . . . 14
|
33 | 32 | cbvmptv 4078 |
. . . . . . . . . . . . 13
|
34 | 1, 2, 29, 3, 33 | eulerthlem1 12159 |
. . . . . . . . . . . 12
|
35 | | fveq2 5486 |
. . . . . . . . . . . . . . . 16
|
36 | 35 | oveq2d 5858 |
. . . . . . . . . . . . . . 15
|
37 | 36 | oveq1d 5857 |
. . . . . . . . . . . . . 14
|
38 | 37 | cbvmptv 4078 |
. . . . . . . . . . . . 13
|
39 | 38 | feq1i 5330 |
. . . . . . . . . . . 12
|
40 | 34, 39 | sylib 121 |
. . . . . . . . . . 11
|
41 | | fvco3 5557 |
. . . . . . . . . . 11
|
42 | 40, 41 | sylan 281 |
. . . . . . . . . 10
|
43 | | eqid 2165 |
. . . . . . . . . . . 12
|
44 | | fveq2 5486 |
. . . . . . . . . . . . . 14
|
45 | 44 | oveq2d 5858 |
. . . . . . . . . . . . 13
|
46 | 45 | oveq1d 5857 |
. . . . . . . . . . . 12
|
47 | | simpr 109 |
. . . . . . . . . . . 12
|
48 | 6 | adantr 274 |
. . . . . . . . . . . . . 14
|
49 | 48, 23 | zmulcld 9319 |
. . . . . . . . . . . . 13
|
50 | 5 | adantr 274 |
. . . . . . . . . . . . 13
|
51 | | zmodfzo 10282 |
. . . . . . . . . . . . 13
..^ |
52 | 49, 50, 51 | syl2anc 409 |
. . . . . . . . . . . 12
..^ |
53 | 43, 46, 47, 52 | fvmptd3 5579 |
. . . . . . . . . . 11
|
54 | 53 | fveq2d 5490 |
. . . . . . . . . 10
|
55 | 42, 54 | eqtrd 2198 |
. . . . . . . . 9
|
56 | 21 | ffvelrnda 5620 |
. . . . . . . . . . 11
|
57 | 19, 56 | sselid 3140 |
. . . . . . . . . 10
|
58 | 57 | zcnd 9314 |
. . . . . . . . 9
|
59 | 26, 13, 28, 55, 58 | fprodf1o 11529 |
. . . . . . . 8
|
60 | 3 | adantr 274 |
. . . . . . . . . 10
|
61 | | modgcd 11924 |
. . . . . . . . . . . . 13
|
62 | 49, 50, 61 | syl2anc 409 |
. . . . . . . . . . . 12
|
63 | 50 | nnzd 9312 |
. . . . . . . . . . . . 13
|
64 | 63, 49 | gcdcomd 11907 |
. . . . . . . . . . . 12
|
65 | 5 | nnzd 9312 |
. . . . . . . . . . . . . . . 16
|
66 | 6, 65 | gcdcomd 11907 |
. . . . . . . . . . . . . . 15
|
67 | 1 | simp3d 1001 |
. . . . . . . . . . . . . . 15
|
68 | 66, 67 | eqtr3d 2200 |
. . . . . . . . . . . . . 14
|
69 | 68 | adantr 274 |
. . . . . . . . . . . . 13
|
70 | 23, 63 | gcdcomd 11907 |
. . . . . . . . . . . . . 14
|
71 | | oveq1 5849 |
. . . . . . . . . . . . . . . . . 18
|
72 | 71 | eqeq1d 2174 |
. . . . . . . . . . . . . . . . 17
|
73 | 72, 2 | elrab2 2885 |
. . . . . . . . . . . . . . . 16
..^ |
74 | 22, 73 | sylib 121 |
. . . . . . . . . . . . . . 15
..^ |
75 | 74 | simprd 113 |
. . . . . . . . . . . . . 14
|
76 | 70, 75 | eqtr3d 2200 |
. . . . . . . . . . . . 13
|
77 | | rpmul 12030 |
. . . . . . . . . . . . . 14
|
78 | 63, 48, 23, 77 | syl3anc 1228 |
. . . . . . . . . . . . 13
|
79 | 69, 76, 78 | mp2and 430 |
. . . . . . . . . . . 12
|
80 | 62, 64, 79 | 3eqtr2d 2204 |
. . . . . . . . . . 11
|
81 | | oveq1 5849 |
. . . . . . . . . . . . 13
|
82 | 81 | eqeq1d 2174 |
. . . . . . . . . . . 12
|
83 | 82, 2 | elrab2 2885 |
. . . . . . . . . . 11
..^ |
84 | 52, 80, 83 | sylanbrc 414 |
. . . . . . . . . 10
|
85 | | f1ocnvfv2 5746 |
. . . . . . . . . 10
|
86 | 60, 84, 85 | syl2anc 409 |
. . . . . . . . 9
|
87 | 86 | prodeq2dv 11507 |
. . . . . . . 8
|
88 | 59, 87 | eqtr2d 2199 |
. . . . . . 7
|
89 | | fveq2 5486 |
. . . . . . . . 9
|
90 | 89 | cbvprodv 11500 |
. . . . . . . 8
|
91 | 90, 24 | eqeltrid 2253 |
. . . . . . 7
|
92 | 88, 91 | eqeltrd 2243 |
. . . . . 6
|
93 | | moddvds 11739 |
. . . . . 6
|
94 | 5, 25, 92, 93 | syl3anc 1228 |
. . . . 5
|
95 | 4, 94 | mpbid 146 |
. . . 4
|
96 | 24 | zcnd 9314 |
. . . . . . . 8
|
97 | 96 | mulid2d 7917 |
. . . . . . 7
|
98 | 90, 88, 97 | 3eqtr4a 2225 |
. . . . . 6
|
99 | 98 | oveq2d 5858 |
. . . . 5
|
100 | 10 | zcnd 9314 |
. . . . . 6
|
101 | | ax-1cn 7846 |
. . . . . . 7
|
102 | | subdir 8284 |
. . . . . . 7
|
103 | 101, 102 | mp3an2 1315 |
. . . . . 6
|
104 | 100, 96, 103 | syl2anc 409 |
. . . . 5
|
105 | 10, 11 | zsubcld 9318 |
. . . . . . 7
|
106 | 105 | zcnd 9314 |
. . . . . 6
|
107 | 106, 96 | mulcomd 7920 |
. . . . 5
|
108 | 99, 104, 107 | 3eqtr2d 2204 |
. . . 4
|
109 | 95, 108 | breqtrd 4008 |
. . 3
|
110 | 1, 2, 3 | eulerthlemrprm 12161 |
. . 3
|
111 | | coprmdvds 12024 |
. . . 4
|
112 | 65, 24, 105, 111 | syl3anc 1228 |
. . 3
|
113 | 109, 110,
112 | mp2and 430 |
. 2
|
114 | | 1z 9217 |
. . . 4
|
115 | | moddvds 11739 |
. . . 4
|
116 | 114, 115 | mp3an3 1316 |
. . 3
|
117 | 5, 10, 116 | syl2anc 409 |
. 2
|
118 | 113, 117 | mpbird 166 |
1
|