Proof of Theorem fsumrev
| Step | Hyp | Ref
| Expression |
| 1 | | nncan 6635 |
. . . . . . . . . 10
         |
| 2 | | zcn 7349 |
. . . . . . . . . 10

  |
| 3 | | zcn 7349 |
. . . . . . . . . 10

  |
| 4 | 1, 2, 3 | syl2an 503 |
. . . . . . . . 9
         |
| 5 | 4 | csbeq1d 2544 |
. . . . . . . 8
    
    ![]_](_urbrack.gif)   ![]_](_urbrack.gif)   |
| 6 | 5 | adantr 425 |
. . . . . . 7
    
            ![]_](_urbrack.gif)   ![]_](_urbrack.gif)   |
| 7 | | simpr 350 |
. . . . . . . . . . 11
     |
| 8 | | simpl 346 |
. . . . . . . . . . 11
     |
| 9 | | fzrevral 7698 |
. . . . . . . . . . 11
                        ![]](rbrack.gif)    |
| 10 | 7, 7, 8, 9 | syl111anc 1100 |
. . . . . . . . . 10
                        ![]](rbrack.gif)    |
| 11 | | oprex 4907 |
. . . . . . . . . . . 12

  |
| 12 | | sbcel1g 2556 |
. . . . . . . . . . . 12
        ![]](rbrack.gif)     ![]_](_urbrack.gif)
   |
| 13 | 11, 12 | ax-mp 7 |
. . . . . . . . . . 11
     ![]](rbrack.gif)     ![]_](_urbrack.gif)
  |
| 14 | 13 | ralbii 2127 |
. . . . . . . . . 10
               ![]](rbrack.gif)            
  ![]_](_urbrack.gif)   |
| 15 | 10, 14 | syl6bb 595 |
. . . . . . . . 9
                     
  ![]_](_urbrack.gif)    |
| 16 | 15 | biimpa 460 |
. . . . . . . 8
    
      
             ![]_](_urbrack.gif)
  |
| 17 | | fsum1s 8269 |
. . . . . . . . . 10
          
       ![]_](_urbrack.gif)             
  ![]_](_urbrack.gif)     ![]_](_urbrack.gif)     ![]_](_urbrack.gif)   |
| 18 | | oprex 4907 |
. . . . . . . . . . 11

  |
| 19 | 11 | ax-gen 1305 |
. . . . . . . . . . 11
     |
| 20 | | opreq2 4890 |
. . . . . . . . . . . 12
           |
| 21 | 20 | csbco3g 2585 |
. . . . . . . . . . 11
           
 ![]_](_urbrack.gif)     ![]_](_urbrack.gif)
      ![]_](_urbrack.gif)   |
| 22 | 18, 19, 21 | mp2an 761 |
. . . . . . . . . 10
 
  ![]_](_urbrack.gif)     ![]_](_urbrack.gif)  
    ![]_](_urbrack.gif)  |
| 23 | 17, 22 | syl6eq 1944 |
. . . . . . . . 9
          
       ![]_](_urbrack.gif)             
  ![]_](_urbrack.gif)       ![]_](_urbrack.gif)   |
| 24 | | zsubcl 7377 |
. . . . . . . . 9
       |
| 25 | 23, 24 | sylan 497 |
. . . . . . . 8
    
             ![]_](_urbrack.gif)
               ![]_](_urbrack.gif)  
    ![]_](_urbrack.gif)   |
| 26 | 16, 25 | syldan 516 |
. . . . . . 7
    
      
             ![]_](_urbrack.gif)  
    ![]_](_urbrack.gif)   |
| 27 | | fsum1s 8269 |
. . . . . . . 8
                 ![]_](_urbrack.gif)   |
| 28 | 27 | adantll 428 |
. . . . . . 7
    
      
       ![]_](_urbrack.gif)   |
| 29 | 6, 26, 28 | 3eqtr4rd 1939 |
. . . . . 6
    
      
     
             ![]_](_urbrack.gif)   |
| 30 | 29 | anasss 488 |
. . . . 5
           
           
       ![]_](_urbrack.gif)   |
| 31 | 30 | an1s 544 |
. . . 4
           
           
       ![]_](_urbrack.gif)   |
