| Step | Hyp | Ref
 | Expression | 
| 1 |   | eulerth.1 | 
. . . . . 6
                          
           | 
| 2 | 1 | simp1d 1011 | 
. . . . 5
              | 
| 3 | 2 | phicld 12386 | 
. . . 4
                  | 
| 4 |   | elnnuz 9638 | 
. . . 4
              
               | 
| 5 | 3, 4 | sylib 122 | 
. . 3
                      | 
| 6 |   | eluzfz2 10107 | 
. . 3
                  
                   | 
| 7 | 5, 6 | syl 14 | 
. 2
                          | 
| 8 |   | oveq2 5930 | 
. . . . . . 7
                          | 
| 9 | 8 | prodeq1d 11729 | 
. . . . . 6
                               
              | 
| 10 | 9 | oveq2d 5938 | 
. . . . 5
                                                          | 
| 11 | 10 | eqeq1d 2205 | 
. . . 4
                                       
                            | 
| 12 | 11 | imbi2d 230 | 
. . 3
              
                                                                 | 
| 13 |   | oveq2 5930 | 
. . . . . . 7
                          | 
| 14 | 13 | prodeq1d 11729 | 
. . . . . 6
                               
              | 
| 15 | 14 | oveq2d 5938 | 
. . . . 5
                                                          | 
| 16 | 15 | eqeq1d 2205 | 
. . . 4
                                       
                            | 
| 17 | 16 | imbi2d 230 | 
. . 3
              
                                                                 | 
| 18 |   | oveq2 5930 | 
. . . . . . 7
                                      | 
| 19 | 18 | prodeq1d 11729 | 
. . . . . 6
                                     
                    | 
| 20 | 19 | oveq2d 5938 | 
. . . . 5
                                                                      | 
| 21 | 20 | eqeq1d 2205 | 
. . . 4
                                             
                                  | 
| 22 | 21 | imbi2d 230 | 
. . 3
                    
                                                                       | 
| 23 |   | oveq2 5930 | 
. . . . . . 7
                                  | 
| 24 | 23 | prodeq1d 11729 | 
. . . . . 6
                                   
                  | 
| 25 | 24 | oveq2d 5938 | 
. . . . 5
                                                                  | 
| 26 | 25 | eqeq1d 2205 | 
. . . 4
                                           
                                | 
| 27 | 26 | imbi2d 230 | 
. . 3
                  
                                                                     | 
| 28 |   | 1z 9352 | 
. . . . . . 7
        | 
| 29 |   | eulerth.2 | 
. . . . . . . . . . 11
             ..^                  | 
| 30 |   | ssrab2 3268 | 
. . . . . . . . . . 11
         ..^                      ..^   | 
| 31 | 29, 30 | eqsstri 3215 | 
. . . . . . . . . 10
        ..^   | 
| 32 |   | fzo0ssnn0 10291 | 
. . . . . . . . . 10
    ..^       | 
| 33 | 31, 32 | sstri 3192 | 
. . . . . . . . 9
        | 
| 34 |   | nn0sscn 9254 | 
. . . . . . . . 9
        | 
| 35 | 33, 34 | sstri 3192 | 
. . . . . . . 8
        | 
| 36 |   | eulerth.4 | 
. . . . . . . . . 10
                      | 
| 37 |   | f1of 5504 | 
. . . . . . . . . 10
                  
               | 
| 38 | 36, 37 | syl 14 | 
. . . . . . . . 9
                      | 
| 39 | 3 | nnge1d 9033 | 
. . . . . . . . . 10
          
       | 
| 40 |   | uzid 9615 | 
. . . . . . . . . . . 12
                      | 
| 41 | 28, 40 | ax-mp 5 | 
. . . . . . . . . . 11
            | 
| 42 | 3 | nnzd 9447 | 
. . . . . . . . . . 11
                  | 
| 43 |   | elfz5 10092 | 
. . . . . . . . . . 11
                                             
            | 
| 44 | 41, 42, 43 | sylancr 414 | 
. . . . . . . . . 10
                       
            | 
| 45 | 39, 44 | mpbird 167 | 
. . . . . . . . 9
                      | 
| 46 | 38, 45 | ffvelcdmd 5698 | 
. . . . . . . 8
                  | 
| 47 | 35, 46 | sselid 3181 | 
. . . . . . 7
                  | 
| 48 |   | fveq2 5558 | 
. . . . . . . 8
                          | 
| 49 | 48 | fprod1 11759 | 
. . . . . . 7
                                                  | 
| 50 | 28, 47, 49 | sylancr 414 | 
. . . . . 6
                                | 
| 51 | 50 | oveq2d 5938 | 
. . . . 5
                                            | 
| 52 | 2 | nnzd 9447 | 
. . . . . 6
              | 
| 53 |   | nn0ssz 9344 | 
. . . . . . . 8
        | 
| 54 | 33, 53 | sstri 3192 | 
. . . . . . 7
        | 
| 55 | 54, 46 | sselid 3181 | 
. . . . . 6
                  | 
