| Step | Hyp | Ref
| Expression |
| 1 | | simpl 473 |
. . . . . . . . . . . . 13
 
   |
| 2 | 1 | fveq1d 6193 |
. . . . . . . . . . . 12
 
           |
| 3 | 2 | oveq1d 6665 |
. . . . . . . . . . 11
 
               |
| 4 | 3 | sumeq2dv 14433 |
. . . . . . . . . 10
        
        |
| 5 | 4 | eqeq1d 2624 |
. . . . . . . . 9
        
          |
| 6 | 5 | cbvrabv 3199 |
. . . . . . . 8
                       |
| 7 | 6 | a1i 11 |
. . . . . . 7
                         |
| 8 | 7 | reseq2d 5396 |
. . . . . 6
              
              |
| 9 | | eqidd 2623 |
. . . . . 6
         
                         |
| 10 | 8, 7, 9 | f1oeq123d 6133 |
. . . . 5
                                              
                                              |
| 11 | 10 | imbi2d 330 |
. . . 4
                                               
                                               |
| 12 | | eulerpart.g |
. . . . 5
    𝟭          bits         |
| 13 | | eulerpart.p |
. . . . . . 7
         
         |
| 14 | | eulerpart.o |
. . . . . . 7
         |
| 15 | | eulerpart.d |
. . . . . . 7
     
  |
| 16 | | eulerpart.j |
. . . . . . 7
   |
| 17 | | eulerpart.f |
. . . . . . 7
 
        |
| 18 | | eulerpart.h |
. . . . . . 7
       supp    |
| 19 | | eulerpart.m |
. . . . . . 7
    

        |
| 20 | | eulerpart.r |
. . . . . . 7
     
  |
| 21 | | eulerpart.t |
. . . . . . 7
          |
| 22 | 13, 14, 15, 16, 17, 18, 19, 20, 21, 12 | eulerpartgbij 30434 |
. . . . . 6
           
  |
| 23 | 22 | a1i 11 |
. . . . 5
               |
| 24 | | fveq2 6191 |
. . . . . . . . . . . . . 14
           |
| 25 | | reseq1 5390 |
. . . . . . . . . . . . . . . . . 18
       |
| 26 | 25 | coeq2d 5284 |
. . . . . . . . . . . . . . . . 17
 bits    bits      |
| 27 | 26 | fveq2d 6195 |
. . . . . . . . . . . . . . . 16
    bits        bits       |
| 28 | 27 | imaeq2d 5466 |
. . . . . . . . . . . . . . 15
       bits            bits        |
| 29 | 28 | fveq2d 6195 |
. . . . . . . . . . . . . 14
  𝟭          bits        𝟭          bits         |
| 30 | 24, 29 | eqeq12d 2637 |
. . . . . . . . . . . . 13
       𝟭          bits      
     𝟭          bits          |
| 31 | 13, 14, 15, 16, 17, 18, 19, 20, 21, 12 | eulerpartlemgv 30435 |
. . . . . . . . . . . . 13
  
     𝟭          bits         |
| 32 | 30, 31 | vtoclga 3272 |
. . . . . . . . . . . 12
  
     𝟭          bits         |
| 33 | 32 | 3ad2ant2 1083 |
. . . . . . . . . . 11
  
 𝟭          bits             𝟭          bits         |
| 34 | | simp3 1063 |
. . . . . . . . . . 11
  
 𝟭          bits         𝟭          bits         |
| 35 | 33, 34 | eqtr4d 2659 |
. . . . . . . . . 10
  
 𝟭          bits              |
| 36 | 35 | fveq1d 6193 |
. . . . . . . . 9
  
 𝟭          bits                      |
| 37 | 36 | oveq1d 6665 |
. . . . . . . 8
  
 𝟭          bits                          |
| 38 | 37 | sumeq2sdv 14435 |
. . . . . . 7
  
 𝟭          bits                            |
| 39 | 24 | fveq2d 6195 |
. . . . . . . . . . 11
                   |
