| Step | Hyp | Ref
| Expression |
| 1 | | fveq2 6191 |
. . . . . . . 8
           |
| 2 | 1 | neeq1d 2853 |
. . . . . . 7
             |
| 3 | | breq1 4656 |
. . . . . . 7
 
   |
| 4 | 2, 3 | anbi12d 747 |
. . . . . 6
      
     
    |
| 5 | 4 | elrab 3363 |
. . . . 5
        
          |
| 6 | | muval2 24860 |
. . . . . 6
                        |
| 7 | 6 | adantrr 753 |
. . . . 5
      
 
           
     |
| 8 | 5, 7 | sylbi 207 |
. . . 4
                          |
| 9 | 8 | adantl 482 |
. . 3
 
                    
     |
| 10 | 9 | sumeq2dv 14433 |
. 2
       
      
                     |
| 11 | | simpr 477 |
. . . . 5
         |
| 12 | 11 | a1i 11 |
. . . 4
 
      
    |
| 13 | 12 | ss2rabdv 3683 |
. . 3
             |
| 14 | | ssrab2 3687 |
. . . . . 6
         |
| 15 | | simpr 477 |
. . . . . 6
 
              
    |
| 16 | 14, 15 | sseldi 3601 |
. . . . 5
 
           |
| 17 | | mucl 24867 |
. . . . 5
       |
| 18 | 16, 17 | syl 17 |
. . . 4
 
               |
| 19 | 18 | zcnd 11483 |
. . 3
 
               |
| 20 | | difrab 3901 |
. . . . . . 7
   
    
         
    |
| 21 | | pm3.21 464 |
. . . . . . . . . . 11
          
    |
| 22 | 21 | necon1bd 2812 |
. . . . . . . . . 10
      
        |
| 23 | 22 | imp 445 |
. . . . . . . . 9
      
 
      |
| 24 | 23 | a1i 11 |
. . . . . . . 8
       
 
       |
| 25 | 24 | ss2rabi 3684 |
. . . . . . 7
      
          |
| 26 | 20, 25 | eqsstri 3635 |
. . . . . 6
   
    
          |
| 27 | 26 | sseli 3599 |
. . . . 5
   
                 |
| 28 | 1 | eqeq1d 2624 |
. . . . . . 7
             |
| 29 | 28 | elrab 3363 |
. . . . . 6
               |
| 30 | 29 | simprbi 480 |
. . . . 5
      
      |
| 31 | 27, 30 | syl 17 |
. . . 4
   
               |
| 32 | 31 | adantl 482 |
. . 3
 
   
    
          |
| 33 | | fzfid 12772 |
. . . 4
       |
| 34 | | dvdsssfz1 15040 |
. . . 4
  
      |
| 35 | | ssfi 8180 |
. . . 4
              
  |
| 36 | 33, 34, 35 | syl2anc 693 |
. . 3
  
  |
| 37 | 13, 19, 32, 36 | fsumss 14456 |
. 2
       
      
 
      |
| 38 | | fveq2 6191 |
. . . . 5
 
             |
| 39 | 38 | oveq2d 6666 |
. . . 4
 
                 
     |
| 40 | | ssfi 8180 |
. . . . 5
  
                      |
| 41 | 36, 13, 40 | syl2anc 693 |
. . . 4
           |
| 42 | | eqid 2622 |
. . . . 5
        
    
   |
| 43 | | eqid 2622 |
. . . . 5
                  
  
   |
| 44 | | oveq1 6657 |
. . . . . . . 8
 
     |
| 45 | 44 | cbvmptv 4750 |
. . . . . . 7

    
   |
| 46 | | oveq2 6658 |
. . . . . . . 8
 
     |
| 47 | 46 | mpteq2dv 4745 |
. . . . . . 7
      
    |
| 48 | 45, 47 | syl5eq 2668 |
. . . . . 6
      
    |
| 49 | 48 | cbvmptv 4750 |
. . . . 5
 
           |
| 50 | 42, 43, 49 | sqff1o 24908 |
. . . 4
                          
   |
| 51 | | breq2 4657 |
. . . . . . 7
 
   |
| 52 | 51 | rabbidv 3189 |
. . . . . 6
  
    |
| 53 | | zex 11386 |
. . . . . . . 8
 |
| 54 | | prmz 15389 |
. . . . . . . . 9

  |
| 55 | 54 | ssriv 3607 |
. . . . . . . 8
 |
| 56 | 53, 55 | ssexi 4803 |
. . . . . . 7
 |
| 57 | 56 | rabex 4813 |
. . . . . 6
 
 |
| 58 | 52, 43, 57 | fvmpt 6282 |
. . . . 5
                
  
         |
| 59 | 58 | adantl 482 |
. . . 4
 
                             |
| 60 | | neg1cn 11124 |
. . . . 5
  |
| 61 | | prmdvdsfi 24833 |
. . . . . . 7
  
  |
| 62 | | elpwi 4168 |
. . . . . . 7
   
    |
| 63 | | ssfi 8180 |
. . . . . . 7
         |
| 64 | 61, 62, 63 | syl2an 494 |
. . . . . 6
 
      |