| 56 |   | gcdcom 12140 | 
. . . . . 6
                                                    | 
| 57 | 52, 55, 56 | syl2anc 411 | 
. . . . 5
                                  | 
| 58 |   | oveq1 5929 | 
. . . . . . . . 9
                   
                  | 
| 59 | 58 | eqeq1d 2205 | 
. . . . . . . 8
                                      
         | 
| 60 | 59, 29 | elrab2 2923 | 
. . . . . . 7
              
           ..^                       | 
| 61 | 46, 60 | sylib 122 | 
. . . . . 6
                  ..^                       | 
| 62 | 61 | simprd 114 | 
. . . . 5
                        | 
| 63 | 51, 57, 62 | 3eqtrd 2233 | 
. . . 4
                                  | 
| 64 | 63 | a1i 9 | 
. . 3
                  
                                 | 
| 65 |   | simpr 110 | 
. . . . . . . 8
               ..^                                                                  | 
| 66 | 38 | adantr 276 | 
. . . . . . . . . . . . 13
       
      ..^                         | 
| 67 |   | fzofzp1 10303 | 
. . . . . . . . . . . . . 14
         ..^        
                     | 
| 68 | 67 | adantl 277 | 
. . . . . . . . . . . . 13
       
      ..^                               | 
| 69 | 66, 68 | ffvelcdmd 5698 | 
. . . . . . . . . . . 12
       
      ..^                           | 
| 70 | 54, 69 | sselid 3181 | 
. . . . . . . . . . 11
       
      ..^                           | 
| 71 | 52 | adantr 276 | 
. . . . . . . . . . 11
       
      ..^                 | 
| 72 |   | gcdcom 12140 | 
. . . . . . . . . . 11
                         
                                            | 
| 73 | 70, 71, 72 | syl2anc 411 | 
. . . . . . . . . 10
       
      ..^                                                 | 
| 74 |   | oveq1 5929 | 
. . . . . . . . . . . . . 14
                         
                        | 
| 75 | 74 | eqeq1d 2205 | 
. . . . . . . . . . . . 13
                                                            | 
| 76 | 75, 29 | elrab2 2923 | 
. . . . . . . . . . . 12
                    
                 ..^                             | 
| 77 | 76 | simprbi 275 | 
. . . . . . . . . . 11
                                            | 
| 78 | 69, 77 | syl 14 | 
. . . . . . . . . 10
       
      ..^                                 | 
| 79 | 73, 78 | eqtr3d 2231 | 
. . . . . . . . 9
       
      ..^                                 | 
| 80 | 79 | adantr 276 | 
. . . . . . . 8
               ..^                                                              | 
| 81 | 28 | a1i 9 | 
. . . . . . . . . . . 12
       
      ..^                 | 
| 82 |   | elfzoelz 10222 | 
. . . . . . . . . . . . 13
         ..^        
       | 
| 83 | 82 | adantl 277 | 
. . . . . . . . . . . 12
       
      ..^                 | 
| 84 | 81, 83 | fzfigd 10523 | 
. . . . . . . . . . 11
       
      ..^                     | 
| 85 | 38 | ad2antrr 488 | 
. . . . . . . . . . . . 13
               ..^                      
               | 
| 86 |   | elfznn 10129 | 
. . . . . . . . . . . . . . . . 17
                      | 
| 87 | 86 | nnred 9003 | 
. . . . . . . . . . . . . . . 16
                      | 
| 88 | 87 | adantl 277 | 
. . . . . . . . . . . . . . 15
               ..^                      
       | 
| 89 | 3 | nnred 9003 | 
. . . . . . . . . . . . . . . 16
                  | 
| 90 | 89 | ad2antrr 488 | 
. . . . . . . . . . . . . . 15
               ..^                      
           | 
| 91 | 82 | ad2antlr 489 | 
. . . . . . . . . . . . . . . . 17
               ..^                      
       | 
| 92 | 91 | zred 9448 | 
. . . . . . . . . . . . . . . 16
               ..^                      
       | 
| 93 |   | elfzle2 10103 | 
. . . . . . . . . . . . . . . . 17
                      | 
| 94 | 93 | adantl 277 | 
. . . . . . . . . . . . . . . 16
               ..^                      
       | 
| 95 |   | elfzolt2 10232 | 
. . . . . . . . . . . . . . . . 17
         ..^        
           | 
| 96 | 95 | ad2antlr 489 | 
. . . . . . . . . . . . . . . 16
               ..^                      
           | 
| 97 | 88, 92, 90, 94, 96 | lelttrd 8151 | 
. . . . . . . . . . . . . . 15
               ..^                      
           | 
| 98 | 88, 90, 97 | ltled 8145 | 
. . . . . . . . . . . . . 14
               ..^                      
           | 
| 99 |   | elfzuz 10096 | 
. . . . . . . . . . . . . . 15
                          | 
| 100 | 42 | ad2antrr 488 | 
. . . . . . . . . . . . . . 15
               ..^                      
           | 
