| Step | Hyp | Ref
| Expression |
| 1 | | fprodcl2lem.5 |
. . 3
   |
| 2 | 1 | neneqd 2388 |
. 2
   |
| 3 | | eqeq1 2203 |
. . . . 5


   |
| 4 | | prodeq1 11735 |
. . . . . 6


   |
| 5 | 4 | eleq1d 2265 |
. . . . 5

 
    |
| 6 | 3, 5 | orbi12d 794 |
. . . 4

   
 
    |
| 7 | | eqeq1 2203 |
. . . . 5
 
   |
| 8 | | prodeq1 11735 |
. . . . . 6
  
  |
| 9 | 8 | eleq1d 2265 |
. . . . 5
  
    |
| 10 | 7, 9 | orbi12d 794 |
. . . 4
   
       |
| 11 | | eqeq1 2203 |
. . . . 5
             |
| 12 | | prodeq1 11735 |
. . . . . 6
     
        |
| 13 | 12 | eleq1d 2265 |
. . . . 5
      

        |
| 14 | 11, 13 | orbi12d 794 |
. . . 4
      
 
     
         |
| 15 | | eqeq1 2203 |
. . . . 5
 
   |
| 16 | | prodeq1 11735 |
. . . . . 6
  
  |
| 17 | 16 | eleq1d 2265 |
. . . . 5
  
    |
| 18 | 15, 17 | orbi12d 794 |
. . . 4
   
       |
| 19 | | eqidd 2197 |
. . . . 5
   |
| 20 | 19 | orcd 734 |
. . . 4
 
    |
| 21 | | nfcsb1v 3117 |
. . . . . . . . . 10
  
 ![]_ ]_](_urbrack.gif)  |
| 22 | | simplr 528 |
. . . . . . . . . 10
    
      |
| 23 | | simprr 531 |
. . . . . . . . . 10
    
        |
| 24 | 23 | eldifbd 3169 |
. . . . . . . . . 10
    
   
  |
| 25 | | fprodcllem.1 |
. . . . . . . . . . . 12

  |
| 26 | 25 | ad3antrrr 492 |
. . . . . . . . . . 11
   
 
       |
| 27 | | simplll 533 |
. . . . . . . . . . . 12
   
 
       |
| 28 | | simplrl 535 |
. . . . . . . . . . . . 13
   
 
       |
| 29 | | simpr 110 |
. . . . . . . . . . . . 13
   
 
       |
| 30 | 28, 29 | sseldd 3185 |
. . . . . . . . . . . 12
   
 
       |
| 31 | | fprodcllem.4 |
. . . . . . . . . . . 12
 
   |
| 32 | 27, 30, 31 | syl2anc 411 |
. . . . . . . . . . 11
   
 
       |
| 33 | 26, 32 | sseldd 3185 |
. . . . . . . . . 10
   
 
       |
| 34 | 25 | ad2antrr 488 |
. . . . . . . . . . 11
    
      |
| 35 | | simpll 527 |
. . . . . . . . . . . 12
    
      |
| 36 | 23 | eldifad 3168 |
. . . . . . . . . . . 12
    
      |
| 37 | 31 | ralrimiva 2570 |
. . . . . . . . . . . . . 14
 
  |
| 38 | | nfv 1542 |
. . . . . . . . . . . . . . 15
  |
| 39 | 21 | nfel1 2350 |
. . . . . . . . . . . . . . 15
    ![]_ ]_](_urbrack.gif)
 |
| 40 | | csbeq1a 3093 |
. . . . . . . . . . . . . . . 16
   ![]_ ]_](_urbrack.gif)   |
| 41 | 40 | eleq1d 2265 |
. . . . . . . . . . . . . . 15
 
  ![]_ ]_](_urbrack.gif)    |
| 42 | 38, 39, 41 | cbvral 2725 |
. . . . . . . . . . . . . 14
 
   ![]_ ]_](_urbrack.gif)
  |
| 43 | 37, 42 | sylib 122 |
. . . . . . . . . . . . 13
    ![]_ ]_](_urbrack.gif)
  |
| 44 | 43 | r19.21bi 2585 |
. . . . . . . . . . . 12
 
   ![]_ ]_](_urbrack.gif)   |
| 45 | 35, 36, 44 | syl2anc 411 |
. . . . . . . . . . 11
    
      ![]_ ]_](_urbrack.gif)
  |
| 46 | 34, 45 | sseldd 3185 |
. . . . . . . . . 10
    
      ![]_ ]_](_urbrack.gif)
  |
| 47 | 21, 22, 23, 24, 33, 46, 40 | fprodunsn 11786 |
. . . . . . . . 9
    
              ![]_ ]_](_urbrack.gif)    |
| 48 | 47 | adantr 276 |
. . . . . . . 8
   
 
    
       
  ![]_ ]_](_urbrack.gif)    |