| 65 | | hashcl 13147 |
. . . . . 6
       |
| 66 | 64, 65 | syl 17 |
. . . . 5
 
          |
| 67 | | expcl 12878 |
. . . . 5
                   |
| 68 | 60, 66, 67 | sylancr 695 |
. . . 4
 
               |
| 69 | 39, 41, 50, 59, 68 | fsumf1o 14454 |
. . 3
  
          
                     |
| 70 | | fzfid 12772 |
. . . . 5
             |
| 71 | 61 | adantr 481 |
. . . . . . 7
 
            
  |
| 72 | | pwfi 8261 |
. . . . . . 7
    

  |
| 73 | 71, 72 | sylib 208 |
. . . . . 6
 
            
   |
| 74 | | ssrab2 3687 |
. . . . . 6
   
      
  |
| 75 | | ssfi 8180 |
. . . . . 6
   

            
  

       |
| 76 | 73, 74, 75 | sylancl 694 |
. . . . 5
 
              
       |
| 77 | | simprr 796 |
. . . . . . . 8
               
          
        |
| 78 | | fveq2 6191 |
. . . . . . . . . . 11
           |
| 79 | 78 | eqeq1d 2624 |
. . . . . . . . . 10
     
       |
| 80 | 79 | elrab 3363 |
. . . . . . . . 9
   

       
        |
| 81 | 80 | simprbi 480 |
. . . . . . . 8
   

           |
| 82 | 77, 81 | syl 17 |
. . . . . . 7
               
              |
| 83 | 82 | ralrimivva 2971 |
. . . . . 6
        
    
  

           |
| 84 | | invdisj 4638 |
. . . . . 6
 
              
          Disj              

       |
| 85 | 83, 84 | syl 17 |
. . . . 5
 Disj       
               |
| 86 | 61 | adantr 481 |
. . . . . . . 8
               
         
  |
| 87 | 74, 77 | sseldi 3601 |
. . . . . . . . 9
               
         
   |
| 88 | 87, 62 | syl 17 |
. . . . . . . 8
               
            |
| 89 | 86, 88, 63 | syl2anc 693 |
. . . . . . 7
               
          |
| 90 | 89, 65 | syl 17 |
. . . . . 6
               
              |
| 91 | 60, 90, 67 | sylancr 695 |
. . . . 5
               
                   |
| 92 | 70, 76, 85, 91 | fsumiun 14553 |
. . . 4
                
                             
                 |
| 93 | 61 | adantr 481 |
. . . . . . . . . . . 12
 
     
  |
| 94 | | elpwi 4168 |
. . . . . . . . . . . . 13
   
    |
| 95 | 94 | adantl 482 |
. . . . . . . . . . . 12
 
        |
| 96 | | ssdomg 8001 |
. . . . . . . . . . . 12
           |
| 97 | 93, 95, 96 | sylc 65 |
. . . . . . . . . . 11
 
    
   |
| 98 | | ssfi 8180 |
. . . . . . . . . . . . 13
         |
| 99 | 61, 94, 98 | syl2an 494 |
. . . . . . . . . . . 12
 
      |
| 100 | | hashdom 13168 |
. . . . . . . . . . . 12
    
           
    |
| 101 | 99, 93, 100 | syl2anc 693 |
. . . . . . . . . . 11
 
               
    |
| 102 | 97, 101 | mpbird 247 |
. . . . . . . . . 10
 
                |
| 103 | | hashcl 13147 |
. . . . . . . . . . . . 13
       |
| 104 | 99, 103 | syl 17 |
. . . . . . . . . . . 12
 
          |
| 105 | | nn0uz 11722 |
. . . . . . . . . . . 12
     |
| 106 | 104, 105 | syl6eleq 2711 |
. . . . . . . . . . 11
 
              |
| 107 | | hashcl 13147 |
. . . . . . . . . . . . . 14
           |
| 108 | 61, 107 | syl 17 |
. . . . . . . . . . . . 13
    
    |
| 109 | 108 | adantr 481 |
. . . . . . . . . . . 12
 
       
    |
| 110 | 109 | nn0zd 11480 |
. . . . . . . . . . 11
 
       
    |
| 111 | | elfz5 12334 |
. . . . . . . . . . 11
             
                 
   
         |
| 112 | 106, 110,
111 | syl2anc 693 |
. . . . . . . . . 10
 
                      
         |
| 113 | 102, 112 | mpbird 247 |
. . . . . . . . 9
 
              
     |
| 114 | | eqidd 2623 |
. . . . . . . . 9
 
              |
| 115 | | eqeq2 2633 |
. . . . . . . . . 10
    
                |
| 116 | 115 | rspcev 3309 |
. . . . . . . . 9
                        
       
          |
| 117 | 113, 114,
116 | syl2anc 693 |
. . . . . . . 8
 
           
          |
| 118 | 117 | ralrimiva 2966 |
. . . . . . 7
  
                    |
| 119 | | rabid2 3118 |
. . . . . . 7
      
                      
                 |
| 120 | 118, 119 | sylibr 224 |
. . . . . 6
  
   
                    |
