| Step | Hyp | Ref
| Expression |
| 1 | | mpteq1 4210 |
. . . . . . 7

          |
| 2 | 1 | oveq2d 6091 |
. . . . . 6

 g 
     g  
     |
| 3 | | reseq2 5053 |
. . . . . . . 8

  
   |
| 4 | 3 | oveq2d 6091 |
. . . . . . 7

 g 
   g 
    |
| 5 | | reseq2 5053 |
. . . . . . . 8

  
   |
| 6 | 5 | oveq2d 6091 |
. . . . . . 7

 g 
   g 
    |
| 7 | 4, 6 | oveq12d 6093 |
. . . . . 6

  g     g       g    
g       |
| 8 | 2, 7 | eqeq12d 2253 |
. . . . 5

  g        g    
g    
 g        g     g        |
| 9 | | mpteq1 4210 |
. . . . . . 7
           |
| 10 | 9 | oveq2d 6091 |
. . . . . 6
  g       g        |
| 11 | | reseq2 5053 |
. . . . . . . 8
       |
| 12 | 11 | oveq2d 6091 |
. . . . . . 7
  g     g      |
| 13 | | reseq2 5053 |
. . . . . . . 8
       |
| 14 | 13 | oveq2d 6091 |
. . . . . . 7
  g     g      |
| 15 | 12, 14 | oveq12d 6093 |
. . . . . 6
   g     g       g    
g       |
| 16 | 10, 15 | eqeq12d 2253 |
. . . . 5
   g        g    
g    
 g        g     g        |
| 17 | | mpteq1 4210 |
. . . . . . 7
                   |
| 18 | 17 | oveq2d 6091 |
. . . . . 6
      g       g 
          |
| 19 | | reseq2 5053 |
. . . . . . . 8
       
       |
| 20 | 19 | oveq2d 6091 |
. . . . . . 7
      g     g          |
| 21 | | reseq2 5053 |
. . . . . . . 8
       
       |
| 22 | 21 | oveq2d 6091 |
. . . . . . 7
      g     g          |
| 23 | 20, 22 | oveq12d 6093 |
. . . . . 6
       g 
   g 
     g         g           |
| 24 | 18, 23 | eqeq12d 2253 |
. . . . 5
       g 
      g    
g    
 g            g 
      
g            |
| 25 | | mpteq1 4210 |
. . . . . . 7
           |
| 26 | 25 | oveq2d 6091 |
. . . . . 6
  g       g        |
| 27 | | reseq2 5053 |
. . . . . . . 8
       |
| 28 | 27 | oveq2d 6091 |
. . . . . . 7
  g     g      |
| 29 | | reseq2 5053 |
. . . . . . . 8
       |
| 30 | 29 | oveq2d 6091 |
. . . . . . 7
  g     g      |
| 31 | 28, 30 | oveq12d 6093 |
. . . . . 6
   g     g       g    
g       |
| 32 | 26, 31 | eqeq12d 2253 |
. . . . 5
   g        g    
g    
 g        g     g 
      |
| 33 | | gsummptfidmadd.g |
. . . . . . . 8
 CMnd |
| 34 | 33 | cmnmndd 14088 |
. . . . . . 7
   |
| 35 | | gsummptfidmadd.b |
. . . . . . . 8
     |
| 36 | | eqid 2238 |
. . . . . . . 8
         |
| 37 | 35, 36 | mndidcl 13720 |
. . . . . . 7
       |
| 38 | | gsummptfidmadd.p |
. . . . . . . 8
    |
| 39 | 35, 38, 36 | mndlid 13725 |
. . . . . . 7
                       |
| 40 | 34, 37, 39 | syl2anc2 416 |
. . . . . 6
                 |
| 41 | | res0 5062 |
. . . . . . . . 9
   |
| 42 | 41 | oveq2i 6086 |
. . . . . . . 8
 g 
   g   |
| 43 | | gsum0cmn 14131 |
. . . . . . . . 9
 CMnd  g        |