| 40 | | fveq2 6191 |
. . . . . . . . . . 11
           |
| 41 | 39, 40 | eqeq12d 2637 |
. . . . . . . . . 10
             
               |
| 42 | | eulerpart.s |
. . . . . . . . . . 11
              |
| 43 | 13, 14, 15, 16, 17, 18, 19, 20, 21, 12, 42 | eulerpartlemgs2 30442 |
. . . . . . . . . 10
  
              |
| 44 | 41, 43 | vtoclga 3272 |
. . . . . . . . 9
  
              |
| 45 | | nn0ex 11298 |
. . . . . . . . . . . . 13
 |
| 46 | | 0nn0 11307 |
. . . . . . . . . . . . . 14
 |
| 47 | | 1nn0 11308 |
. . . . . . . . . . . . . 14
 |
| 48 | | prssi 4353 |
. . . . . . . . . . . . . 14
 
   
  |
| 49 | 46, 47, 48 | mp2an 708 |
. . . . . . . . . . . . 13
    |
| 50 | | mapss 7900 |
. . . . . . . . . . . . 13
               |
| 51 | 45, 49, 50 | mp2an 708 |
. . . . . . . . . . . 12
        |
| 52 | | ssrin 3838 |
. . . . . . . . . . . 12
       
         
   |
| 53 | 51, 52 | ax-mp 5 |
. . . . . . . . . . 11
         
  |
| 54 | | f1of 6137 |
. . . . . . . . . . . . 13
            
            
   |
| 55 | 22, 54 | ax-mp 5 |
. . . . . . . . . . . 12
              |
| 56 | 55 | ffvelrni 6358 |
. . . . . . . . . . 11
  
             |
| 57 | 53, 56 | sseldi 3601 |
. . . . . . . . . 10
  
          |
| 58 | 20, 42 | eulerpartlemsv1 30418 |
. . . . . . . . . 10
                              |
| 59 | 57, 58 | syl 17 |
. . . . . . . . 9
  
        
            |
| 60 | 13, 14, 15, 16, 17, 18, 19, 20, 21 | eulerpartlemt0 30431 |
. . . . . . . . . . . 12
          
        |
| 61 | 60 | simp1bi 1076 |
. . . . . . . . . . 11
  
    |
| 62 | | inss2 3834 |
. . . . . . . . . . . 12
   |
| 63 | 62 | sseli 3599 |
. . . . . . . . . . 11
  
  |
| 64 | 61, 63 | elind 3798 |
. . . . . . . . . 10
  
  
   |
| 65 | 20, 42 | eulerpartlemsv1 30418 |
. . . . . . . . . 10
                  |
| 66 | 64, 65 | syl 17 |
. . . . . . . . 9
  
    
        |
| 67 | 44, 59, 66 | 3eqtr3d 2664 |
. . . . . . . 8
  
           
        |
| 68 | 67 | 3ad2ant2 1083 |
. . . . . . 7
  
 𝟭          bits                            |
| 69 | 38, 68 | eqtr3d 2658 |
. . . . . 6
  
 𝟭          bits                        |
| 70 | 69 | eqeq1d 2624 |
. . . . 5
  
 𝟭          bits                          |
| 71 | 12, 23, 70 | f1oresrab 6395 |
. . . 4
                                              |
| 72 | 11, 71 | chvarv 2263 |
. . 3
                                              |
| 73 | | cnveq 5296 |
. . . . . . . . . 10
 
   |
| 74 | 73 | imaeq1d 5465 |
. . . . . . . . 9
     
       |
| 75 | 74 | raleqdv 3144 |
. . . . . . . 8
  
              |
| 76 | 75 | cbvrabv 3199 |
. . . . . . 7
 
               |
| 77 | | nfrab1 3122 |
. . . . . . . 8
           |
| 78 | | nfrab1 3122 |
. . . . . . . 8
              |
| 79 | | df-3an 1039 |
. . . . . . . . . . . 12
          

      
          
           |
