| Step | Hyp | Ref
| Expression |
| 1 | | prmnn 12303 |
. . . 4

  |
| 2 | | nnnn0 9273 |
. . . 4
   |
| 3 | | nnexpcl 10661 |
. . . 4
 
       |
| 4 | 1, 2, 3 | syl2an 289 |
. . 3
         |
| 5 | | phival 12406 |
. . 3
             ♯                    |
| 6 | 4, 5 | syl 14 |
. 2
           ♯                    |
| 7 | | nnm1nn0 9307 |
. . . . . 6
 
   |
| 8 | | nnexpcl 10661 |
. . . . . 6
  
     
    |
| 9 | 1, 7, 8 | syl2an 289 |
. . . . 5
           |
| 10 | 9 | nncnd 9021 |
. . . 4
           |
| 11 | 1 | nncnd 9021 |
. . . . 5

  |
| 12 | 11 | adantr 276 |
. . . 4
     |
| 13 | | ax-1cn 7989 |
. . . . 5
 |
| 14 | | subdi 8428 |
. . . . 5
     
 
     
                         |
| 15 | 13, 14 | mp3an3 1337 |
. . . 4
     
 
        
       
              |
| 16 | 10, 12, 15 | syl2anc 411 |
. . 3
       
                         |
| 17 | 10 | mulridd 8060 |
. . . 4
       
           |
| 18 | 17 | oveq2d 5941 |
. . 3
                                       |
| 19 | | phivalfi 12405 |
. . . . . . 7
                       |
| 20 | 4, 19 | syl 14 |
. . . . . 6
                     |
| 21 | | 1zzd 9370 |
. . . . . . . 8
     |
| 22 | | prmz 12304 |
. . . . . . . . 9

  |
| 23 | | zexpcl 10663 |
. . . . . . . . 9
 
       |
| 24 | 22, 2, 23 | syl2an 289 |
. . . . . . . 8
         |
| 25 | 21, 24 | fzfigd 10540 |
. . . . . . 7
             |
| 26 | 22 | ad2antrr 488 |
. . . . . . . . 9
            
  |
| 27 | | elfzelz 10117 |
. . . . . . . . . . 11
           |
| 28 | 27 | adantl 277 |
. . . . . . . . . 10
            
  |
| 29 | | 0zd 9355 |
. . . . . . . . . 10
            
  |
| 30 | 28, 29 | zsubcld 9470 |
. . . . . . . . 9
            
    |
| 31 | | zdvdsdc 11994 |
. . . . . . . . 9
  
  DECID
    |
| 32 | 26, 30, 31 | syl2anc 411 |
. . . . . . . 8
            
DECID
    |
| 33 | 32 | ralrimiva 2570 |
. . . . . . 7
            DECID     |
| 34 | 25, 33 | ssfirab 7006 |
. . . . . 6
                 |
| 35 | | inrab 3436 |
. . . . . . 7
                                              
    |
| 36 | | rpexp 12346 |
. . . . . . . . . . . . . . . . 17
 
             |
| 37 | 22, 36 | syl3an1 1282 |
. . . . . . . . . . . . . . . 16
               |
| 38 | 37 | 3expa 1205 |
. . . . . . . . . . . . . . 15
                 |
| 39 | 38 | an32s 568 |
. . . . . . . . . . . . . 14
                 |
| 40 | | simpr 110 |
. . . . . . . . . . . . . . . 16
       |
| 41 | 24 | adantr 276 |
. . . . . . . . . . . . . . . 16
           |
| 42 | | gcdcom 12165 |
. . . . . . . . . . . . . . . 16
                     |
| 43 | 40, 41, 42 | syl2anc 411 |
. . . . . . . . . . . . . . 15
                   |
| 44 | 43 | eqeq1d 2205 |
. . . . . . . . . . . . . 14
                     |
| 45 | | coprm 12337 |
. . . . . . . . . . . . . . 15
   
     |
| 46 | 45 | adantlr 477 |
. . . . . . . . . . . . . 14
           |
| 47 | 39, 44, 46 | 3bitr4d 220 |
. . . . . . . . . . . . 13
           
   |