| 44 | 33, 43 | syl 14 |
. . . . . . . 8
  g 
      |
| 45 | 42, 44 | eqtrid 2283 |
. . . . . . 7
  g          |
| 46 | | res0 5062 |
. . . . . . . . 9
   |
| 47 | 46 | oveq2i 6086 |
. . . . . . . 8
 g 
   g   |
| 48 | 47, 44 | eqtrid 2283 |
. . . . . . 7
  g          |
| 49 | 45, 48 | oveq12d 6093 |
. . . . . 6
   g    
g                 |
| 50 | | mpt0 5506 |
. . . . . . . 8
     |
| 51 | 50 | oveq2i 6086 |
. . . . . . 7
 g 
     g   |
| 52 | 51, 44 | eqtrid 2283 |
. . . . . 6
  g  
         |
| 53 | 40, 49, 52 | 3eqtr4rd 2282 |
. . . . 5
  g  
     g     g       |
| 54 | | simpr 110 |
. . . . . . . 8
   
 
     g 
      g    
g       g        g     g       |
| 55 | 54 | oveq1d 6090 |
. . . . . . 7
   
 
     g 
      g    
g        g 
       ![]_ ]_](_urbrack.gif)
  ![]_ ]_](_urbrack.gif)      g     g        ![]_ ]_](_urbrack.gif)
  ![]_ ]_](_urbrack.gif)     |
| 56 | 33 | ad2antrr 492 |
. . . . . . . . . 10
    
    CMnd |
| 57 | 34 | ad3antrrr 496 |
. . . . . . . . . . . 12
   
 
           |
| 58 | | simplll 539 |
. . . . . . . . . . . . 13
   
 
           |
| 59 | | simprl 535 |
. . . . . . . . . . . . . . 15
    
      |
| 60 | | simprr 537 |
. . . . . . . . . . . . . . . . 17
    
        |
| 61 | 60 | eldifad 3231 |
. . . . . . . . . . . . . . . 16
    
      |
| 62 | 61 | snssd 3855 |
. . . . . . . . . . . . . . 15
    
        |
| 63 | 59, 62 | unssd 3405 |
. . . . . . . . . . . . . 14
    
          |
| 64 | 63 | sselda 3248 |
. . . . . . . . . . . . 13
   
 
           |
| 65 | | gsummptfidmadd.c |
. . . . . . . . . . . . 13
 
   |
| 66 | 58, 64, 65 | syl2anc 415 |
. . . . . . . . . . . 12
   
 
           |
| 67 | | gsummptfidmadd.d |
. . . . . . . . . . . . 13
 
   |
| 68 | 58, 64, 67 | syl2anc 415 |
. . . . . . . . . . . 12
   
 
           |
| 69 | 35, 38 | mndcl 13713 |
. . . . . . . . . . . 12
 
     |
| 70 | 57, 66, 68, 69 | syl3anc 1278 |
. . . . . . . . . . 11
   
 
             |
| 71 | 70 | fmpttd 5854 |
. . . . . . . . . 10
    
                      |
| 72 | | simplr 533 |
. . . . . . . . . 10
    
      |
| 73 | 60 | eldifbd 3232 |
. . . . . . . . . 10
    
   
  |
| 74 | 35, 38, 56, 71, 72, 61, 73 | gsump1 14134 |
. . . . . . . . 9
    
     g            g                           |
| 75 | | ssun1 3392 |
. . . . . . . . . . . . 13
     |
| 76 | | resmpt 5106 |
. . . . . . . . . . . . 13
                     |
| 77 | 75, 76 | ax-mp 5 |
. . . . . . . . . . . 12
               |
| 78 | 77 | oveq2i 6086 |
. . . . . . . . . . 11
 g         
   g 
     |
| 79 | 78 | a1i 9 |
. . . . . . . . . 10
    
     g             g        |
| 80 | | ssun2 3393 |
. . . . . . . . . . . 12
 
     |
| 81 | | vsnid 3737 |
. . . . . . . . . . . 12
   |