| 101 |   | elfz5 10092 | 
. . . . . . . . . . . . . . 15
                                             
            | 
| 102 | 99, 100, 101 | syl2an2 594 | 
. . . . . . . . . . . . . 14
               ..^                      
                    
        | 
| 103 | 98, 102 | mpbird 167 | 
. . . . . . . . . . . . 13
               ..^                      
               | 
| 104 | 85, 103 | ffvelcdmd 5698 | 
. . . . . . . . . . . 12
               ..^                      
           | 
| 105 | 54, 104 | sselid 3181 | 
. . . . . . . . . . 11
               ..^                      
           | 
| 106 | 84, 105 | fprodzcl 11774 | 
. . . . . . . . . 10
       
      ..^                               | 
| 107 |   | rpmul 12266 | 
. . . . . . . . . 10
                                                                                                                                                        | 
| 108 | 71, 106, 70, 107 | syl3anc 1249 | 
. . . . . . . . 9
       
      ..^                                                                                                             | 
| 109 | 108 | adantr 276 | 
. . . . . . . 8
               ..^                                                                                                                                          | 
| 110 | 65, 80, 109 | mp2and 433 | 
. . . . . . 7
               ..^                                                                                  | 
| 111 |   | elfzouz 10226 | 
. . . . . . . . . . . 12
         ..^        
           | 
| 112 | 111 | adantl 277 | 
. . . . . . . . . . 11
       
      ..^                     | 
| 113 | 38 | ad2antrr 488 | 
. . . . . . . . . . . . 13
               ..^                            
               | 
| 114 |   | elfzelz 10100 | 
. . . . . . . . . . . . . . . . 17
                            | 
| 115 | 114 | zred 9448 | 
. . . . . . . . . . . . . . . 16
                            | 
| 116 | 115 | adantl 277 | 
. . . . . . . . . . . . . . 15
               ..^                            
       | 
| 117 | 82 | ad2antlr 489 | 
. . . . . . . . . . . . . . . . 17
               ..^                            
       | 
| 118 | 117 | peano2zd 9451 | 
. . . . . . . . . . . . . . . 16
               ..^                            
             | 
| 119 | 118 | zred 9448 | 
. . . . . . . . . . . . . . 15
               ..^                            
             | 
| 120 | 89 | ad2antrr 488 | 
. . . . . . . . . . . . . . 15
               ..^                            
           | 
| 121 |   | elfzle2 10103 | 
. . . . . . . . . . . . . . . 16
                                  | 
| 122 | 121 | adantl 277 | 
. . . . . . . . . . . . . . 15
               ..^                            
             | 
| 123 |   | elfzle2 10103 | 
. . . . . . . . . . . . . . . . 17
                                          | 
| 124 | 67, 123 | syl 14 | 
. . . . . . . . . . . . . . . 16
         ..^        
                 | 
| 125 | 124 | ad2antlr 489 | 
. . . . . . . . . . . . . . 15
               ..^                            
                 | 
| 126 | 116, 119,
120, 122, 125 | letrd 8150 | 
. . . . . . . . . . . . . 14
               ..^                            
           | 
| 127 |   | elfzuz 10096 | 
. . . . . . . . . . . . . . 15
                                | 
| 128 | 42 | ad2antrr 488 | 
. . . . . . . . . . . . . . 15
               ..^                            
           | 
| 129 | 127, 128,
101 | syl2an2 594 | 
. . . . . . . . . . . . . 14
               ..^                            
                    
        | 
| 130 | 126, 129 | mpbird 167 | 
. . . . . . . . . . . . 13
               ..^                            
               | 
| 131 | 113, 130 | ffvelcdmd 5698 | 
. . . . . . . . . . . 12
               ..^                            
           | 
| 132 | 35, 131 | sselid 3181 | 
. . . . . . . . . . 11
               ..^                            
           | 
| 133 |   | fveq2 5558 | 
. . . . . . . . . . 11
                                      | 
| 134 | 112, 132,
133 | fprodp1 11765 | 
. . . . . . . . . 10
       
      ..^                                                                   | 
| 135 | 134 | oveq2d 5938 | 
. . . . . . . . 9
       
      ..^                                                                               | 
| 136 | 135 | eqeq1d 2205 | 
. . . . . . . 8
       
      ..^                                                                                         | 
| 137 | 136 | adantr 276 | 
. . . . . . 7
               ..^                                                                                                                      | 
| 138 | 110, 137 | mpbird 167 | 
. . . . . 6
               ..^                                                                        | 
| 139 | 138 | ex 115 | 
. . . . 5
       
      ..^                                                                         | 
| 140 | 139 | expcom 116 | 
. . . 4
         ..^        
                                                                     | 
| 141 | 140 | a2d 26 | 
. . 3
         ..^        
                                                                           | 
| 142 | 12, 17, 22, 27, 64, 141 | fzind2 10315 | 
. 2
                                                            | 
| 143 | 7, 142 | mpcom 36 | 
1
                                      |