Step | Hyp | Ref
| Expression |
1 | | eulerth.4 |
. . . 4
               |
2 | | f1ocnv 5475 |
. . . 4
            
               |
3 | 1, 2 | syl 14 |
. . 3
                |
4 | | eulerth.1 |
. . . . . . 7
  
    |
5 | | eulerth.2 |
. . . . . . 7
  ..^     |
6 | | eqid 2177 |
. . . . . . 7
                 |
7 | | fveq2 5516 |
. . . . . . . . . 10
           |
8 | 7 | oveq2d 5891 |
. . . . . . . . 9
 
             |
9 | 8 | oveq1d 5890 |
. . . . . . . 8
       
           |
10 | 9 | cbvmptv 4100 |
. . . . . . 7
                                     |
11 | 4, 5, 6, 1, 10 | eulerthlem1 12227 |
. . . . . 6
                
                |
12 | | fveq2 5516 |
. . . . . . . . . 10
           |
13 | 12 | oveq2d 5891 |
. . . . . . . . 9
 
             |
14 | 13 | oveq1d 5890 |
. . . . . . . 8
       
           |
15 | 14 | cbvmptv 4100 |
. . . . . . 7
                                     |
16 | 15 | feq1i 5359 |
. . . . . 6
                
                             
                |
17 | 11, 16 | sylib 122 |
. . . . 5
                
                |
18 | 4 | simp1d 1009 |
. . . . . . . . . 10
   |
19 | 18 | adantr 276 |
. . . . . . . . 9
 
                  
  |
20 | 4 | simp2d 1010 |
. . . . . . . . . . 11
   |
21 | 20 | adantr 276 |
. . . . . . . . . 10
 
                  
  |
22 | | ssrab2 3241 |
. . . . . . . . . . . . 13
  ..^     ..^  |
23 | 5, 22 | eqsstri 3188 |
. . . . . . . . . . . 12
 ..^  |
24 | | fzo0ssnn0 10215 |
. . . . . . . . . . . . 13
 ..^  |
25 | | nn0ssz 9271 |
. . . . . . . . . . . . 13
 |
26 | 24, 25 | sstri 3165 |
. . . . . . . . . . . 12
 ..^  |
27 | 23, 26 | sstri 3165 |
. . . . . . . . . . 11
 |
28 | | f1of 5462 |
. . . . . . . . . . . . . 14
            
              |
29 | 1, 28 | syl 14 |
. . . . . . . . . . . . 13
               |
30 | 29 | adantr 276 |
. . . . . . . . . . . 12
 
                  
              |
31 | | simprl 529 |
. . . . . . . . . . . 12
 
                  
          |
32 | 30, 31 | ffvelcdmd 5653 |
. . . . . . . . . . 11
 
                  
      |
33 | 27, 32 | sselid 3154 |
. . . . . . . . . 10
 
                  
      |
34 | 21, 33 | zmulcld 9381 |
. . . . . . . . 9
 
                  
        |
35 | 29 | ffvelcdmda 5652 |
. . . . . . . . . . . 12
 
        
      |
36 | 35 | adantrl 478 |
. . . . . . . . . . 11
 
                  
      |
37 | 27, 36 | sselid 3154 |
. . . . . . . . . 10
 
                  
      |
38 | 21, 37 | zmulcld 9381 |
. . . . . . . . 9
 
                  
        |
39 | | moddvds 11806 |
. . . . . . . . 9
  
     
                      
 
     
         |
40 | 19, 34, 38, 39 | syl3anc 1238 |
. . . . . . . 8
 
                  
       
        
                 |
41 | | eqid 2177 |
. . . . . . . . . 10
                                     |
42 | | fveq2 5516 |
. . . . . . . . . . . 12
           |
43 | 42 | oveq2d 5891 |
. . . . . . . . . . 11
 
             |
44 | 43 | oveq1d 5890 |
. . . . . . . . . 10
       
           |
45 | | zmodfzo 10347 |
. . . . . . . . . . 11
       
          ..^   |
46 | 34, 19, 45 | syl2anc 411 |
. . . . . . . . . 10
 
                  
 
       ..^   |
47 | 41, 44, 31, 46 | fvmptd3 5610 |
. . . . . . . . 9
 
                  
                
               |
48 | | fveq2 5516 |
. . . . . . . . . . . 12
           |
49 | 48 | oveq2d 5891 |
. . . . . . . . . . 11
 
             |
50 | 49 | oveq1d 5890 |
. . . . . . . . . 10
       
           |
51 | | simprr 531 |
. . . . . . . . . 10
 
                  
          |
52 | | zmodfzo 10347 |
. . . . . . . . . . 11
       
          ..^   |
53 | 38, 19, 52 | syl2anc 411 |
. . . . . . . . . 10
 
                  
 
       ..^   |
54 | 41, 50, 51, 53 | fvmptd3 5610 |
. . . . . . . . 9
 
                  
                
               |
55 | 47, 54 | eqeq12d 2192 |
. . . . . . . 8
 
                  
                 
                          
 
            
    |
56 | 21 | zcnd 9376 |
. . . . . . . . . 10
 
                  
  |
57 | 33 | zcnd 9376 |
. . . . . . . . . 10
 
                  
      |
58 | 37 | zcnd 9376 |
. . . . . . . . . 10
 
                  
      |
59 | 56, 57, 58 | subdid 8371 |
. . . . . . . . 9
 
                  
                            |
60 | 59 | breq2d 4016 |
. . . . . . . 8
 
                  
            
                 |
61 | 40, 55, 60 | 3bitr4d 220 |
. . . . . . 7
 
                  
                 
                          

              |
62 | 18 | nnzd 9374 |
. . . . . . . . . . 11
   |