| 32 | 31 | ex 402 |
. . 3

         
     
             ![]_](_urbrack.gif)    |
| 33 | | eluzel2 7593 |
. . . . . . . . . 10

      |
| 34 | | eluzelz 7592 |
. . . . . . . . . 10

      |
| 35 | | fzssp1 7679 |
. . . . . . . . . 10
          
    |
| 36 | 33, 34, 35 | syl11anc 524 |
. . . . . . . . 9

           
    |
| 37 | 36 | sseld 2619 |
. . . . . . . 8

                  |
| 38 | 37 | imim1d 33 |
. . . . . . 7

                      |
| 39 | 38 | ralimdv2 2173 |
. . . . . 6

                      |
| 40 | 39 | anim2d 620 |
. . . . 5

          
     
         |
| 41 | 40 | imim1d 33 |
. . . 4

              
           
       ![]_](_urbrack.gif)             
           
       ![]_](_urbrack.gif)     |
| 42 | | nncan 6635 |
. . . . . . . . . . . . . 14
               |
| 43 | | zcn 7349 |
. . . . . . . . . . . . . . 15

  |
| 44 | | peano2cn 6498 |
. . . . . . . . . . . . . . 15

    |
| 45 | 34, 43, 44 | 3syl 24 |
. . . . . . . . . . . . . 14

    
   |
| 46 | 42, 2, 45 | syl2an 503 |
. . . . . . . . . . . . 13
                 |
| 47 | 46 | csbeq1d 2544 |
. . . . . . . . . . . 12
        
      ![]_](_urbrack.gif)     ![]_](_urbrack.gif)   |
| 48 | | oprex 4907 |
. . . . . . . . . . . . 13

    |
| 49 | | opreq2 4890 |
. . . . . . . . . . . . . 14
               |
| 50 | 49 | csbco3g 2585 |
. . . . . . . . . . . . 13
                 ![]_](_urbrack.gif)     ![]_](_urbrack.gif)
        ![]_](_urbrack.gif)   |
| 51 | 48, 19, 50 | mp2an 761 |
. . . . . . . . . . . 12
 
    ![]_](_urbrack.gif)     ![]_](_urbrack.gif)  
      ![]_](_urbrack.gif)  |
| 52 | 47, 51 | syl5req 1941 |
. . . . . . . . . . 11
        
  ![]_](_urbrack.gif)       ![]_](_urbrack.gif)     ![]_](_urbrack.gif)   |
| 53 | 52 | adantr 425 |
. . . . . . . . . 10
        
            ![]_](_urbrack.gif)
      ![]_](_urbrack.gif)     ![]_](_urbrack.gif)   |
| 54 | | id 73 |
. . . . . . . . . 10
 
           
       ![]_](_urbrack.gif) 
           
       ![]_](_urbrack.gif)   |
| 55 | 53, 54 | opreqan12d 4902 |
. . . . . . . . 9
         
        
           
       ![]_](_urbrack.gif)       ![]_](_urbrack.gif) 
             ![]_](_urbrack.gif)     ![]_](_urbrack.gif)

             ![]_](_urbrack.gif)    |
| 56 | | fsump1s 8273 |
. . . . . . . . . . . 12
          
                       ![]_](_urbrack.gif)    |
| 57 | 39 | imp 377 |
. . . . . . . . . . . . . 14
          
            |
| 58 | | fsumcl 8275 |
. . . . . . . . . . . . . 14
                     |
| 59 | 57, 58 | syldan 516 |
. . . . . . . . . . . . 13
          
            |
| 60 | | ra4csbela 2587 |
. . . . . . . . . . . . . 14
              
     
  ![]_](_urbrack.gif)   |
| 61 | | peano2uz 7616 |
. . . . . . . . . . . . . . 15

    
       |
| 62 | | eluzfz2 7659 |
. . . . . . . . . . . . . . 15
                 |
| 63 | 61, 62 | syl 12 |
. . . . . . . . . . . . . 14

    
         |
| 64 | 60, 63 | sylan 497 |
. . . . . . . . . . . . 13
          
     
  ![]_](_urbrack.gif)   |
| 65 | | addcom 6458 |
. . . . . . . . . . . . 13
            ![]_](_urbrack.gif)             ![]_](_urbrack.gif)       ![]_](_urbrack.gif) 
        |