| 80 | 79 | anbi1i 731 |
. . . . . . . . . . 11
           
             

             
                |
| 81 | 13 | eulerpartleme 30425 |
. . . . . . . . . . . 12

    
    

         |
| 82 | 81 | anbi1i 731 |
. . . . . . . . . . 11
                   

                |
| 83 | | an32 839 |
. . . . . . . . . . 11
       
    
       
                   
              
   |
| 84 | 80, 82, 83 | 3bitr4i 292 |
. . . . . . . . . 10
                    
       
          |
| 85 | 13, 14, 15, 16, 17, 18, 19, 20, 21 | eulerpartlemt0 30431 |
. . . . . . . . . . . . 13
          
        |
| 86 | | nnex 11026 |
. . . . . . . . . . . . . . 15
 |
| 87 | 45, 86 | elmap 7886 |
. . . . . . . . . . . . . 14
  
      |
| 88 | 87 | 3anbi1i 1253 |
. . . . . . . . . . . . 13
        
     
    
    
        |
| 89 | 85, 88 | bitri 264 |
. . . . . . . . . . . 12
       
    
        |
| 90 | | df-3an 1039 |
. . . . . . . . . . . 12
          
     
          
     
   |
| 91 | | cnvimass 5485 |
. . . . . . . . . . . . . . . . . 18
    
 |
| 92 | | fdm 6051 |
. . . . . . . . . . . . . . . . . 18
       |
| 93 | 91, 92 | syl5sseq 3653 |
. . . . . . . . . . . . . . . . 17
            |
| 94 | | dfss3 3592 |
. . . . . . . . . . . . . . . . 17
     
         |
| 95 | 93, 94 | sylib 208 |
. . . . . . . . . . . . . . . 16
              |
| 96 | 95 | biantrurd 529 |
. . . . . . . . . . . . . . 15
                   
          |
| 97 | | dfss3 3592 |
. . . . . . . . . . . . . . . 16
     
         |
| 98 | | breq2 4657 |
. . . . . . . . . . . . . . . . . . 19
 
   |
| 99 | 98 | notbid 308 |
. . . . . . . . . . . . . . . . . 18
 
   |
| 100 | 99, 16 | elrab2 3366 |
. . . . . . . . . . . . . . . . 17

    |
| 101 | 100 | ralbii 2980 |
. . . . . . . . . . . . . . . 16
 
     
           |
| 102 | | r19.26 3064 |
. . . . . . . . . . . . . . . 16
 
      
                  |
| 103 | 97, 101, 102 | 3bitri 286 |
. . . . . . . . . . . . . . 15
     
 
      
        |
| 104 | 96, 103 | syl6rbbr 279 |
. . . . . . . . . . . . . 14
          
     
   |
| 105 | 104 | adantr 481 |
. . . . . . . . . . . . 13
          
                |
| 106 | 105 | pm5.32i 669 |
. . . . . . . . . . . 12
                  
          
          |
| 107 | 89, 90, 106 | 3bitri 286 |
. . . . . . . . . . 11
             
          |
| 108 | 107 | anbi1i 731 |
. . . . . . . . . 10
           
             
                |
| 109 | 84, 108 | bitr4i 267 |
. . . . . . . . 9
           
          |
| 110 | | rabid 3116 |
. . . . . . . . 9
       


     
   |
| 111 | | rabid 3116 |
. . . . . . . . 9
              
          |
| 112 | 109, 110,
111 | 3bitr4i 292 |
. . . . . . . 8
       

             |
| 113 | 77, 78, 112 | eqri 29315 |
. . . . . . 7
 
                  |
| 114 | 14, 76, 113 | 3eqtri 2648 |
. . . . . 6
            |
| 115 | 114 | reseq2i 5393 |
. . . . 5
  
             |
| 116 | 115 | a1i 11 |
. . . 4
                 |
| 117 | 114 | a1i 11 |
. . . 4
             |
| 118 | | nfcv 2764 |
. . . . . 6
   |
