Proof of Theorem mccllem
| Step | Hyp | Ref
| Expression |
| 1 | | nfv 1843 |
. . . . 5
   |
| 2 | | nfcv 2764 |
. . . . 5
           |
| 3 | | mccllem.a |
. . . . . 6
   |
| 4 | | mccllem.c |
. . . . . 6

  |
| 5 | | ssfi 8180 |
. . . . . 6
  
  |
| 6 | 3, 4, 5 | syl2anc 693 |
. . . . 5
   |
| 7 | | mccllem.d |
. . . . 5
     |
| 8 | | eldifn 3733 |
. . . . . 6
  
  |
| 9 | 7, 8 | syl 17 |
. . . . 5
   |
| 10 | | mccllem.b |
. . . . . . . . . 10
         |
| 11 | | elmapi 7879 |
. . . . . . . . . 10
  
              |
| 12 | 10, 11 | syl 17 |
. . . . . . . . 9
           |
| 13 | 12 | adantr 481 |
. . . . . . . 8
 
           |
| 14 | | elun1 3780 |
. . . . . . . . 9
       |
| 15 | 14 | adantl 482 |
. . . . . . . 8
 
       |
| 16 | 13, 15 | ffvelrnd 6360 |
. . . . . . 7
 
       |
| 17 | 16 | faccld 13071 |
. . . . . 6
 
           |
| 18 | 17 | nncnd 11036 |
. . . . 5
 
           |
| 19 | | fveq2 6191 |
. . . . . 6
           |
| 20 | 19 | fveq2d 6195 |
. . . . 5
                   |
| 21 | | snidg 4206 |
. . . . . . . . . 10
       |
| 22 | 7, 21 | syl 17 |
. . . . . . . . 9
     |
| 23 | | elun2 3781 |
. . . . . . . . 9
         |
| 24 | 22, 23 | syl 17 |
. . . . . . . 8
       |
| 25 | 12, 24 | ffvelrnd 6360 |
. . . . . . 7
       |
| 26 | 25 | faccld 13071 |
. . . . . 6
           |
| 27 | 26 | nncnd 11036 |
. . . . 5
           |
| 28 | 1, 2, 6, 7, 9, 18,
20, 27 | fprodsplitsn 14720 |
. . . 4
                                    |
| 29 | 28 | oveq2d 6666 |
. . 3
                                   
                                |
| 30 | 7 | eldifad 3586 |
. . . . . . . . . . . 12
   |
| 31 | | snssi 4339 |
. . . . . . . . . . . 12
     |
| 32 | 30, 31 | syl 17 |
. . . . . . . . . . 11
     |
| 33 | 4, 32 | unssd 3789 |
. . . . . . . . . 10
       |
| 34 | | ssfi 8180 |
. . . . . . . . . 10
  
   
      |
| 35 | 3, 33, 34 | syl2anc 693 |
. . . . . . . . 9
       |
| 36 | 12 | ffvelrnda 6359 |
. . . . . . . . 9
 

          |
| 37 | 35, 36 | fsumnn0cl 14467 |
. . . . . . . 8
             |
| 38 | 37 | faccld 13071 |
. . . . . . 7
    
            |
| 39 | 38 | nncnd 11036 |
. . . . . 6
    
            |
| 40 | 1, 6, 18 | fprodclf 14723 |
. . . . . . 7
            |
| 41 | 40, 27 | mulcld 10060 |
. . . . . 6
                      |
| 42 | 17 | nnne0d 11065 |
. . . . . . . 8
 
           |
| 43 | 6, 18, 42 | fprodn0 14709 |
. . . . . . 7
            |
| 44 | 26 | nnne0d 11065 |
. . . . . . 7
           |
| 45 | 40, 27, 43, 44 | mulne0d 10679 |
. . . . . 6
                      |
| 46 | 39, 41, 45 | divcld 10801 |
. . . . 5
                                      |
| 47 | 46 | mulid2d 10058 |
. . . 4
      
                                               
                    |