| 48 | | zcn 9348 |
. . . . . . . . . . . . . . . . 17
   |
| 49 | 48 | adantl 277 |
. . . . . . . . . . . . . . . 16
       |
| 50 | 49 | subid1d 8343 |
. . . . . . . . . . . . . . 15
         |
| 51 | 50 | breq2d 4046 |
. . . . . . . . . . . . . 14
      

   |
| 52 | 51 | notbid 668 |
. . . . . . . . . . . . 13
       
   |
| 53 | 47, 52 | bitr4d 191 |
. . . . . . . . . . . 12
           
     |
| 54 | 27, 53 | sylan2 286 |
. . . . . . . . . . 11
            
 
    
     |
| 55 | 54 | biimpd 144 |
. . . . . . . . . 10
            
 
    
     |
| 56 | | imnan 691 |
. . . . . . . . . 10
          
            |
| 57 | 55, 56 | sylib 122 |
. . . . . . . . 9
            
            |
| 58 | 57 | ralrimiva 2570 |
. . . . . . . 8
                   
    |
| 59 | | rabeq0 3481 |
. . . . . . . 8
                    
                
    |
| 60 | 58, 59 | sylibr 134 |
. . . . . . 7
                   
     |
| 61 | 35, 60 | eqtrid 2241 |
. . . . . 6
    
                              |
| 62 | | hashun 10914 |
. . . . . 6
                               
                             ♯                                 ♯                  ♯                 |
| 63 | 20, 34, 61, 62 | syl3anc 1249 |
. . . . 5
   ♯                                 ♯                  ♯                 |
| 64 | | unrab 3435 |
. . . . . . . 8
                                              
    |
| 65 | 54 | biimprd 158 |
. . . . . . . . . . . 12
            
   
        |
| 66 | | con1dc 857 |
. . . . . . . . . . . 12
DECID 

 
               
      |
| 67 | 32, 65, 66 | sylc 62 |
. . . . . . . . . . 11
            
 
          |
| 68 | 24 | adantr 276 |
. . . . . . . . . . . . . . 15
            
      |
| 69 | 28, 68 | gcdcld 12160 |
. . . . . . . . . . . . . 14
            
        |
| 70 | 69 | nn0zd 9463 |
. . . . . . . . . . . . 13
            
        |
| 71 | | 1zzd 9370 |
. . . . . . . . . . . . 13
            
  |
| 72 | | zdceq 9418 |
. . . . . . . . . . . . 13
        
DECID         |
| 73 | 70, 71, 72 | syl2anc 411 |
. . . . . . . . . . . 12
            
DECID         |
| 74 | | dfordc 893 |
. . . . . . . . . . . 12
DECID      
          
 
           |
| 75 | 73, 74 | syl 14 |
. . . . . . . . . . 11
            
          
 
           |
| 76 | 67, 75 | mpbird 167 |
. . . . . . . . . 10
            
 
     
    |
| 77 | 76 | ralrimiva 2570 |
. . . . . . . . 9
                         |
| 78 | | rabid2 2674 |
. . . . . . . . 9
                         
  
                      |
| 79 | 77, 78 | sylibr 134 |
. . . . . . . 8
                           
     |
| 80 | 64, 79 | eqtr4id 2248 |
. . . . . . 7
    
                                      |
| 81 | 80 | fveq2d 5565 |
. . . . . 6
   ♯                                ♯            |
| 82 | 4 | nnnn0d 9319 |
. . . . . . 7
         |
| 83 | | hashfz1 10892 |
. . . . . . 7
    
♯                |
| 84 | 82, 83 | syl 14 |
. . . . . 6
   ♯                |
| 85 | | expm1t 10676 |
. . . . . . 7
 
               |
| 86 | 11, 85 | sylan 283 |
. . . . . 6
                 |
| 87 | 81, 84, 86 | 3eqtrd 2233 |
. . . . 5
   ♯                                          |
| 88 | | hashcl 10890 |
. . . . . . . 8
                 ♯                    |
| 89 | 20, 88 | syl 14 |
. . . . . . 7
   ♯                    |
| 90 | 89 | nn0cnd 9321 |
. . . . . 6
   ♯                    |
