Proof of Theorem cshwcsh2id
| Step | Hyp | Ref
| Expression |
| 1 | | oveq1 6657 |
. . . . . . . . 9
  cyclShift 
 cyclShift    cyclShift  cyclShift
   |
| 2 | 1 | eqeq2d 2632 |
. . . . . . . 8
  cyclShift 
  cyclShift 
  cyclShift
 cyclShift     |
| 3 | 2 | anbi2d 740 |
. . . . . . 7
  cyclShift 
           cyclShift  
           cyclShift
 cyclShift      |
| 4 | 3 | adantr 481 |
. . . . . 6
   cyclShift          
           cyclShift  
           cyclShift
 cyclShift      |
| 5 | | elfznn0 12433 |
. . . . . . . . . . . . . . . . 17
           |
| 6 | | elfznn0 12433 |
. . . . . . . . . . . . . . . . 17
           |
| 7 | | nn0addcl 11328 |
. . . . . . . . . . . . . . . . 17
 
     |
| 8 | 5, 6, 7 | syl2anr 495 |
. . . . . . . . . . . . . . . 16
                  
    |
| 9 | 8 | adantr 481 |
. . . . . . . . . . . . . . 15
          
                      |
| 10 | | elfz3nn0 12434 |
. . . . . . . . . . . . . . . 16
               |
| 11 | 10 | ad2antlr 763 |
. . . . . . . . . . . . . . 15
          
                        |
| 12 | | simprl 794 |
. . . . . . . . . . . . . . 15
          
                          |
| 13 | | elfz2nn0 12431 |
. . . . . . . . . . . . . . 15
          
  
   
         |
| 14 | 9, 11, 12, 13 | syl3anbrc 1246 |
. . . . . . . . . . . . . 14
          
                              |
| 15 | 14 | adantr 481 |
. . . . . . . . . . . . 13
                                cyclShift
 cyclShift               |
| 16 | | cshwcsh2id.1 |
. . . . . . . . . . . . . . . . . 18
 Word   |
| 17 | 16 | adantl 482 |
. . . . . . . . . . . . . . . . 17
   
   
 Word
  |
| 18 | 17 | adantl 482 |
. . . . . . . . . . . . . . . 16
          
                  Word   |
| 19 | | elfzelz 12342 |
. . . . . . . . . . . . . . . . 17
           |
| 20 | 19 | ad2antlr 763 |
. . . . . . . . . . . . . . . 16
          
                    |
| 21 | | elfzelz 12342 |
. . . . . . . . . . . . . . . . . 18
           |
| 22 | 21 | adantr 481 |
. . . . . . . . . . . . . . . . 17
                  
  |
| 23 | 22 | adantr 481 |
. . . . . . . . . . . . . . . 16
          
                    |
| 24 | | 2cshw 13559 |
. . . . . . . . . . . . . . . 16
  Word
   cyclShift
 cyclShift   cyclShift      |
| 25 | 18, 20, 23, 24 | syl3anc 1326 |
. . . . . . . . . . . . . . 15
          
                    cyclShift
 cyclShift   cyclShift      |
| 26 | 25 | eqeq2d 2632 |
. . . . . . . . . . . . . 14
          
                     cyclShift  cyclShift
  cyclShift       |
| 27 | 26 | biimpa 501 |
. . . . . . . . . . . . 13
                                cyclShift
 cyclShift    cyclShift      |
| 28 | 15, 27 | jca 554 |
. . . . . . . . . . . 12
                                cyclShift
 cyclShift               cyclShift       |
| 29 | 28 | exp41 638 |
. . . . . . . . . . 11
                          
   cyclShift 
cyclShift            
 cyclShift          |
| 30 | 29 | com23 86 |
. . . . . . . . . 10
                 
            cyclShift  cyclShift              cyclShift          |
| 31 | 30 | com24 95 |
. . . . . . . . 9
            cyclShift  cyclShift
                             
 cyclShift          |
