| Step | Hyp | Ref
| Expression |
| 1 | | 3simpb 1059 |
. . . . . . 7
 
    
                    
      |
| 2 | 1 | reximi 3011 |
. . . . . 6
      
                  
          |
| 3 | | 3simpb 1059 |
. . . . . . 7
 
    
                    
      |
| 4 | 3 | reximi 3011 |
. . . . . 6
      
                  
          |
| 5 | | fveq2 6191 |
. . . . . . . . . . . 12
           |
| 6 | 5 | sseq2d 3633 |
. . . . . . . . . . 11
     
       |
| 7 | | seqeq1 12804 |
. . . . . . . . . . . 12
         |
| 8 | 7 | breq1d 4663 |
. . . . . . . . . . 11
   
      |
| 9 | 6, 8 | anbi12d 747 |
. . . . . . . . . 10
                       |
| 10 | 9 | cbvrexv 3172 |
. . . . . . . . 9
      
   
            |
| 11 | 10 | anbi2i 730 |
. . . . . . . 8
   
                                           |
| 12 | | reeanv 3107 |
. . . . . . . 8
  
                                            |
| 13 | 11, 12 | bitr4i 267 |
. . . . . . 7
   
                                           |
| 14 | | simprlr 803 |
. . . . . . . . . . . . 13
         
    
               |
| 15 | 14 | adantl 482 |
. . . . . . . . . . . 12
 
 
                            |
| 16 | | prodmo.1 |
. . . . . . . . . . . . 13
        |
| 17 | | prodmo.2 |
. . . . . . . . . . . . . 14
 
   |
| 18 | 17 | adantlr 751 |
. . . . . . . . . . . . 13
           
    
          
   |
| 19 | | simprll 802 |
. . . . . . . . . . . . 13
 
 
                      
  |
| 20 | | simprlr 803 |
. . . . . . . . . . . . 13
 
 
                      
  |
| 21 | | simprll 802 |
. . . . . . . . . . . . . 14
         
    
                |
| 22 | 21 | adantl 482 |
. . . . . . . . . . . . 13
 
 
                             |
| 23 | | simprrl 804 |
. . . . . . . . . . . . . 14
         
    
                |
| 24 | 23 | adantl 482 |
. . . . . . . . . . . . 13
 
 
                             |
| 25 | 16, 18, 19, 20, 22, 24 | prodrb 14662 |
. . . . . . . . . . . 12
 
 
                         
      |
| 26 | 15, 25 | mpbid 222 |
. . . . . . . . . . 11
 
 
                            |
| 27 | | simprrr 805 |
. . . . . . . . . . . 12
         
    
               |
| 28 | 27 | adantl 482 |
. . . . . . . . . . 11
 
 
                            |
| 29 | | climuni 14283 |
. . . . . . . . . . 11
          |
| 30 | 26, 28, 29 | syl2anc 693 |
. . . . . . . . . 10
 
 
                      
  |
| 31 | 30 | expcom 451 |
. . . . . . . . 9
         
    
              |
| 32 | 31 | ex 450 |
. . . . . . . 8
 
       
    
        
     |
| 33 | 32 | rexlimivv 3036 |
. . . . . . 7
  
                   
    |
| 34 | 13, 33 | sylbi 207 |
. . . . . 6
   
                  
    |
| 35 | 2, 4, 34 | syl2an 494 |
. . . . 5
   
    
                
    
                 
    |
| 36 | | prodmo.3 |
. . . . . . . . . 10
       ![]_ ]_](_urbrack.gif)   |
| 37 | 16, 17, 36 | prodmolem2 14665 |
. . . . . . . . 9
 
                       
 
                     |
| 38 | | equcomi 1944 |
. . . . . . . . 9
   |
| 39 | 37, 38 | syl6 35 |
. . . . . . . 8
 
                       
 
                 
   |
| 40 | 39 | expimpd 629 |
. . . . . . 7
                                     
       
   |
| 41 | 40 | com12 32 |
. . . . . 6
   
    
                
                       |