| 66 | 59, 64, 65 | syl11anc 524 |
. . . . . . . . . . . 12
          
               ![]_](_urbrack.gif)       ![]_](_urbrack.gif) 
        |
| 67 | 56, 66 | eqtrd 1925 |
. . . . . . . . . . 11
          
                 ![]_](_urbrack.gif) 
        |
| 68 | 67 | adantll 428 |
. . . . . . . . . 10
        
        
         
  ![]_](_urbrack.gif)          |
| 69 | 68 | adantr 425 |
. . . . . . . . 9
         
        
           
       ![]_](_urbrack.gif)  
         
  ![]_](_urbrack.gif)          |
| 70 | | zre 7348 |
. . . . . . . . . . . . . . . . . 18

  |
| 71 | 33, 70 | syl 12 |
. . . . . . . . . . . . . . . . 17

      |
| 72 | | zre 7348 |
. . . . . . . . . . . . . . . . . 18

  |
| 73 | 34, 72 | syl 12 |
. . . . . . . . . . . . . . . . 17

      |
| 74 | | eluzle 7594 |
. . . . . . . . . . . . . . . . 17

      |
| 75 | | letrp1 6994 |
. . . . . . . . . . . . . . . . 17
  
    |
| 76 | 71, 73, 74, 75 | syl111anc 1100 |
. . . . . . . . . . . . . . . 16

        |
| 77 | 76 | adantl 424 |
. . . . . . . . . . . . . . 15
           |
| 78 | 33 | adantl 424 |
. . . . . . . . . . . . . . . 16
         |
| 79 | 34 | peano2zdi 7376 |
. . . . . . . . . . . . . . . . 17

    
   |
| 80 | 79 | adantl 424 |
. . . . . . . . . . . . . . . 16
           |
| 81 | | simpl 346 |
. . . . . . . . . . . . . . . 16
         |
| 82 | | lesub2 6850 |
. . . . . . . . . . . . . . . . 17
                 |
| 83 | | zre 7348 |
. . . . . . . . . . . . . . . . 17
       |
| 84 | | zre 7348 |
. . . . . . . . . . . . . . . . 17

  |
| 85 | 82, 70, 83, 84 | syl3an 1139 |
. . . . . . . . . . . . . . . 16
                 |
| 86 | 78, 80, 81, 85 | syl111anc 1100 |
. . . . . . . . . . . . . . 15
                   |
| 87 | 77, 86 | mpbid 212 |
. . . . . . . . . . . . . 14
               |
| 88 | | zsubcl 7377 |
. . . . . . . . . . . . . . . 16
           |
| 89 | 88, 79 | sylan2 500 |
. . . . . . . . . . . . . . 15
             |
| 90 | 24, 33 | sylan2 500 |
. . . . . . . . . . . . . . 15
           |
| 91 | | eluz 7595 |
. . . . . . . . . . . . . . 15
               
        
    |
| 92 | 89, 90, 91 | syl11anc 524 |
. . . . . . . . . . . . . 14
             
        
    |
| 93 | 87, 92 | mpbird 213 |
. . . . . . . . . . . . 13
            
      |
| 94 | 93 | adantr 425 |
. . . . . . . . . . . 12
        
         
          |
| 95 | | zleltp1 7391 |
. . . . . . . . . . . . . . . . 17
         |
| 96 | 33, 34, 95 | syl11anc 524 |
. . . . . . . . . . . . . . . 16

    
     |
| 97 | 74, 96 | mpbid 212 |
. . . . . . . . . . . . . . 15

        |
| 98 | 97 | adantl 424 |
. . . . . . . . . . . . . 14
           |
| 99 | | ltsub2 6852 |
. . . . . . . . . . . . . . . 16
                 |
| 100 | 99, 70, 83, 84 | syl3an 1139 |
. . . . . . . . . . . . . . 15
                 |
| 101 | 78, 80, 81, 100 | syl111anc 1100 |
. . . . . . . . . . . . . 14
                   |
| 102 | 98, 101 | mpbid 212 |
. . . . . . . . . . . . 13
               |
| 103 | 102 | adantr 425 |
. . . . . . . . . . . 12
        
                |