| 82 | 80, 81 | sselii 3245 |
. . . . . . . . . . 11
     |
| 83 | 34 | ad2antrr 492 |
. . . . . . . . . . . 12
    
      |
| 84 | 65 | ralrimiva 2623 |
. . . . . . . . . . . . . 14
 
  |
| 85 | 84 | ad2antrr 492 |
. . . . . . . . . . . . 13
    
    
  |
| 86 | | nfcsb1v 3180 |
. . . . . . . . . . . . . . 15
  
 ![]_ ]_](_urbrack.gif)  |
| 87 | 86 | nfel1 2403 |
. . . . . . . . . . . . . 14
  
 ![]_ ]_](_urbrack.gif)
 |
| 88 | | csbeq1a 3156 |
. . . . . . . . . . . . . . 15
   ![]_ ]_](_urbrack.gif)   |
| 89 | 88 | eleq1d 2307 |
. . . . . . . . . . . . . 14
 
  ![]_ ]_](_urbrack.gif)    |
| 90 | 87, 89 | rspc 2923 |
. . . . . . . . . . . . 13
  
  ![]_ ]_](_urbrack.gif)
   |
| 91 | 61, 85, 90 | sylc 62 |
. . . . . . . . . . . 12
    
      ![]_ ]_](_urbrack.gif)
  |
| 92 | 67 | ralrimiva 2623 |
. . . . . . . . . . . . . 14
 
  |
| 93 | 92 | ad2antrr 492 |
. . . . . . . . . . . . 13
    
    
  |
| 94 | | nfcsb1v 3180 |
. . . . . . . . . . . . . . 15
  
 ![]_ ]_](_urbrack.gif)  |
| 95 | 94 | nfel1 2403 |
. . . . . . . . . . . . . 14
  
 ![]_ ]_](_urbrack.gif)
 |
| 96 | | csbeq1a 3156 |
. . . . . . . . . . . . . . 15
   ![]_ ]_](_urbrack.gif)   |
| 97 | 96 | eleq1d 2307 |
. . . . . . . . . . . . . 14
 
  ![]_ ]_](_urbrack.gif)    |
| 98 | 95, 97 | rspc 2923 |
. . . . . . . . . . . . 13
  
  ![]_ ]_](_urbrack.gif)
   |
| 99 | 61, 93, 98 | sylc 62 |
. . . . . . . . . . . 12
    
      ![]_ ]_](_urbrack.gif)
  |
| 100 | 35, 38 | mndcl 13713 |
. . . . . . . . . . . 12
    ![]_ ]_](_urbrack.gif)
  ![]_ ]_](_urbrack.gif)
    ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)    |
| 101 | 83, 91, 99, 100 | syl3anc 1278 |
. . . . . . . . . . 11
    
       ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)    |
| 102 | | nfcv 2392 |
. . . . . . . . . . . 12
   |
| 103 | | nfcv 2392 |
. . . . . . . . . . . . 13
  |
| 104 | 86, 103, 94 | nfov 6105 |
. . . . . . . . . . . 12
     ![]_ ]_](_urbrack.gif)
  ![]_ ]_](_urbrack.gif)   |
| 105 | 88, 96 | oveq12d 6093 |
. . . . . . . . . . . 12
      ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)    |
| 106 | | eqid 2238 |
. . . . . . . . . . . 12
                 |
| 107 | 102, 104,
105, 106 | fvmptf 5792 |
. . . . . . . . . . 11
         ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)  
               ![]_ ]_](_urbrack.gif)
  ![]_ ]_](_urbrack.gif)    |
| 108 | 82, 101, 107 | sylancr 418 |
. . . . . . . . . 10
    
                   ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)    |
| 109 | 79, 108 | oveq12d 6093 |
. . . . . . . . 9
    
      g         
 
               g         ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)     |
| 110 | 74, 109 | eqtrd 2271 |
. . . . . . . 8
    
     g            g         ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)     |
| 111 | 110 | adantr 276 |
. . . . . . 7
   
 
     g 
      g    