| 42 | 41 | ancoms 469 |
. . . . 5
                          
                 
    |
| 43 | 16, 17, 36 | prodmolem2 14665 |
. . . . . . 7
 
                       
 
                 
   |
| 44 | 43 | expimpd 629 |
. . . . . 6
                                     
       
   |
| 45 | 44 | com12 32 |
. . . . 5
   
    
                
                       |
| 46 | | reeanv 3107 |
. . . . . . . 8
  
                                       ![]_ ]_](_urbrack.gif)                    
       
                    ![]_ ]_](_urbrack.gif)          |
| 47 | | eeanv 2182 |
. . . . . . . . 9
                                        ![]_ ]_](_urbrack.gif)                   
                           ![]_ ]_](_urbrack.gif)          |
| 48 | 47 | 2rexbii 3042 |
. . . . . . . 8
  
                                       ![]_ ]_](_urbrack.gif)        
                                        ![]_ ]_](_urbrack.gif)          |
| 49 | | oveq2 6658 |
. . . . . . . . . . . . . 14
           |
| 50 | | f1oeq2 6128 |
. . . . . . . . . . . . . 14
                 
           |
| 51 | 49, 50 | syl 17 |
. . . . . . . . . . . . 13
         
           |
| 52 | | fveq2 6191 |
. . . . . . . . . . . . . 14
               |
| 53 | 52 | eqeq2d 2632 |
. . . . . . . . . . . . 13
                 |
| 54 | 51, 53 | anbi12d 747 |
. . . . . . . . . . . 12
                 
                   |
| 55 | 54 | exbidv 1850 |
. . . . . . . . . . 11
                   
                     |
| 56 | | f1oeq1 6127 |
. . . . . . . . . . . . 13
         
           |
| 57 | | fveq1 6190 |
. . . . . . . . . . . . . . . . . . 19
           |
| 58 | 57 | csbeq1d 3540 |
. . . . . . . . . . . . . . . . . 18
       ![]_ ]_](_urbrack.gif)       ![]_ ]_](_urbrack.gif)   |
| 59 | 58 | mpteq2dv 4745 |
. . . . . . . . . . . . . . . . 17
        ![]_ ]_](_urbrack.gif)         ![]_ ]_](_urbrack.gif)    |
| 60 | 36, 59 | syl5eq 2668 |
. . . . . . . . . . . . . . . 16
        ![]_ ]_](_urbrack.gif)    |
| 61 | 60 | seqeq3d 12809 |
. . . . . . . . . . . . . . 15
             ![]_ ]_](_urbrack.gif)     |
| 62 | 61 | fveq1d 6193 |
. . . . . . . . . . . . . 14
                ![]_ ]_](_urbrack.gif)        |
| 63 | 62 | eqeq2d 2632 |
. . . . . . . . . . . . 13
                 ![]_ ]_](_urbrack.gif)         |
| 64 | 56, 63 | anbi12d 747 |
. . . . . . . . . . . 12
                 
                  ![]_ ]_](_urbrack.gif)          |
| 65 | 64 | cbvexv 2275 |
. . . . . . . . . . 11
                  
                    ![]_ ]_](_urbrack.gif)         |
| 66 | 55, 65 | syl6bb 276 |
. . . . . . . . . 10
                   
                    ![]_ ]_](_urbrack.gif)          |
| 67 | 66 | cbvrexv 3172 |
. . . . . . . . 9
                   
           
         ![]_ ]_](_urbrack.gif)         |
| 68 | 67 | anbi2i 730 |
. . . . . . . 8
                                                     
       
                    ![]_ ]_](_urbrack.gif)          |
| 69 | 46, 48, 68 | 3bitr4i 292 |
. . . . . . 7
  
                                       ![]_ ]_](_urbrack.gif)                    
       
                     |
| 70 | | an4 865 |
. . . . . . . . . 10
                                    ![]_ ]_](_urbrack.gif)                                 
         ![]_ ]_](_urbrack.gif)          |
| 71 | | simpll 790 |
. . . . . . . . . . . . . 14
   
 
                     |
