| Step | Hyp | Ref
| Expression |
| 1 | | eulerth.4 |
. . . 4
               |
| 2 | | f1ocnv 5520 |
. . . 4
            
               |
| 3 | 1, 2 | syl 14 |
. . 3
                |
| 4 | | eulerth.1 |
. . . . . . 7
  
    |
| 5 | | eulerth.2 |
. . . . . . 7
  ..^     |
| 6 | | eqid 2196 |
. . . . . . 7
                 |
| 7 | | fveq2 5561 |
. . . . . . . . . 10
           |
| 8 | 7 | oveq2d 5941 |
. . . . . . . . 9
 
             |
| 9 | 8 | oveq1d 5940 |
. . . . . . . 8
       
           |
| 10 | 9 | cbvmptv 4130 |
. . . . . . 7
                                     |
| 11 | 4, 5, 6, 1, 10 | eulerthlem1 12420 |
. . . . . 6
                
                |
| 12 | | fveq2 5561 |
. . . . . . . . . 10
           |
| 13 | 12 | oveq2d 5941 |
. . . . . . . . 9
 
             |
| 14 | 13 | oveq1d 5940 |
. . . . . . . 8
       
           |
| 15 | 14 | cbvmptv 4130 |
. . . . . . 7
                                     |
| 16 | 15 | feq1i 5403 |
. . . . . 6
                
                             
                |
| 17 | 11, 16 | sylib 122 |
. . . . 5
                
                |
| 18 | 4 | simp1d 1011 |
. . . . . . . . . 10
   |
| 19 | 18 | adantr 276 |
. . . . . . . . 9
 
                  
  |
| 20 | 4 | simp2d 1012 |
. . . . . . . . . . 11
   |
| 21 | 20 | adantr 276 |
. . . . . . . . . 10
 
                  
  |
| 22 | | ssrab2 3269 |
. . . . . . . . . . . . 13
  ..^     ..^  |
| 23 | 5, 22 | eqsstri 3216 |
. . . . . . . . . . . 12
 ..^  |
| 24 | | fzo0ssnn0 10308 |
. . . . . . . . . . . . 13
 ..^  |
| 25 | | nn0ssz 9361 |
. . . . . . . . . . . . 13
 |
| 26 | 24, 25 | sstri 3193 |
. . . . . . . . . . . 12
 ..^  |
| 27 | 23, 26 | sstri 3193 |
. . . . . . . . . . 11
 |
| 28 | | f1of 5507 |
. . . . . . . . . . . . . 14
            
              |
| 29 | 1, 28 | syl 14 |
. . . . . . . . . . . . 13
               |
| 30 | 29 | adantr 276 |
. . . . . . . . . . . 12
 
                  
              |
| 31 | | simprl 529 |
. . . . . . . . . . . 12
 
                  
          |
| 32 | 30, 31 | ffvelcdmd 5701 |
. . . . . . . . . . 11
 
                  
      |
| 33 | 27, 32 | sselid 3182 |
. . . . . . . . . 10
 
                  
      |
| 34 | 21, 33 | zmulcld 9471 |
. . . . . . . . 9
 
                  
        |
| 35 | 29 | ffvelcdmda 5700 |
. . . . . . . . . . . 12
 
        
      |
| 36 | 35 | adantrl 478 |
. . . . . . . . . . 11
 
                  
      |
| 37 | 27, 36 | sselid 3182 |
. . . . . . . . . 10
 
                  
      |
| 38 | 21, 37 | zmulcld 9471 |
. . . . . . . . 9
 
                  
        |
| 39 | | moddvds 11981 |
. . . . . . . . 9
  
     
                      
 
     
         |
| 40 | 19, 34, 38, 39 | syl3anc 1249 |
. . . . . . . 8
 
                  
       
        
                 |
| 41 | | eqid 2196 |
. . . . . . . . . 10
                                     |
| 42 | | fveq2 5561 |
. . . . . . . . . . . 12
           |
| 43 | 42 | oveq2d 5941 |
. . . . . . . . . . 11
 
             |
| 44 | 43 | oveq1d 5940 |
. . . . . . . . . 10
       
           |
| 45 | | zmodfzo 10456 |
. . . . . . . . . . 11
       
          ..^   |
| 46 | 34, 19, 45 | syl2anc 411 |
. . . . . . . . . 10
 
                  
 
       ..^   |
| 47 | 41, 44, 31, 46 | fvmptd3 5658 |
. . . . . . . . 9
 
                  
                
               |
| 48 | | fveq2 5561 |
. . . . . . . . . . . 12
           |
| 49 | 48 | oveq2d 5941 |
. . . . . . . . . . 11
 
             |
| 50 | 49 | oveq1d 5940 |
. . . . . . . . . 10
       
           |
| 51 | | simprr 531 |
. . . . . . . . . 10
 
                  
          |
| 52 | | zmodfzo 10456 |
. . . . . . . . . . 11
       
          ..^   |
| 53 | 38, 19, 52 | syl2anc 411 |
. . . . . . . . . 10
 
                  
 
       ..^   |
| 54 | 41, 50, 51, 53 | fvmptd3 5658 |
. . . . . . . . 9
 
                  
                
               |
| 55 | 47, 54 | eqeq12d 2211 |
. . . . . . . 8
 
                  
                 
                          
 
            
    |
| 56 | 21 | zcnd 9466 |
. . . . . . . . . 10
 
                  
  |
| 57 | 33 | zcnd 9466 |
. . . . . . . . . 10
 
                  
      |
| 58 | 37 | zcnd 9466 |
. . . . . . . . . 10
 
                  
      |
| 59 | 56, 57, 58 | subdid 8457 |
. . . . . . . . 9
 
                  
                            |