g       g            g         ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)     |
| 112 | | gsummptfidmadd.f |
. . . . . . . . . . . . . . 15
   |
| 113 | 65, 112 | fmptd 5853 |
. . . . . . . . . . . . . 14
       |
| 114 | 113 | ad2antrr 492 |
. . . . . . . . . . . . 13
    
          |
| 115 | 114, 63 | fssresd 5561 |
. . . . . . . . . . . 12
    
                    |
| 116 | 35, 38, 56, 115, 72, 61, 73 | gsump1 14134 |
. . . . . . . . . . 11
    
     g          g                       |
| 117 | | resabs1 5087 |
. . . . . . . . . . . . . . 15
             
   |
| 118 | 75, 117 | ax-mp 5 |
. . . . . . . . . . . . . 14
 
    
    |
| 119 | 118 | oveq2i 6086 |
. . . . . . . . . . . . 13
 g           g     |
| 120 | 119 | a1i 9 |
. . . . . . . . . . . 12
    
     g  
    
   g 
    |
| 121 | | fvres 5714 |
. . . . . . . . . . . . . 14
                     |
| 122 | 82, 121 | ax-mp 5 |
. . . . . . . . . . . . 13
 
             |
| 123 | 112 | fvmpts 5777 |
. . . . . . . . . . . . . 14
    ![]_ ]_](_urbrack.gif)
       ![]_ ]_](_urbrack.gif)   |
| 124 | 61, 91, 123 | syl2anc 415 |
. . . . . . . . . . . . 13
    
          ![]_ ]_](_urbrack.gif)   |
| 125 | 122, 124 | eqtrid 2283 |
. . . . . . . . . . . 12
    
                ![]_ ]_](_urbrack.gif)   |
| 126 | 120, 125 | oveq12d 6093 |
. . . . . . . . . . 11
    
      g                       g 
    ![]_ ]_](_urbrack.gif)    |
| 127 | 116, 126 | eqtrd 2271 |
. . . . . . . . . 10
    
     g          g      ![]_ ]_](_urbrack.gif)    |
| 128 | | gsummptfidmadd.h |
. . . . . . . . . . . . . . 15
   |
| 129 | 67, 128 | fmptd 5853 |
. . . . . . . . . . . . . 14
       |
| 130 | 129 | ad2antrr 492 |
. . . . . . . . . . . . 13
    
          |
| 131 | 130, 63 | fssresd 5561 |
. . . . . . . . . . . 12
    
                    |
| 132 | 35, 38, 56, 131, 72, 61, 73 | gsump1 14134 |
. . . . . . . . . . 11
    
     g          g                       |
| 133 | | resabs1 5087 |
. . . . . . . . . . . . . . 15
             
   |
| 134 | 75, 133 | ax-mp 5 |
. . . . . . . . . . . . . 14
 
    
    |
| 135 | 134 | oveq2i 6086 |
. . . . . . . . . . . . 13
 g           g     |
| 136 | 135 | a1i 9 |
. . . . . . . . . . . 12
    
     g  
    
   g 
    |
| 137 | | fvres 5714 |
. . . . . . . . . . . . . 14
                     |
| 138 | 82, 137 | ax-mp 5 |
. . . . . . . . . . . . 13
 
             |
| 139 | 128 | fvmpts 5777 |
. . . . . . . . . . . . . 14
    ![]_ ]_](_urbrack.gif)
       ![]_ ]_](_urbrack.gif)   |
| 140 | 61, 99, 139 | syl2anc 415 |
. . . . . . . . . . . . 13
    
          ![]_ ]_](_urbrack.gif)   |
| 141 | 138, 140 | eqtrid 2283 |
. . . . . . . . . . . 12
    
                ![]_ ]_](_urbrack.gif)   |
| 142 | 136, 141 | oveq12d 6093 |
. . . . . . . . . . 11
    
      g                       g 
    ![]_ ]_](_urbrack.gif)    |