| 72 | 71, 17 | sylan 488 |
. . . . . . . . . . . . 13
    
                    
   |
| 73 | | fveq2 6191 |
. . . . . . . . . . . . . . . 16
           |
| 74 | 73 | csbeq1d 3540 |
. . . . . . . . . . . . . . 15
       ![]_ ]_](_urbrack.gif)       ![]_ ]_](_urbrack.gif)   |
| 75 | 74 | cbvmptv 4750 |
. . . . . . . . . . . . . 14
       ![]_ ]_](_urbrack.gif)         ![]_ ]_](_urbrack.gif)   |
| 76 | 36, 75 | eqtri 2644 |
. . . . . . . . . . . . 13
       ![]_ ]_](_urbrack.gif)   |
| 77 | | fveq2 6191 |
. . . . . . . . . . . . . . 15
           |
| 78 | 77 | csbeq1d 3540 |
. . . . . . . . . . . . . 14
       ![]_ ]_](_urbrack.gif)       ![]_ ]_](_urbrack.gif)   |
| 79 | 78 | cbvmptv 4750 |
. . . . . . . . . . . . 13
       ![]_ ]_](_urbrack.gif)         ![]_ ]_](_urbrack.gif)   |
| 80 | | simplr 792 |
. . . . . . . . . . . . 13
   
 
                       |
| 81 | | simprl 794 |
. . . . . . . . . . . . 13
   
 
                             |
| 82 | | simprr 796 |
. . . . . . . . . . . . 13
   
 
                             |
| 83 | 16, 72, 76, 79, 80, 81, 82 | prodmolem3 14663 |
. . . . . . . . . . . 12
   
 
                                  ![]_ ]_](_urbrack.gif)        |
| 84 | | eqeq12 2635 |
. . . . . . . . . . . 12
       
         ![]_ ]_](_urbrack.gif)                       ![]_ ]_](_urbrack.gif)         |
| 85 | 83, 84 | syl5ibrcom 237 |
. . . . . . . . . . 11
   
 
                          
         ![]_ ]_](_urbrack.gif)      
   |
| 86 | 85 | expimpd 629 |
. . . . . . . . . 10
 
                             
         ![]_ ]_](_urbrack.gif)           |
| 87 | 70, 86 | syl5bi 232 |
. . . . . . . . 9
 
                                       ![]_ ]_](_urbrack.gif)           |
| 88 | 87 | exlimdvv 1862 |
. . . . . . . 8
 
                                           ![]_ ]_](_urbrack.gif)           |
| 89 | 88 | rexlimdvva 3038 |
. . . . . . 7
                                           ![]_ ]_](_urbrack.gif)           |
| 90 | 69, 89 | syl5bir 233 |
. . . . . 6
              
       
                      |
| 91 | 90 | com12 32 |
. . . . 5
                                             |
| 92 | 35, 42, 45, 91 | ccase 987 |
. . . 4
                                     
          
    
                
                   
    |
| 93 | 92 | com12 32 |
. . 3
         
                            
          
    
                
                   
   |
| 94 | 93 | alrimivv 1856 |
. 2
             
                            
          
    
                
                   
   |
| 95 | | breq2 4657 |
. . . . . 6
   
      |
| 96 | 95 | 3anbi3d 1405 |
. . . . 5
                       
                         |
| 97 | 96 | rexbidv 3052 |
. . . 4
  

    
               
                          |
| 98 | | eqeq1 2626 |
. . . . . . 7
                 |
| 99 | 98 | anbi2d 740 |
. . . . . 6
                 
                   |
| 100 | 99 | exbidv 1850 |
. . . . 5
                   
                     |
| 101 | 100 | rexbidv 3052 |
. . . 4
  
                 
           
          |
| 102 | 97, 101 | orbi12d 746 |
. . 3
                                     
       
 
    
                            
           |
| 103 | 102 | mo4 2517 |
. 2
                                      
       
        
    
                
                                                      
            |
| 104 | 94, 103 | sylibr 224 |
1
         
                            
          |