| 119 | | nfrab1 3122 |
. . . . . 6
                   |
| 120 | | fnima 6010 |
. . . . . . . . . . . . . . . . 17
       |
| 121 | 120 | sseq1d 3632 |
. . . . . . . . . . . . . . . 16
        
      |
| 122 | 121 | anbi2d 740 |
. . . . . . . . . . . . . . 15
  
   
    
       |
| 123 | | sstr 3611 |
. . . . . . . . . . . . . . . . 17
           |
| 124 | 49, 123 | mpan2 707 |
. . . . . . . . . . . . . . . 16

  
  |
| 125 | 124 | pm4.71ri 665 |
. . . . . . . . . . . . . . 15

  

      |
| 126 | 122, 125 | syl6bbr 278 |
. . . . . . . . . . . . . 14
  
   
   
      |
| 127 | 126 | pm5.32i 669 |
. . . . . . . . . . . . 13
                   |
| 128 | | anass 681 |
. . . . . . . . . . . . 13
           
 
           |
| 129 | | df-f 5892 |
. . . . . . . . . . . . 13
       
       |
| 130 | 127, 128,
129 | 3bitr4ri 293 |
. . . . . . . . . . . 12
       
 
           |
| 131 | | prex 4909 |
. . . . . . . . . . . . 13
    |
| 132 | 131, 86 | elmap 7886 |
. . . . . . . . . . . 12
     
         |
| 133 | | df-f 5892 |
. . . . . . . . . . . . 13
    
    |
| 134 | 133 | anbi1i 731 |
. . . . . . . . . . . 12
             
 
           |
| 135 | 130, 132,
134 | 3bitr4i 292 |
. . . . . . . . . . 11
     
    
          |
| 136 | | vex 3203 |
. . . . . . . . . . . 12
 |
| 137 | | cnveq 5296 |
. . . . . . . . . . . . . 14
 
   |
| 138 | 137 | imaeq1d 5465 |
. . . . . . . . . . . . 13
     
       |
| 139 | 138 | eleq1d 2686 |
. . . . . . . . . . . 12
      
    
   |
| 140 | 136, 139,
20 | elab2 3354 |
. . . . . . . . . . 11

       |
| 141 | 135, 140 | anbi12i 733 |
. . . . . . . . . 10
      
          
            |
| 142 | | elin 3796 |
. . . . . . . . . 10
       
         |
| 143 | | an32 839 |
. . . . . . . . . 10
                    
                  
   |
| 144 | 141, 142,
143 | 3bitr4i 292 |
. . . . . . . . 9
       
          
           |
| 145 | 144 | anbi1i 731 |
. . . . . . . 8
                
                               |
| 146 | 13 | eulerpartleme 30425 |
. . . . . . . . . 10

    
    

         |
| 147 | 146 | anbi1i 731 |
. . . . . . . . 9
         
          

                 |
| 148 | | df-3an 1039 |
. . . . . . . . . 10
          

      
          
           |
| 149 | 148 | anbi1i 731 |
. . . . . . . . 9
           
                           
            
      |
| 150 | | an32 839 |
. . . . . . . . 9
       
    
            
               
                   |
| 151 | 147, 149,
150 | 3bitri 286 |
. . . . . . . 8
         
                               |
| 152 | 145, 151 | bitr4i 267 |
. . . . . . 7
                

          |
| 153 | | rabid 3116 |
. . . . . . 7
       
                           |
| 154 | 13, 14, 15 | eulerpartlemd 30428 |
. . . . . . 7


          |
| 155 | 152, 153,
154 | 3bitr4ri 293 |
. . . . . 6

                  |
| 156 | 118, 119,
155 | eqri 29315 |
. . . . 5
                 |
| 157 | 156 | a1i 11 |
. . . 4
                  |
| 158 | 116, 117,
157 | f1oeq123d 6133 |
. . 3
       
                                              |
| 159 | 72, 158 | mpbird 247 |
. 2
        |
| 160 | 159 | trud 1493 |
1
       |