| 48 | 47 | eqcomd 2628 |
. . 3
                                         
                                 |
| 49 | 6, 16 | fsumnn0cl 14467 |
. . . . . . . . 9
        |
| 50 | 49 | faccld 13071 |
. . . . . . . 8
    
       |
| 51 | 50 | nncnd 11036 |
. . . . . . 7
    
       |
| 52 | | nnne0 11053 |
. . . . . . . 8
    
    
           |
| 53 | 50, 52 | syl 17 |
. . . . . . 7
    
       |
| 54 | 51, 53 | dividd 10799 |
. . . . . 6
                       |
| 55 | 54 | eqcomd 2628 |
. . . . 5
     
        
        |
| 56 | 40, 27 | mulcomd 10061 |
. . . . . . 7
                             
           |
| 57 | 56 | oveq2d 6666 |
. . . . . 6
                                                            
            |
| 58 | 39, 27, 40, 44, 43 | divdiv1d 10832 |
. . . . . . 7
                                                            
            |
| 59 | 58 | eqcomd 2628 |
. . . . . 6
                         
                                               |
| 60 | 57, 59 | eqtrd 2656 |
. . . . 5
                                                                         |
| 61 | 55, 60 | oveq12d 6668 |
. . . 4
      
                                    
        
                                            |
| 62 | 39, 27, 44 | divcld 10801 |
. . . . 5
                           |
| 63 | 51, 51, 62, 40, 53, 43 | divmul13d 10843 |
. . . 4
                                                                                                        
            |
| 64 | 61, 63 | eqtrd 2656 |
. . 3
      
                                     
                                 
     
            |
| 65 | 29, 48, 64 | 3eqtrd 2660 |
. 2
                                                                             
            |
| 66 | 39, 27, 51, 44, 53 | divdiv1d 10832 |
. . . . 5
                                                               
         |
| 67 | | nfcsb1v 3549 |
. . . . . . . . . . 11
  
 ![]_ ]_](_urbrack.gif)      |
| 68 | 16 | nn0cnd 11353 |
. . . . . . . . . . 11
 
       |
| 69 | | csbeq1a 3542 |
. . . . . . . . . . 11
       ![]_ ]_](_urbrack.gif)       |
| 70 | | csbfv 6233 |
. . . . . . . . . . . . 13
  ![]_ ]_](_urbrack.gif)          |
| 71 | 70 | a1i 11 |
. . . . . . . . . . . 12
   ![]_ ]_](_urbrack.gif)           |
| 72 | 25 | nn0cnd 11353 |
. . . . . . . . . . . 12
       |
| 73 | 71, 72 | eqeltrd 2701 |
. . . . . . . . . . 11
   ![]_ ]_](_urbrack.gif)       |
| 74 | 1, 67, 6, 30, 9, 68, 69, 73 | fsumsplitsn 14474 |
. . . . . . . . . 10
                   ![]_ ]_](_urbrack.gif)        |
| 75 | 74 | oveq1d 6665 |
. . . . . . . . 9
                           ![]_ ]_](_urbrack.gif)              |
| 76 | 49 | nn0cnd 11353 |
. . . . . . . . . 10
        |
| 77 | 76, 73 | pncan2d 10394 |
. . . . . . . . 9
   
      ![]_ ]_](_urbrack.gif)      
       ![]_ ]_](_urbrack.gif)       |
| 78 | 75, 77, 71 | 3eqtrrd 2661 |
. . . . . . . 8
      
         
       |
| 79 | 78 | fveq2d 6195 |
. . . . . . 7
                                |
| 80 | 79 | oveq1d 6665 |
. . . . . 6
                                   
                  |
| 81 | 80 | oveq2d 6666 |
. . . . 5
                                                                                      |
| 82 | | 0zd 11389 |
. . . . . . . . . 10
   |
| 83 | 37 | nn0zd 11480 |
. . . . . . . . . 10
             |
| 84 | 49 | nn0zd 11480 |
. . . . . . . . . 10
        |
| 85 | 82, 83, 84 | 3jca 1242 |
. . . . . . . . 9
            
       |