| 32 | 31 | imp 445 |
. . . . . . . 8
            cyclShift 
cyclShift                   
           
 cyclShift         |
| 33 | 32 | com12 32 |
. . . . . . 7
                  
  cyclShift  cyclShift
 
   
   
           
 cyclShift         |
| 34 | 33 | adantl 482 |
. . . . . 6
   cyclShift          
            cyclShift 
cyclShift          
           
 cyclShift         |
| 35 | 4, 34 | sylbid 230 |
. . . . 5
   cyclShift          
           cyclShift           
            cyclShift         |
| 36 | 35 | ancoms 469 |
. . . 4
           cyclShift            
 cyclShift           
            cyclShift         |
| 37 | 36 | impcom 446 |
. . 3
          
 cyclShift             cyclShift                       
 cyclShift        |
| 38 | | oveq2 6658 |
. . . . 5
    cyclShift   cyclShift      |
| 39 | 38 | eqeq2d 2632 |
. . . 4
     cyclShift 

cyclShift       |
| 40 | 39 | rspcev 3309 |
. . 3
             cyclShift                cyclShift    |
| 41 | 37, 40 | syl6com 37 |
. 2
   
   
             cyclShift             cyclShift    
          cyclShift
    |
| 42 | | elfz2 12333 |
. . . . . . . . . . . . . . . . . . 19
        
       
        |
| 43 | | nn0z 11400 |
. . . . . . . . . . . . . . . . . . . . . . 23

  |
| 44 | | zaddcl 11417 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . 28
 
     |
| 45 | 44 | ex 450 |
. . . . . . . . . . . . . . . . . . . . . . . . . . 27
       |
| 46 | 45 | adantl 482 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
     
       |
| 47 | 46 | impcom 446 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
      
 
    |
| 48 | | simprl 794 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
      
 
      |
| 49 | 47, 48 | zsubcld 11487 |
. . . . . . . . . . . . . . . . . . . . . . . 24
      
 
          |
| 50 | 49 | ex 450 |
. . . . . . . . . . . . . . . . . . . . . . 23
      
            |
| 51 | 43, 50 | syl 17 |
. . . . . . . . . . . . . . . . . . . . . 22

     
            |
| 52 | 51 | com12 32 |
. . . . . . . . . . . . . . . . . . . . 21
     
             |
| 53 | 52 | 3adant1 1079 |
. . . . . . . . . . . . . . . . . . . 20
                   |
| 54 | 53 | adantr 481 |
. . . . . . . . . . . . . . . . . . 19
      
 
                  |
| 55 | 42, 54 | sylbi 207 |
. . . . . . . . . . . . . . . . . 18
                     |
| 56 | 6, 55 | mpan9 486 |
. . . . . . . . . . . . . . . . 17
                  
          |
| 57 | 56 | adantr 481 |
. . . . . . . . . . . . . . . 16
          
         
                  |
| 58 | | elfz2nn0 12431 |
. . . . . . . . . . . . . . . . . . . . 21
        
    
       |
| 59 | | nn0re 11301 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26

  |
| 60 | | nn0re 11301 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
    
      |
| 61 | 59, 60 | anim12i 590 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
               |
| 62 | | nn0re 11301 |
. . . . . . . . . . . . . . . . . . . . . . . . 25

  |
| 63 | 61, 62 | anim12i 590 |
. . . . . . . . . . . . . . . . . . . . . . . 24
       
           |
| 64 | | simplr 792 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
               |
| 65 | | readdcl 10019 |
. . . . . . . . . . . . . . . . . . . . . . . . . . 27
 
     |
| 66 | 65 | adantlr 751 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
             |
| 67 | 64, 66 | ltnled 10184 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
                 
       |
| 68 | 64, 66 | posdifd 10614 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
                           |
| 69 | 68 | biimpd 219 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
                           |
| 70 | 67, 69 | sylbird 250 |
. . . . . . . . . . . . . . . . . . . . . . . 24
               
           |