| 91 | 1 | adantr 276 |
. . . . . . . . 9
     |
| 92 | | nn0uz 9653 |
. . . . . . . . . . 11
     |
| 93 | | 1m1e0 9076 |
. . . . . . . . . . . 12
   |
| 94 | 93 | fveq2i 5564 |
. . . . . . . . . . 11
           |
| 95 | 92, 94 | eqtr4i 2220 |
. . . . . . . . . 10
       |
| 96 | 82, 95 | eleqtrdi 2289 |
. . . . . . . . 9
               |
| 97 | | 0zd 9355 |
. . . . . . . . 9
     |
| 98 | 91, 21, 96, 97 | hashdvds 12414 |
. . . . . . . 8
   ♯                                        |
| 99 | 4 | nncnd 9021 |
. . . . . . . . . . . . . 14
         |
| 100 | 99 | subid1d 8343 |
. . . . . . . . . . . . 13
               |
| 101 | 100 | oveq1d 5940 |
. . . . . . . . . . . 12
                   |
| 102 | 91 | nnap0d 9053 |
. . . . . . . . . . . . 13
   #   |
| 103 | | nnz 9362 |
. . . . . . . . . . . . . 14
   |
| 104 | 103 | adantl 277 |
. . . . . . . . . . . . 13
     |
| 105 | 12, 102, 104 | expm1apd 10792 |
. . . . . . . . . . . 12
                 |
| 106 | 101, 105 | eqtr4d 2232 |
. . . . . . . . . . 11
                   |
| 107 | 106 | fveq2d 5565 |
. . . . . . . . . 10
                           |
| 108 | 9 | nnzd 9464 |
. . . . . . . . . . 11
           |
| 109 | | flid 10391 |
. . . . . . . . . . 11
                    
    |
| 110 | 108, 109 | syl 14 |
. . . . . . . . . 10
                
    |
| 111 | 107, 110 | eqtrd 2229 |
. . . . . . . . 9
                  
    |
| 112 | 93 | oveq1i 5935 |
. . . . . . . . . . . . . 14
       |
| 113 | | 0m0e0 9119 |
. . . . . . . . . . . . . 14
   |
| 114 | 112, 113 | eqtri 2217 |
. . . . . . . . . . . . 13
     |
| 115 | 114 | oveq1i 5935 |
. . . . . . . . . . . 12
         |
| 116 | 12, 102 | div0apd 8831 |
. . . . . . . . . . . 12
       |
| 117 | 115, 116 | eqtrid 2241 |
. . . . . . . . . . 11
           |
| 118 | 117 | fveq2d 5565 |
. . . . . . . . . 10
                   |
| 119 | | 0z 9354 |
. . . . . . . . . . 11
 |
| 120 | | flid 10391 |
. . . . . . . . . . 11
       |
| 121 | 119, 120 | ax-mp 5 |
. . . . . . . . . 10
     |
| 122 | 118, 121 | eqtrdi 2245 |
. . . . . . . . 9
               |
| 123 | 111, 122 | oveq12d 5943 |
. . . . . . . 8
                                     |
| 124 | 10 | subid1d 8343 |
. . . . . . . 8
       
           |
| 125 | 98, 123, 124 | 3eqtrd 2233 |
. . . . . . 7
   ♯                      |
| 126 | 125 | oveq2d 5941 |
. . . . . 6
    ♯                  ♯                ♯                           |
| 127 | 90, 10, 126 | comraddd 8200 |
. . . . 5
    ♯                  ♯                   
  ♯                     |
| 128 | 63, 87, 127 | 3eqtr3rd 2238 |
. . . 4
       
  ♯                             |
| 129 | 10, 12 | mulcld 8064 |
. . . . 5
       
     |
| 130 | 129, 10, 90 | subaddd 8372 |
. . . 4
                    ♯                         ♯                       
      |
| 131 | 128, 130 | mpbird 167 |
. . 3
                   ♯                    |
| 132 | 16, 18, 131 | 3eqtrrd 2234 |
. 2
   ♯                              |
| 133 | 6, 132 | eqtrd 2229 |
1
                  
    |