| Step | Hyp | Ref
| Expression |
| 1 | | fprodntriv.2 |
. . . . 5
   |
| 2 | | fprodntriv.1 |
. . . . 5
     |
| 3 | 1, 2 | eleqtrdi 2289 |
. . . 4
       |
| 4 | | peano2uz 9674 |
. . . 4
    
        |
| 5 | 3, 4 | syl 14 |
. . 3
         |
| 6 | 5, 2 | eleqtrrdi 2290 |
. 2
     |
| 7 | | 1ap0 8634 |
. . 3
#  |
| 8 | | eqid 2196 |
. . . 4
   
         |
| 9 | | eluzelz 9627 |
. . . . . . 7
    
  |
| 10 | 9, 2 | eleq2s 2291 |
. . . . . 6
   |
| 11 | 1, 10 | syl 14 |
. . . . 5
   |
| 12 | 11 | peano2zd 9468 |
. . . 4
     |
| 13 | | seqex 10558 |
. . . . 5
 
           |
| 14 | 13 | a1i 9 |
. . . 4
               |
| 15 | | 1cnd 8059 |
. . . 4
   |
| 16 | | simpr 110 |
. . . . . 6
 
      
        |
| 17 | | fprodntriv.3 |
. . . . . . . . . 10

      |
| 18 | 17 | ad2antrr 488 |
. . . . . . . . 9
                       |
| 19 | 11 | ad2antrr 488 |
. . . . . . . . . . . . . . 15
                   |
| 20 | 19 | zred 9465 |
. . . . . . . . . . . . . 14
                   |
| 21 | 19 | peano2zd 9468 |
. . . . . . . . . . . . . . 15
                 
   |
| 22 | 21 | zred 9465 |
. . . . . . . . . . . . . 14
                 
   |
| 23 | | elfzelz 10117 |
. . . . . . . . . . . . . . . 16
         |
| 24 | 23 | adantl 277 |
. . . . . . . . . . . . . . 15
                   |
| 25 | 24 | zred 9465 |
. . . . . . . . . . . . . 14
                   |
| 26 | 20 | ltp1d 8974 |
. . . . . . . . . . . . . 14
                     |
| 27 | | elfzle1 10119 |
. . . . . . . . . . . . . . 15
       
   |
| 28 | 27 | adantl 277 |
. . . . . . . . . . . . . 14
                 
   |
| 29 | 20, 22, 25, 26, 28 | ltletrd 8467 |
. . . . . . . . . . . . 13
                   |
| 30 | | zltnle 9389 |
. . . . . . . . . . . . . 14
 
 
   |
| 31 | 19, 24, 30 | syl2anc 411 |
. . . . . . . . . . . . 13
                 
   |
| 32 | 29, 31 | mpbid 147 |
. . . . . . . . . . . 12
                   |
| 33 | 32 | intnand 932 |
. . . . . . . . . . 11
                 
   |
| 34 | 33 | intnand 932 |
. . . . . . . . . 10
                         |
| 35 | | elfz2 10107 |
. . . . . . . . . 10
    
 
      |
| 36 | 34, 35 | sylnibr 678 |
. . . . . . . . 9
                
      |
| 37 | 18, 36 | ssneldd 3187 |
. . . . . . . 8
                
  |
| 38 | 37 | iffalsed 3572 |
. . . . . . 7
                  
   ![]_ ]_](_urbrack.gif)     |
| 39 | 6 | ad2antrr 488 |
. . . . . . . . 9
                 
   |
| 40 | | elfzuz 10113 |
. . . . . . . . . 10
               |
| 41 | 40 | adantl 277 |
. . . . . . . . 9
                         |
| 42 | 2 | uztrn2 9636 |
. . . . . . . . 9
   
   
  
  |
| 43 | 39, 41, 42 | syl2anc 411 |
. . . . . . . 8
                   |
| 44 | | ax-1cn 7989 |
. . . . . . . . 9
 |
| 45 | 38, 44 | eqeltrdi 2287 |
. . . . . . . 8
                  
   ![]_ ]_](_urbrack.gif)     |
| 46 | | nfcv 2339 |
. . . . . . . . 9
   |
| 47 | | nfv 1542 |
. . . . . . . . . 10
  |
| 48 | | nfcsb1v 3117 |
. . . . . . . . . 10
  
 ![]_ ]_](_urbrack.gif)  |
| 49 | | nfcv 2339 |
. . . . . . . . . 10
   |
| 50 | 47, 48, 49 | nfif 3590 |
. . . . . . . . 9
       ![]_ ]_](_urbrack.gif)    |
| 51 | | eleq1w 2257 |
. . . . . . . . . 10
 
   |
| 52 | | csbeq1a 3093 |
. . . . . . . . . 10
   ![]_ ]_](_urbrack.gif)   |
| 53 | 51, 52 | ifbieq1d 3584 |
. . . . . . . . 9
           ![]_ ]_](_urbrack.gif)     |
| 54 | | eqid 2196 |
. . . . . . . . 9
    
      
   |
| 55 | 46, 50, 53, 54 | fvmptf 5657 |
. . . . . . . 8
       ![]_ ]_](_urbrack.gif)                    ![]_ ]_](_urbrack.gif)     |
| 56 | 43, 45, 55 | syl2anc 411 |
. . . . . . 7
                                 ![]_ ]_](_urbrack.gif)     |
| 57 | | 1ex 8038 |
. . . . . . . . 9
 |
| 58 | 57 | fvconst2 5781 |
. . . . . . . 8
    
 
                |
| 59 | 41, 58 | syl 14 |
. . . . . . 7
                      
          |
| 60 | 38, 56, 59 | 3eqtr4d 2239 |
. . . . . 6
                                 
          |