| 104 | | fzrevral 7698 |
. . . . . . . . . . . . . . 15
                              ![]](rbrack.gif)    |
| 105 | 78, 80, 81, 104 | syl111anc 1100 |
. . . . . . . . . . . . . 14
                                ![]](rbrack.gif)    |
| 106 | 13 | ralbii 2127 |
. . . . . . . . . . . . . 14
                 ![]](rbrack.gif)                 ![]_](_urbrack.gif)
  |
| 107 | 105, 106 | syl6bb 595 |
. . . . . . . . . . . . 13
                             
  ![]_](_urbrack.gif)    |
| 108 | 107 | biimpa 460 |
. . . . . . . . . . . 12
        
                        ![]_](_urbrack.gif)
  |
| 109 | | fsum1ps 8278 |
. . . . . . . . . . . 12
                          
       ![]_](_urbrack.gif)               
  ![]_](_urbrack.gif)   
    ![]_](_urbrack.gif)     ![]_](_urbrack.gif)
               
  ![]_](_urbrack.gif)    |
| 110 | 94, 103, 108, 109 | syl111anc 1100 |
. . . . . . . . . . 11
        
        
               ![]_](_urbrack.gif)
       ![]_](_urbrack.gif)     ![]_](_urbrack.gif)

                 ![]_](_urbrack.gif)    |
| 111 | | ax1cn 6422 |
. . . . . . . . . . . . . . . . 17
 |
| 112 | | nppcan2 6637 |
. . . . . . . . . . . . . . . . 17
             |
| 113 | 111, 112 | mp3an3 1180 |
. . . . . . . . . . . . . . . 16
             |
| 114 | 34, 43 | syl 12 |
. . . . . . . . . . . . . . . 16

      |
| 115 | 113, 2, 114 | syl2an 503 |
. . . . . . . . . . . . . . 15
                 |
| 116 | 115 | opreq1d 4897 |
. . . . . . . . . . . . . 14
                        
    |
| 117 | 116 | sumeq1d 8250 |
. . . . . . . . . . . . 13
                      
  ![]_](_urbrack.gif)               ![]_](_urbrack.gif)   |
| 118 | 117 | opreq2d 4898 |
. . . . . . . . . . . 12
              ![]_](_urbrack.gif)     ![]_](_urbrack.gif)

                 ![]_](_urbrack.gif)         ![]_](_urbrack.gif)     ![]_](_urbrack.gif)

             ![]_](_urbrack.gif)    |
| 119 | 118 | adantr 425 |
. . . . . . . . . . 11
        
               ![]_](_urbrack.gif)     ![]_](_urbrack.gif) 
                 ![]_](_urbrack.gif)         ![]_](_urbrack.gif)     ![]_](_urbrack.gif)

             ![]_](_urbrack.gif)    |
| 120 | 110, 119 | eqtrd 1925 |
. . . . . . . . . 10
        
        
               ![]_](_urbrack.gif)
       ![]_](_urbrack.gif)     ![]_](_urbrack.gif)

             ![]_](_urbrack.gif)    |
| 121 | 120 | adantr 425 |
. . . . . . . . 9
         
        
           
       ![]_](_urbrack.gif)  
               ![]_](_urbrack.gif)
       ![]_](_urbrack.gif)     ![]_](_urbrack.gif)

             ![]_](_urbrack.gif)    |
| 122 | 55, 69, 121 | 3eqtr4d 1937 |
. . . . . . . 8
         
        
           
       ![]_](_urbrack.gif)  
               
       ![]_](_urbrack.gif)   |
| 123 | 122 | exp41 413 |
. . . . . . 7

                           
       ![]_](_urbrack.gif) 
               
       ![]_](_urbrack.gif)      |
| 124 | 123 | com12 14 |
. . . . . 6

    
                
             ![]_](_urbrack.gif)
        
               ![]_](_urbrack.gif)      |
| 125 | 124 | imp3a 388 |
. . . . 5

          
                 
       ![]_](_urbrack.gif) 
               
       ![]_](_urbrack.gif)     |
| 126 | 125 | a2d 16 |
. . . 4

                
           
       ![]_](_urbrack.gif)             
               
       ![]_](_urbrack.gif)     |