| 71 | 63, 70 | syl 17 |
. . . . . . . . . . . . . . . . . . . . . . 23
       
       
           |
| 72 | 71 | ex 450 |
. . . . . . . . . . . . . . . . . . . . . 22
                           |
| 73 | 72 | 3adant3 1081 |
. . . . . . . . . . . . . . . . . . . . 21
     
            
            |
| 74 | 58, 73 | sylbi 207 |
. . . . . . . . . . . . . . . . . . . 20
                
            |
| 75 | 6, 74 | mpan9 486 |
. . . . . . . . . . . . . . . . . . 19
                  
  
   
           |
| 76 | 75 | com12 32 |
. . . . . . . . . . . . . . . . . 18
  
   
                  
           |
| 77 | 76 | adantr 481 |
. . . . . . . . . . . . . . . . 17
        
                  
           |
| 78 | 77 | impcom 446 |
. . . . . . . . . . . . . . . 16
          
         
                  |
| 79 | | elnnz 11387 |
. . . . . . . . . . . . . . . 16
                             |
| 80 | 57, 78, 79 | sylanbrc 698 |
. . . . . . . . . . . . . . 15
          
         
                  |
| 81 | 80 | nnnn0d 11351 |
. . . . . . . . . . . . . 14
          
         
                  |
| 82 | 10 | ad2antlr 763 |
. . . . . . . . . . . . . 14
          
         
              |
| 83 | | cshwcsh2id.2 |
. . . . . . . . . . . . . . . . 17
                     |
| 84 | | oveq2 6658 |
. . . . . . . . . . . . . . . . . . . . 21
        
                  |
| 85 | 84 | eleq2d 2687 |
. . . . . . . . . . . . . . . . . . . 20
        
                    |
| 86 | 85 | anbi1d 741 |
. . . . . . . . . . . . . . . . . . 19
        
                                        |
| 87 | | elfz2nn0 12431 |
. . . . . . . . . . . . . . . . . . . . 21
        
    
       |
| 88 | 59 | adantr 481 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
         |
| 89 | 88, 62 | anim12i 590 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
       
     |
| 90 | 60, 60 | jca 554 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
    
            |
| 91 | 90 | ad2antlr 763 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
       
             |
| 92 | | le2add 10510 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
              
 
   
    
               |
| 93 | 89, 91, 92 | syl2anc 693 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
       
      
    
               |
| 94 | | nn0readdcl 11357 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
 
     |
| 95 | 94 | adantlr 751 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
       
     |
| 96 | 60 | ad2antlr 763 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
       
       |
| 97 | 95, 96, 96 | lesubadd2d 10626 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
       
             
               |
| 98 | 93, 97 | sylibrd 249 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
       
      
    
               |
| 99 | 98 | expcomd 454 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . 28
       
                  
        |
| 100 | 99 | ex 450 |
. . . . . . . . . . . . . . . . . . . . . . . . . . 27
                                   |
| 101 | 100 | com24 95 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
                                   |
| 102 | 101 | 3impia 1261 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
     
     
   

                |
| 103 | 102 | com13 88 |
. . . . . . . . . . . . . . . . . . . . . . . 24

    
     
                     |
| 104 | 103 | imp 445 |
. . . . . . . . . . . . . . . . . . . . . . 23
                                 |
| 105 | 58, 104 | syl5bi 232 |
. . . . . . . . . . . . . . . . . . . . . 22
                               |
| 106 | 105 | 3adant2 1080 |
. . . . . . . . . . . . . . . . . . . . 21
     
                             |
| 107 | 87, 106 | sylbi 207 |
. . . . . . . . . . . . . . . . . . . 20
                                 |
| 108 | 107 | imp 445 |
. . . . . . . . . . . . . . . . . . 19
                  
              |
| 109 | 86, 108 | syl6bi 243 |
. . . . . . . . . . . . . . . . . 18
        
                  
               |
| 110 | 109 | adantr 481 |
. . . . . . . . . . . . . . . . 17
                            
                        |