| 61 | 6 | ad2antrr 488 |
. . . . . . . . 9
                
    |
| 62 | | simpr 110 |
. . . . . . . . 9
                
        |
| 63 | 2 | uztrn2 9636 |
. . . . . . . . 9
   
   
  
  |
| 64 | 61, 62, 63 | syl2anc 411 |
. . . . . . . 8
                
  |
| 65 | 17 | ad2antrr 488 |
. . . . . . . . . . 11
                
      |
| 66 | 11 | ad2antrr 488 |
. . . . . . . . . . . . . . . . 17
                
  |
| 67 | 66 | zred 9465 |
. . . . . . . . . . . . . . . 16
                
  |
| 68 | | peano2re 8179 |
. . . . . . . . . . . . . . . . 17
 
   |
| 69 | 67, 68 | syl 14 |
. . . . . . . . . . . . . . . 16
                
    |
| 70 | | eluzelz 9627 |
. . . . . . . . . . . . . . . . . 18
    
 
  |
| 71 | 70 | adantl 277 |
. . . . . . . . . . . . . . . . 17
                
  |
| 72 | 71 | zred 9465 |
. . . . . . . . . . . . . . . 16
                
  |
| 73 | 67 | ltp1d 8974 |
. . . . . . . . . . . . . . . 16
                
    |
| 74 | | eluzle 9630 |
. . . . . . . . . . . . . . . . 17
    
 
    |
| 75 | 74 | adantl 277 |
. . . . . . . . . . . . . . . 16
                
    |
| 76 | 67, 69, 72, 73, 75 | ltletrd 8467 |
. . . . . . . . . . . . . . 15
                
  |
| 77 | | zltnle 9389 |
. . . . . . . . . . . . . . . 16
 
 
   |
| 78 | 66, 71, 77 | syl2anc 411 |
. . . . . . . . . . . . . . 15
                

   |
| 79 | 76, 78 | mpbid 147 |
. . . . . . . . . . . . . 14
                
  |
| 80 | 79 | intnand 932 |
. . . . . . . . . . . . 13
                
    |
| 81 | 80 | intnand 932 |
. . . . . . . . . . . 12
                
 
 
    |
| 82 | | elfz2 10107 |
. . . . . . . . . . . 12
    
 
      |
| 83 | 81, 82 | sylnibr 678 |
. . . . . . . . . . 11
                
      |
| 84 | 65, 83 | ssneldd 3187 |
. . . . . . . . . 10
                
  |
| 85 | 84 | iffalsed 3572 |
. . . . . . . . 9
                
   
 ![]_ ]_](_urbrack.gif)     |
| 86 | 85, 44 | eqeltrdi 2287 |
. . . . . . . 8
                
   
 ![]_ ]_](_urbrack.gif)     |
| 87 | | nfcv 2339 |
. . . . . . . . 9
   |
| 88 | | nfv 1542 |
. . . . . . . . . 10
  |
| 89 | | nfcsb1v 3117 |
. . . . . . . . . 10
  
 ![]_ ]_](_urbrack.gif)  |
| 90 | 88, 89, 49 | nfif 3590 |
. . . . . . . . 9
       ![]_ ]_](_urbrack.gif)    |
| 91 | | eleq1w 2257 |
. . . . . . . . . 10
 
   |
| 92 | | csbeq1a 3093 |
. . . . . . . . . 10
   ![]_ ]_](_urbrack.gif)   |
| 93 | 91, 92 | ifbieq1d 3584 |
. . . . . . . . 9
           ![]_ ]_](_urbrack.gif)     |
| 94 | 87, 90, 93, 54 | fvmptf 5657 |
. . . . . . . 8
       ![]_ ]_](_urbrack.gif)                    ![]_ ]_](_urbrack.gif)     |
| 95 | 64, 86, 94 | syl2anc 411 |
. . . . . . 7
                
                ![]_ ]_](_urbrack.gif)     |
| 96 | 95, 86 | eqeltrd 2273 |
. . . . . 6
                
             |
| 97 | 57 | fvconst2 5781 |
. . . . . . . 8
    
 
                |
| 98 | 97 | adantl 277 |
. . . . . . 7
                
                |
| 99 | 98, 44 | eqeltrdi 2287 |
. . . . . 6
                
                |
| 100 | | mulcl 8023 |
. . . . . . 7
 
     |
| 101 | 100 | adantl 277 |
. . . . . 6
                 |
| 102 | 16, 60, 96, 99, 101 | seq3fveq 10588 |
. . . . 5
 
      
 
                                 |
| 103 | 8 | prodf1 11724 |
. . . . . 6
    
 
 
      
           |
| 104 | 103 | adantl 277 |
. . . . 5
 
      
 
      
           |
| 105 | 102, 104 | eqtrd 2229 |
. . . 4
 
      
 
               |
| 106 | 8, 12, 14, 15, 105 | climconst 11472 |
. . 3
               |
| 107 | | breq1 4037 |
. . . . 5
  #
#    |
| 108 | | breq2 4038 |
. . . . 5
                            |
| 109 | 107, 108 | anbi12d 473 |
. . . 4
   #             
 #  
              |
| 110 | 57, 109 | spcev 2859 |
. . 3
  #  
              #                |
| 111 | 7, 106, 110 | sylancr 414 |
. 2
    #  
             |
| 112 | | seqeq1 10559 |
. . . . . 6
                     
     |
| 113 | 112 | breq1d 4044 |
. . . . 5
                            |
| 114 | 113 | anbi2d 464 |
. . . 4
     #           
 #         
       |
| 115 | 114 | exbidv 1839 |
. . 3
       #       
       #         
       |
| 116 | 115 | rspcev 2868 |
. 2
       #         
    

   #              |
| 117 | 6, 111, 116 | syl2anc 411 |
1
     #       
      |