| 127 | 41, 126 | syld 30 |
. . 3

              
           
       ![]_](_urbrack.gif)             
               
       ![]_](_urbrack.gif)     |
| 128 | | opreq2 4890 |
. . . . . 6
           |
| 129 | 128 | raleqdv 2269 |
. . . . 5
                 |
| 130 | 129 | anbi2d 678 |
. . . 4
           
         |
| 131 | 128 | sumeq1d 8250 |
. . . . 5
 
             |
| 132 | | opreq2 4890 |
. . . . . . 7
       |
| 133 | 132 | opreq1d 4897 |
. . . . . 6
      
            |
| 134 | 133 | sumeq1d 8250 |
. . . . 5
 
             ![]_](_urbrack.gif)            
  ![]_](_urbrack.gif)   |
| 135 | 131, 134 | eqeq12d 1899 |
. . . 4
        
             ![]_](_urbrack.gif)                  
  ![]_](_urbrack.gif)    |
| 136 | 130, 135 | imbi12d 688 |
. . 3
    
      
           
       ![]_](_urbrack.gif)                 
             ![]_](_urbrack.gif)     |
| 137 | | opreq2 4890 |
. . . . . 6
           |
| 138 | 137 | raleqdv 2269 |
. . . . 5
                 |
| 139 | 138 | anbi2d 678 |
. . . 4
           
         |
| 140 | 137 | sumeq1d 8250 |
. . . . 5
 
             |
| 141 | | opreq2 4890 |
. . . . . . 7
       |
| 142 | 141 | opreq1d 4897 |
. . . . . 6
      
            |
| 143 | 142 | sumeq1d 8250 |
. . . . 5
 
             ![]_](_urbrack.gif)            
  ![]_](_urbrack.gif)   |
| 144 | 140, 143 | eqeq12d 1899 |
. . . 4
        
             ![]_](_urbrack.gif)                  
  ![]_](_urbrack.gif)    |
| 145 | 139, 144 | imbi12d 688 |
. . 3
    
      
           
       ![]_](_urbrack.gif)                 
             ![]_](_urbrack.gif)     |
| 146 | | opreq2 4890 |
. . . . . 6
               |
| 147 | 146 | raleqdv 2269 |
. . . . 5
                     |
| 148 | 147 | anbi2d 678 |
. . . 4
             
           |
| 149 | 146 | sumeq1d 8250 |
. . . . 5
   
         
     |
| 150 | | opreq2 4890 |
. . . . . . 7
           |
| 151 | 150 | opreq1d 4897 |
. . . . . 6
        
              |
| 152 | 151 | sumeq1d 8250 |
. . . . 5
   
             ![]_](_urbrack.gif)              
  ![]_](_urbrack.gif)   |
| 153 | 149, 152 | eqeq12d 1899 |
. . . 4
          
             ![]_](_urbrack.gif)                      
  ![]_](_urbrack.gif)    |
| 154 | 148, 153 | imbi12d 688 |
. . 3
      
      
           
       ![]_](_urbrack.gif)        
            
               ![]_](_urbrack.gif)     |
| 155 | | opreq2 4890 |
. . . . . 6
           |
| 156 | 155 | raleqdv 2269 |
. . . . 5
                 |
| 157 | 156 | anbi2d 678 |
. . . 4
           
         |
| 158 | 155 | sumeq1d 8250 |
. . . . 5
 
             |
| 159 | | opreq2 4890 |
. . . . . . 7
       |
| 160 | 159 | opreq1d 4897 |
. . . . . 6
      
            |
| 161 | 160 | sumeq1d 8250 |
. . . . 5
 
             ![]_](_urbrack.gif)            
  ![]_](_urbrack.gif)   |
| 162 | 158, 161 | eqeq12d 1899 |
. . . 4
        
             ![]_](_urbrack.gif)                  
  ![]_](_urbrack.gif)    |
| 163 | 157, 162 | imbi12d 688 |
. . 3
    
      
           
       ![]_](_urbrack.gif)                 
             ![]_](_urbrack.gif)     |
| 164 | 32, 127, 136, 145, 154, 163 | uzind4ALT 7620 |
. 2

                   
             ![]_](_urbrack.gif)    |
| 165 | 164 | 3impib 1065 |
1
                   
             ![]_](_urbrack.gif)   |