| 60 | 59 | breq2d 4046 |
. . . . . . . 8
 
                  
            
                 |
| 61 | 40, 55, 60 | 3bitr4d 220 |
. . . . . . 7
 
                  
                 
                          

              |
| 62 | 18 | nnzd 9464 |
. . . . . . . . . . 11
   |
| 63 | 62, 20 | gcdcomd 12166 |
. . . . . . . . . 10
       |
| 64 | 4 | simp3d 1013 |
. . . . . . . . . 10
     |
| 65 | 63, 64 | eqtrd 2229 |
. . . . . . . . 9
     |
| 66 | 65 | adantr 276 |
. . . . . . . 8
 
                  
    |
| 67 | 62 | adantr 276 |
. . . . . . . . . 10
 
                  
  |
| 68 | 33, 37 | zsubcld 9470 |
. . . . . . . . . 10
 
                  
            |
| 69 | | coprmdvds 12285 |
. . . . . . . . . 10
 
             
                           |
| 70 | 67, 21, 68, 69 | syl3anc 1249 |
. . . . . . . . 9
 
                  
                              |
| 71 | | zq 9717 |
. . . . . . . . . . . . 13
           |
| 72 | 33, 71 | syl 14 |
. . . . . . . . . . . 12
 
                  
      |
| 73 | | zq 9717 |
. . . . . . . . . . . . . 14
   |
| 74 | 62, 73 | syl 14 |
. . . . . . . . . . . . 13
   |
| 75 | 74 | adantr 276 |
. . . . . . . . . . . 12
 
                  
  |
| 76 | 23, 32 | sselid 3182 |
. . . . . . . . . . . . 13
 
                  
     ..^   |
| 77 | | elfzole1 10248 |
. . . . . . . . . . . . 13
      ..^
      |
| 78 | 76, 77 | syl 14 |
. . . . . . . . . . . 12
 
                  
      |
| 79 | | elfzolt2 10249 |
. . . . . . . . . . . . 13
      ..^
      |
| 80 | 76, 79 | syl 14 |
. . . . . . . . . . . 12
 
                  
      |
| 81 | | modqid 10458 |
. . . . . . . . . . . 12
            
          
       |
| 82 | 72, 75, 78, 80, 81 | syl22anc 1250 |
. . . . . . . . . . 11
 
                  
            |
| 83 | 27, 35 | sselid 3182 |
. . . . . . . . . . . . . 14
 
        
      |
| 84 | 83 | adantrl 478 |
. . . . . . . . . . . . 13
 
                  
      |
| 85 | | zq 9717 |
. . . . . . . . . . . . 13
           |
| 86 | 84, 85 | syl 14 |
. . . . . . . . . . . 12
 
                  
      |
| 87 | 23, 35 | sselid 3182 |
. . . . . . . . . . . . . 14
 
        
     ..^   |
| 88 | | elfzole1 10248 |
. . . . . . . . . . . . . 14
      ..^
      |
| 89 | 87, 88 | syl 14 |
. . . . . . . . . . . . 13
 
        
      |
| 90 | 89 | adantrl 478 |
. . . . . . . . . . . 12
 
                  
      |
| 91 | 87 | adantrl 478 |
. . . . . . . . . . . . 13
 
                  
     ..^   |
| 92 | | elfzolt2 10249 |
. . . . . . . . . . . . 13
      ..^
      |
| 93 | 91, 92 | syl 14 |
. . . . . . . . . . . 12
 
                  
      |
| 94 | | modqid 10458 |
. . . . . . . . . . . 12
            
          
       |
| 95 | 86, 75, 90, 93, 94 | syl22anc 1250 |
. . . . . . . . . . 11
 
                  
            |
| 96 | 82, 95 | eqeq12d 2211 |
. . . . . . . . . 10
 
                  
     
      
           |
| 97 | | moddvds 11981 |
. . . . . . . . . . 11
                       
             |
| 98 | 19, 33, 37, 97 | syl3anc 1249 |
. . . . . . . . . 10
 
                  
     
      
             |
| 99 | | f1of1 5506 |
. . . . . . . . . . . 12
            
              |
| 100 | 1, 99 | syl 14 |
. . . . . . . . . . 11
               |
| 101 | | f1fveq 5822 |
. . . . . . . . . . 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 2579 |
. . . . 5
           
                                                     
   |
| 108 | | dff13 5818 |
. . . . 5
                
                              
                                                                              
    |
| 109 | 17, 107, 108 | sylanbrc 417 |
. . . 4
                
                |
| 110 | | 1zzd 9370 |
. . . . . . 7
   |
| 111 | 18 | phicld 12411 |
. . . . . . . 8
       |
| 112 | 111 | nnzd 9464 |
. . . . . . 7
       |
| 113 | 110, 112 | fzfigd 10540 |
. . . . . 6
           |
| 114 | | f1oeng 6825 |
. . . . . 6
                                 |
| 115 | 113, 1, 114 | syl2anc 411 |
. . . . 5
           |
| 116 | 4, 5 | eulerthlemfi 12421 |
. . . . 5
   |
| 117 | | f1finf1o 7022 |
. . . . 5
                           
                             
                 |
| 118 | 115, 116,
117 | syl2anc 411 |
. . . 4
                                               
                 |
| 119 | 109, 118 | mpbid 147 |
. . 3
                
                |
| 120 | | f1oco 5530 |
. . 3
                              
                                
                         |
| 121 | 3, 119, 120 | syl2anc 411 |
. 2
                  
                         |
| 122 | | eulerth.h |
. . 3
                 
    |
| 123 | | f1oeq1 5495 |
. . 3
                  
                                         
                          |
| 124 | 122, 123 | ax-mp 5 |
. 2
                                      
                         |
| 125 | 121, 124 | sylibr 134 |
1
                       |