63 | 62, 20 | gcdcomd 11975 |
. . . . . . . . . 10
       |
64 | 4 | simp3d 1011 |
. . . . . . . . . 10
     |
65 | 63, 64 | eqtrd 2210 |
. . . . . . . . 9
     |
66 | 65 | adantr 276 |
. . . . . . . 8
 
                  
    |
67 | 62 | adantr 276 |
. . . . . . . . . 10
 
                  
  |
68 | 33, 37 | zsubcld 9380 |
. . . . . . . . . 10
 
                  
            |
69 | | coprmdvds 12092 |
. . . . . . . . . 10
 
             
                           |
70 | 67, 21, 68, 69 | syl3anc 1238 |
. . . . . . . . 9
 
                  
                              |
71 | | zq 9626 |
. . . . . . . . . . . . 13
           |
72 | 33, 71 | syl 14 |
. . . . . . . . . . . 12
 
                  
      |
73 | | zq 9626 |
. . . . . . . . . . . . . 14
   |
74 | 62, 73 | syl 14 |
. . . . . . . . . . . . 13
   |
75 | 74 | adantr 276 |
. . . . . . . . . . . 12
 
                  
  |
76 | 23, 32 | sselid 3154 |
. . . . . . . . . . . . 13
 
                  
     ..^   |
77 | | elfzole1 10155 |
. . . . . . . . . . . . 13
      ..^
      |
78 | 76, 77 | syl 14 |
. . . . . . . . . . . 12
 
                  
      |
79 | | elfzolt2 10156 |
. . . . . . . . . . . . 13
      ..^
      |
80 | 76, 79 | syl 14 |
. . . . . . . . . . . 12
 
                  
      |
81 | | modqid 10349 |
. . . . . . . . . . . 12
            
          
       |
82 | 72, 75, 78, 80, 81 | syl22anc 1239 |
. . . . . . . . . . 11
 
                  
            |
83 | 27, 35 | sselid 3154 |
. . . . . . . . . . . . . 14
 
        
      |
84 | 83 | adantrl 478 |
. . . . . . . . . . . . 13
 
                  
      |
85 | | zq 9626 |
. . . . . . . . . . . . 13
           |
86 | 84, 85 | syl 14 |
. . . . . . . . . . . 12
 
                  
      |
87 | 23, 35 | sselid 3154 |
. . . . . . . . . . . . . 14
 
        
     ..^   |
88 | | elfzole1 10155 |
. . . . . . . . . . . . . 14
      ..^
      |
89 | 87, 88 | syl 14 |
. . . . . . . . . . . . 13
 
        
      |
90 | 89 | adantrl 478 |
. . . . . . . . . . . 12
 
                  
      |
91 | 87 | adantrl 478 |
. . . . . . . . . . . . 13
 
                  
     ..^   |
92 | | elfzolt2 10156 |
. . . . . . . . . . . . 13
      ..^
      |
93 | 91, 92 | syl 14 |
. . . . . . . . . . . 12
 
                  
      |
94 | | modqid 10349 |
. . . . . . . . . . . 12
            
          
       |
95 | 86, 75, 90, 93, 94 | syl22anc 1239 |
. . . . . . . . . . 11
 
                  
            |
96 | 82, 95 | eqeq12d 2192 |
. . . . . . . . . 10
 
                  
     
      
           |
97 | | moddvds 11806 |
. . . . . . . . . . 11
                       
             |
98 | 19, 33, 37, 97 | syl3anc 1238 |
. . . . . . . . . 10
 
                  
     
      
             |
99 | | f1of1 5461 |
. . . . . . . . . . . 12
            
              |
100 | 1, 99 | syl 14 |
. . . . . . . . . . 11
               |
101 | | f1fveq 5773 |
. . . . . . . . . . 11
                      
         
        
   |
102 | 100, 101 | sylan 283 |
. . . . . . . . . 10
 
                  
        
   |
103 | 96, 98, 102 | 3bitr3d 218 |
. . . . . . . . 9
 
                  
          
   |
104 | 70, 103 | sylibd 149 |
. . . . . . . 8
 
                  
                    |
105 | 66, 104 | mpan2d 428 |
. . . . . . 7
 
                  
            
   |
106 | 61, 105 | sylbid 150 |
. . . . . 6
 
                  
                 
                          
   |
107 | 106 | ralrimivva 2559 |
. . . . 5
           
                                                     
   |
108 | | dff13 5769 |
. . . . 5
                
                              
                                                                              
    |
109 | 17, 107, 108 | sylanbrc 417 |
. . . 4
                
                |
110 | | 1zzd 9280 |
. . . . . . 7
   |
111 | 18 | phicld 12218 |
. . . . . . . 8
       |
112 | 111 | nnzd 9374 |
. . . . . . 7
       |
113 | 110, 112 | fzfigd 10431 |
. . . . . 6
           |
114 | | f1oeng 6757 |
. . . . . 6
                                 |
115 | 113, 1, 114 | syl2anc 411 |
. . . . 5
           |
116 | 4, 5 | eulerthlemfi 12228 |
. . . . 5
   |
117 | | f1finf1o 6946 |
. . . . 5
                           
                             
                 |
118 | 115, 116,
117 | syl2anc 411 |
. . . 4
                                               
                 |
119 | 109, 118 | mpbid 147 |
. . 3
                
                |
120 | | f1oco 5485 |
. . 3
                              
                                
                         |
121 | 3, 119, 120 | syl2anc 411 |
. 2
                  
                         |
122 | | eulerth.h |
. . 3
                 
    |
123 | | f1oeq1 5450 |
. . 3
                  
                                         
                          |
124 | 122, 123 | ax-mp 5 |
. 2
                                      
                         |
125 | 121, 124 | sylibr 134 |
1
                       |