| 49 | | simpr 110 |
. . . . . . . . . . . . 13
   
 
    
  |
| 50 | 49 | prodeq1d 11746 |
. . . . . . . . . . . 12
   
 
    

   |
| 51 | | prod0 11767 |
. . . . . . . . . . . 12
  |
| 52 | 50, 51 | eqtrdi 2245 |
. . . . . . . . . . 11
   
 
    

  |
| 53 | 52 | oveq1d 5940 |
. . . . . . . . . 10
   
 
    
    ![]_ ]_](_urbrack.gif)     ![]_ ]_](_urbrack.gif)    |
| 54 | 46 | adantr 276 |
. . . . . . . . . . 11
   
 
    
  ![]_ ]_](_urbrack.gif)   |
| 55 | 54 | mulid2d 8062 |
. . . . . . . . . 10
   
 
    
   ![]_ ]_](_urbrack.gif)    ![]_ ]_](_urbrack.gif)   |
| 56 | 53, 55 | eqtrd 2229 |
. . . . . . . . 9
   
 
    
    ![]_ ]_](_urbrack.gif)    ![]_ ]_](_urbrack.gif)   |
| 57 | 45 | adantr 276 |
. . . . . . . . 9
   
 
    
  ![]_ ]_](_urbrack.gif)   |
| 58 | 56, 57 | eqeltrd 2273 |
. . . . . . . 8
   
 
    
    ![]_ ]_](_urbrack.gif)    |
| 59 | 48, 58 | eqeltrd 2273 |
. . . . . . 7
   
 
    
        |
| 60 | 59 | olcd 735 |
. . . . . 6
   
 
    
     
        |
| 61 | 60 | ex 115 |
. . . . 5
    
                    |
| 62 | 47 | adantr 276 |
. . . . . . . 8
   
 
    
           ![]_ ]_](_urbrack.gif)    |
| 63 | | fprodcllem.2 |
. . . . . . . . . . . 12
 

      |
| 64 | 63 | ralrimivva 2579 |
. . . . . . . . . . 11
  

   |
| 65 | | oveq1 5932 |
. . . . . . . . . . . . 13
       |
| 66 | 65 | eleq1d 2265 |
. . . . . . . . . . . 12
   
     |
| 67 | | oveq2 5933 |
. . . . . . . . . . . . 13
       |
| 68 | 67 | eleq1d 2265 |
. . . . . . . . . . . 12
   
     |
| 69 | 66, 68 | cbvral2v 2742 |
. . . . . . . . . . 11
 

 


    |
| 70 | 64, 69 | sylib 122 |
. . . . . . . . . 10
  

   |
| 71 | 70 | ad3antrrr 492 |
. . . . . . . . 9
   
 
    
 

    |
| 72 | | simpr 110 |
. . . . . . . . . 10
   
 
    
    |
| 73 | 45 | adantr 276 |
. . . . . . . . . 10
   
 
    
   ![]_ ]_](_urbrack.gif)   |
| 74 | | oveq1 5932 |
. . . . . . . . . . . 12
 
   
   |
| 75 | 74 | eleq1d 2265 |
. . . . . . . . . . 11
 
  
      |
| 76 | | oveq2 5933 |
. . . . . . . . . . . 12
   ![]_ ]_](_urbrack.gif)        ![]_ ]_](_urbrack.gif)    |
| 77 | 76 | eleq1d 2265 |
. . . . . . . . . . 11
   ![]_ ]_](_urbrack.gif)    
    ![]_ ]_](_urbrack.gif)     |
| 78 | 75, 77 | rspc2v 2881 |
. . . . . . . . . 10
  
  ![]_ ]_](_urbrack.gif)
          ![]_ ]_](_urbrack.gif)     |
| 79 | 72, 73, 78 | syl2anc 411 |
. . . . . . . . 9
   
 
    
  


     ![]_ ]_](_urbrack.gif)     |
| 80 | 71, 79 | mpd 13 |
. . . . . . . 8
   
 
    
     ![]_ ]_](_urbrack.gif)    |
| 81 | 62, 80 | eqeltrd 2273 |
. . . . . . 7
   
 
    
         |
| 82 | 81 | olcd 735 |
. . . . . 6
   
 
    
               |
| 83 | 82 | ex 115 |
. . . . 5
    
     
               |
| 84 | 61, 83 | jaod 718 |
. . . 4
    
     
                 |
| 85 | | fprodcllem.3 |
. . . 4
   |
| 86 | 6, 10, 14, 18, 20, 84, 85 | findcard2sd 6962 |
. . 3
  
   |
| 87 | 86 | orcomd 730 |
. 2
  
   |
| 88 | 2, 87 | ecased 1360 |
1
 
  |