| 121 | | iunrab 4567 |
. . . . . 6
       
               
                   |
| 122 | 120, 121 | syl6reqr 2675 |
. . . . 5
        
                  |
| 123 | 122 | sumeq1d 14431 |
. . . 4
                
              
             |
| 124 | | elfznn0 12433 |
. . . . . . . . . 10
          
  |
| 125 | 124 | adantl 482 |
. . . . . . . . 9
 
             |
| 126 | | expcl 12878 |
. . . . . . . . 9
           |
| 127 | 60, 125, 126 | sylancr 695 |
. . . . . . . 8
 
                  |
| 128 | | fsumconst 14522 |
. . . . . . . 8
    
                
                
               |
| 129 | 76, 127, 128 | syl2anc 693 |
. . . . . . 7
 
              
                                 |
| 130 | 81 | adantl 482 |
. . . . . . . . 9
                
      
      |
| 131 | 130 | oveq2d 6666 |
. . . . . . . 8
                
      
                |
| 132 | 131 | sumeq2dv 14433 |
. . . . . . 7
 
              
                  

            |
| 133 | | elfzelz 12342 |
. . . . . . . . 9
          
  |
| 134 | | hashbc 13237 |
. . . . . . . . 9
                  
         |
| 135 | 61, 133, 134 | syl2an 494 |
. . . . . . . 8
 
                        
         |
| 136 | 135 | oveq1d 6665 |
. . . . . . 7
 
                                                |
| 137 | 129, 132,
136 | 3eqtr4d 2666 |
. . . . . 6
 
              
                                |
| 138 | 137 | sumeq2dv 14433 |
. . . . 5
        
       

              
                            |
| 139 | | 1pneg1e0 11129 |
. . . . . . 7
    |
| 140 | 139 | oveq1i 6660 |
. . . . . 6
                        |
| 141 | | binom1p 14563 |
. . . . . . 7
                                                    |
| 142 | 60, 108, 141 | sylancr 695 |
. . . . . 6
          
                                |
| 143 | 140, 142 | syl5eqr 2670 |
. . . . 5
           
                            |
| 144 | | eqeq2 2633 |
. . . . . 6
                                   |
| 145 | | eqeq2 2633 |
. . . . . 6
                                   |
| 146 | | nprmdvds1 15418 |
. . . . . . . . . . . . 13

  |
| 147 | | simpr 477 |
. . . . . . . . . . . . . . 15
 
   |
| 148 | 147 | breq2d 4665 |
. . . . . . . . . . . . . 14
 
     |
| 149 | 148 | notbid 308 |
. . . . . . . . . . . . 13
 
 
   |
| 150 | 146, 149 | syl5ibr 236 |
. . . . . . . . . . . 12
 
 
   |
| 151 | 150 | ralrimiv 2965 |
. . . . . . . . . . 11
 
    |
| 152 | | rabeq0 3957 |
. . . . . . . . . . 11
      |
| 153 | 151, 152 | sylibr 224 |
. . . . . . . . . 10
 
 

  |
| 154 | 153 | fveq2d 6195 |
. . . . . . . . 9
 
             |
| 155 | | hash0 13158 |
. . . . . . . . 9
     |
| 156 | 154, 155 | syl6eq 2672 |
. . . . . . . 8
 
         |
| 157 | 156 | oveq2d 6666 |
. . . . . . 7
 
                 |
| 158 | | 0exp0e1 12865 |
. . . . . . 7
     |
| 159 | 157, 158 | syl6eq 2672 |
. . . . . 6
 
             |
| 160 | | df-ne 2795 |
. . . . . . . . . . 11

  |
| 161 | | eluz2b3 11762 |
. . . . . . . . . . . 12
         |
| 162 | 161 | biimpri 218 |
. . . . . . . . . . 11
  
      |
| 163 | 160, 162 | sylan2br 493 |
. . . . . . . . . 10
 

      |
| 164 | | exprmfct 15416 |
. . . . . . . . . 10
    
   |
| 165 | 163, 164 | syl 17 |
. . . . . . . . 9
 

   |
| 166 | | rabn0 3958 |
. . . . . . . . 9
      |
| 167 | 165, 166 | sylibr 224 |
. . . . . . . 8
 

 
  |
| 168 | 61 | adantr 481 |
. . . . . . . . 9
 

 
  |
| 169 | | hashnncl 13157 |
. . . . . . . . 9
         
 
   |
| 170 | 168, 169 | syl 17 |
. . . . . . . 8
 

    
       |
| 171 | 167, 170 | mpbird 247 |
. . . . . . 7
 

        |
| 172 | 171 | 0expd 13024 |
. . . . . 6
 

            |
| 173 | 144, 145,
159, 172 | ifbothda 4123 |
. . . . 5
                  |
| 174 | 138, 143,
173 | 3eqtr2d 2662 |
. . . 4
        
       

                     |
| 175 | 92, 123, 174 | 3eqtr3d 2664 |
. . 3
  
                 |
| 176 | 69, 175 | eqtr3d 2658 |
. 2
       
                    |
| 177 | 10, 37, 176 | 3eqtr3d 2664 |
1
  
            |