| 143 | 132, 142 | eqtrd 2271 |
. . . . . . . . . 10
    
     g          g      ![]_ ]_](_urbrack.gif)    |
| 144 | 127, 143 | oveq12d 6093 |
. . . . . . . . 9
    
      g 
      
g            g      ![]_ ]_](_urbrack.gif)    g 
    ![]_ ]_](_urbrack.gif)     |
| 145 | 114, 59 | fssresd 5561 |
. . . . . . . . . . 11
    
            |
| 146 | 35, 36, 56, 72, 145 | gsumclfi 14136 |
. . . . . . . . . 10
    
     g      |
| 147 | 130, 59 | fssresd 5561 |
. . . . . . . . . . 11
    
            |
| 148 | 35, 36, 56, 72, 147 | gsumclfi 14136 |
. . . . . . . . . 10
    
     g      |
| 149 | 35, 38 | cmn4 14085 |
. . . . . . . . . 10
  CMnd   g      ![]_ ]_](_urbrack.gif)

  g      ![]_ ]_](_urbrack.gif)
     g      ![]_ ]_](_urbrack.gif)    g      ![]_ ]_](_urbrack.gif)      g     g        ![]_ ]_](_urbrack.gif)
  ![]_ ]_](_urbrack.gif)     |
| 150 | 56, 146, 91, 148, 99, 149 | syl122anc 1287 |
. . . . . . . . 9
    
       g      ![]_ ]_](_urbrack.gif)    g 
    ![]_ ]_](_urbrack.gif)      g     g        ![]_ ]_](_urbrack.gif)
  ![]_ ]_](_urbrack.gif)     |
| 151 | 144, 150 | eqtrd 2271 |
. . . . . . . 8
    
      g 
      
g            g     g        ![]_ ]_](_urbrack.gif)
  ![]_ ]_](_urbrack.gif)     |
| 152 | 151 | adantr 276 |
. . . . . . 7
   
 
     g 
      g    
g        g 
      
g            g     g        ![]_ ]_](_urbrack.gif)
  ![]_ ]_](_urbrack.gif)     |
| 153 | 55, 111, 152 | 3eqtr4d 2281 |
. . . . . 6
   
 
     g 
      g    
g       g            g         g 
         |
| 154 | 153 | ex 115 |
. . . . 5
    
      g 
      g    
g      g            g         g            |
| 155 | | gsummptfidmadd.a |
. . . . 5
   |
| 156 | 8, 16, 24, 32, 53, 154, 155 | findcard2sd 7186 |
. . . 4
  g        g    
g       |
| 157 | 112 | reseq1i 5054 |
. . . . . 6
       |
| 158 | 157 | oveq2i 6086 |
. . . . 5
 g 
   g       |
| 159 | 128 | reseq1i 5054 |
. . . . . 6
       |
| 160 | 159 | oveq2i 6086 |
. . . . 5
 g 
   g       |
| 161 | 158, 160 | oveq12i 6087 |
. . . 4
  g     g 
     g      
g        |
| 162 | 156, 161 | eqtrdi 2287 |
. . 3
  g        g   
 
 g         |
| 163 | | ssidd 3269 |
. . . . . 6

  |
| 164 | 163 | resmptd 5109 |
. . . . 5
         |
| 165 | 164 | oveq2d 6091 |
. . . 4
  g       g      |
| 166 | 163 | resmptd 5109 |
. . . . 5
         |
| 167 | 166 | oveq2d 6091 |
. . . 4
  g       g      |
| 168 | 165, 167 | oveq12d 6093 |
. . 3
   g   
 
 g         g    
g       |
| 169 | 162, 168 | eqtrd 2271 |
. 2
  g        g     g 
     |
| 170 | 112 | oveq2i 6086 |
. . 3
 g   g     |
| 171 | 128 | oveq2i 6086 |
. . 3
 g   g     |
| 172 | 170, 171 | oveq12i 6087 |
. 2
  g   g     g     g 
    |
| 173 | 169, 172 | eqtr4di 2289 |
1
  g        g   g     |