| 111 | 83, 110 | syl 17 |
. . . . . . . . . . . . . . . 16
                           
       |
| 112 | 111 | adantl 482 |
. . . . . . . . . . . . . . 15
        
                  
               |
| 113 | 112 | impcom 446 |
. . . . . . . . . . . . . 14
          
         
                      |
| 114 | | elfz2nn0 12431 |
. . . . . . . . . . . . . 14
                             
               |
| 115 | 81, 82, 113, 114 | syl3anbrc 1246 |
. . . . . . . . . . . . 13
          
         
                          |
| 116 | 115 | adantr 481 |
. . . . . . . . . . . 12
                           
    cyclShift
 cyclShift                     |
| 117 | 16 | adantl 482 |
. . . . . . . . . . . . . . . . 17
        
Word   |
| 118 | 117 | adantl 482 |
. . . . . . . . . . . . . . . 16
          
         
        Word   |
| 119 | 19 | ad2antlr 763 |
. . . . . . . . . . . . . . . 16
          
         
          |
| 120 | 22 | adantr 481 |
. . . . . . . . . . . . . . . 16
          
         
          |
| 121 | 118, 119,
120, 24 | syl3anc 1326 |
. . . . . . . . . . . . . . 15
          
         
          cyclShift
 cyclShift   cyclShift      |
| 122 | 19, 21, 44 | syl2anr 495 |
. . . . . . . . . . . . . . . 16
                  
    |
| 123 | | cshwsublen 13542 |
. . . . . . . . . . . . . . . 16
  Word     cyclShift     cyclShift            |
| 124 | 117, 122,
123 | syl2anr 495 |
. . . . . . . . . . . . . . 15
          
         
         cyclShift     cyclShift            |
| 125 | 121, 124 | eqtrd 2656 |
. . . . . . . . . . . . . 14
          
         
          cyclShift
 cyclShift   cyclShift            |
| 126 | 125 | eqeq2d 2632 |
. . . . . . . . . . . . 13
          
         
           cyclShift  cyclShift
  cyclShift             |
| 127 | 126 | biimpa 501 |
. . . . . . . . . . . 12
                           
    cyclShift
 cyclShift    cyclShift            |
| 128 | 116, 127 | jca 554 |
. . . . . . . . . . 11
                           
    cyclShift
 cyclShift                     cyclShift             |
| 129 | 128 | exp41 638 |
. . . . . . . . . 10
                              cyclShift
 cyclShift 
                  cyclShift                |
| 130 | 129 | com23 86 |
. . . . . . . . 9
                              cyclShift
 cyclShift 
                  cyclShift                |
| 131 | 130 | com24 95 |
. . . . . . . 8
            cyclShift  cyclShift
                 
                   cyclShift                |
| 132 | 131 | imp 445 |
. . . . . . 7
            cyclShift 
cyclShift               
   
                   cyclShift               |
| 133 | 3, 132 | syl6bi 243 |
. . . . . 6
  cyclShift 
           cyclShift                                       cyclShift                |
| 134 | 133 | com23 86 |
. . . . 5
  cyclShift 
                    cyclShift                              cyclShift                |
| 135 | 134 | impcom 446 |
. . . 4
           cyclShift            
 cyclShift                              cyclShift               |
| 136 | 135 | impcom 446 |
. . 3
          
 cyclShift             cyclShift           
                   cyclShift              |
| 137 | | oveq2 6658 |
. . . . 5
        
 cyclShift   cyclShift            |
| 138 | 137 | eqeq2d 2632 |
. . . 4
        
  cyclShift 
 cyclShift             |
| 139 | 138 | rspcev 3309 |
. . 3
                   cyclShift          
           cyclShift    |
| 140 | 136, 139 | syl6com 37 |
. 2
        
          
 cyclShift             cyclShift    
          cyclShift
    |
| 141 | 41, 140 | pm2.61ian 831 |
1
             cyclShift             cyclShift    
          cyclShift
    |