| 86 | 49 | nn0ge0d 11354 |
. . . . . . . . 9

       |
| 87 | 25 | nn0ge0d 11354 |
. . . . . . . . . . . 12

      |
| 88 | 71 | eqcomd 2628 |
. . . . . . . . . . . 12
       ![]_ ]_](_urbrack.gif)       |
| 89 | 87, 88 | breqtrd 4679 |
. . . . . . . . . . 11

  ![]_ ]_](_urbrack.gif)       |
| 90 | 49 | nn0red 11352 |
. . . . . . . . . . . 12
        |
| 91 | 25 | nn0red 11352 |
. . . . . . . . . . . . 13
       |
| 92 | 71, 91 | eqeltrd 2701 |
. . . . . . . . . . . 12
   ![]_ ]_](_urbrack.gif)       |
| 93 | 90, 92 | addge01d 10615 |
. . . . . . . . . . 11
    ![]_ ]_](_urbrack.gif)           
      ![]_ ]_](_urbrack.gif)         |
| 94 | 89, 93 | mpbid 222 |
. . . . . . . . . 10
       
      ![]_ ]_](_urbrack.gif)        |
| 95 | 74 | eqcomd 2628 |
. . . . . . . . . 10
         ![]_ ]_](_urbrack.gif)                  |
| 96 | 94, 95 | breqtrd 4679 |
. . . . . . . . 9
                  |
| 97 | 85, 86, 96 | jca32 558 |
. . . . . . . 8
             
                              |
| 98 | | elfz2 12333 |
. . . . . . . 8
 
       
         
                   
    
                  |
| 99 | 97, 98 | sylibr 224 |
. . . . . . 7
                      |
| 100 | | bcval2 13092 |
. . . . . . 7
 
       
                     
                                                       |
| 101 | 99, 100 | syl 17 |
. . . . . 6
                                                                    |
| 102 | 101 | eqcomd 2628 |
. . . . 5
                                                  
         
       |
| 103 | 66, 81, 102 | 3eqtrd 2660 |
. . . 4
                                                       |
| 104 | | bccl2 13110 |
. . . . 5
 
       
                     
       |
| 105 | 99, 104 | syl 17 |
. . . 4
                    |
| 106 | 103, 105 | eqeltrd 2701 |
. . 3
                                      |
| 107 | | mccllem.6 |
. . . 4
               
           |
| 108 | | ssun1 3776 |
. . . . . 6

    |
| 109 | 108 | a1i 11 |
. . . . 5

      |
| 110 | | elmapssres 7882 |
. . . . 5
        
          |
| 111 | 10, 109, 110 | syl2anc 693 |
. . . 4
       |
| 112 | | fveq1 6190 |
. . . . . . . . . . 11
               |
| 113 | 112 | adantr 481 |
. . . . . . . . . 10
                 |
| 114 | | fvres 6207 |
. . . . . . . . . . 11
             |
| 115 | 114 | adantl 482 |
. . . . . . . . . 10
                 |
| 116 | 113, 115 | eqtrd 2656 |
. . . . . . . . 9
               |
| 117 | 116 | sumeq2dv 14433 |
. . . . . . . 8
   
    
      |
| 118 | 117 | fveq2d 6195 |
. . . . . . 7
               
       |
| 119 | 116 | fveq2d 6195 |
. . . . . . . 8
                       |
| 120 | 119 | prodeq2dv 14653 |
. . . . . . 7
            
          |
| 121 | 118, 120 | oveq12d 6668 |
. . . . . 6
       
     
                   
           |
| 122 | 121 | eleq1d 2686 |
. . . . 5
              
                   
            |
| 123 | 122 | rspccva 3308 |
. . . 4
                
             
                      |
| 124 | 107, 111,
123 | syl2anc 693 |
. . 3
           
           |
| 125 | 106, 124 | nnmulcld 11068 |
. 2
                                               
            |
| 126 | 65, 125 | eqeltrd 2701 |
1
                                 |