| Step | Hyp | Ref
| Expression |
| 1 | | cshwlen 13545 |
. . . . 5
  Word
     cyclShift         |
| 2 | 1 | 3adant3 1081 |
. . . 4
  Word
     cyclShift         |
| 3 | | cshwcl 13544 |
. . . . . . 7
 Word  cyclShift  Word   |
| 4 | 3 | anim1i 592 |
. . . . . 6
  Word
   cyclShift  Word    |
| 5 | 4 | 3adant2 1080 |
. . . . 5
  Word
  
cyclShift  Word    |
| 6 | | cshwlen 13545 |
. . . . 5
   cyclShift
 Word       cyclShift 
cyclShift       cyclShift     |
| 7 | 5, 6 | syl 17 |
. . . 4
  Word
      cyclShift 
cyclShift       cyclShift     |
| 8 | | simp1 1061 |
. . . . . 6
  Word
 Word   |
| 9 | | zaddcl 11417 |
. . . . . . 7
 
     |
| 10 | 9 | 3adant1 1079 |
. . . . . 6
  Word
 
   |
| 11 | 8, 10 | jca 554 |
. . . . 5
  Word
 
Word 
    |
| 12 | | cshwlen 13545 |
. . . . 5
  Word 
      cyclShift           |
| 13 | 11, 12 | syl 17 |
. . . 4
  Word
     cyclShift           |
| 14 | 2, 7, 13 | 3eqtr4d 2666 |
. . 3
  Word
      cyclShift 
cyclShift       cyclShift       |
| 15 | 7, 2 | eqtrd 2656 |
. . . . . . 7
  Word
      cyclShift 
cyclShift         |
| 16 | 15 | oveq2d 6666 |
. . . . . 6
  Word
  ..^    
cyclShift  cyclShift     ..^       |
| 17 | 16 | eleq2d 2687 |
. . . . 5
  Word
   ..^    
cyclShift  cyclShift   
 ..^        |
| 18 | 3 | 3ad2ant1 1082 |
. . . . . . . . 9
  Word
  cyclShift  Word   |
| 19 | 18 | adantr 481 |
. . . . . . . 8
   Word
  ..^      
cyclShift  Word   |
| 20 | | simp3 1063 |
. . . . . . . . 9
  Word
   |
| 21 | 20 | adantr 481 |
. . . . . . . 8
   Word
  ..^     
  |
| 22 | 2 | eqcomd 2628 |
. . . . . . . . . . 11
  Word
         cyclShift     |
| 23 | 22 | oveq2d 6666 |
. . . . . . . . . 10
  Word
  ..^      ..^    cyclShift      |
| 24 | 23 | eleq2d 2687 |
. . . . . . . . 9
  Word
   ..^    
 ..^    cyclShift       |
| 25 | 24 | biimpa 501 |
. . . . . . . 8
   Word
  ..^       ..^    cyclShift      |
| 26 | | cshwidxmod 13549 |
. . . . . . . 8
   cyclShift
 Word  ..^    cyclShift
       cyclShift 
cyclShift       cyclShift
          cyclShift       |
| 27 | 19, 21, 25, 26 | syl3anc 1326 |
. . . . . . 7
   Word
  ..^         cyclShift 
cyclShift       cyclShift
          cyclShift       |
| 28 | 8 | adantr 481 |
. . . . . . . 8
   Word
  ..^     
Word   |
| 29 | | simpl2 1065 |
. . . . . . . 8
   Word
  ..^     
  |
| 30 | | elfzo0 12508 |
. . . . . . . . . . . 12
  ..^     
           |
| 31 | | nn0z 11400 |
. . . . . . . . . . . . . . . . 17

  |
| 32 | 31 | ad2antrr 762 |
. . . . . . . . . . . . . . . 16
         Word  
  |
| 33 | 20 | adantl 482 |
. . . . . . . . . . . . . . . 16
         Word  
  |
| 34 | 32, 33 | zaddcld 11486 |
. . . . . . . . . . . . . . 15
         Word  
    |
| 35 | | simpr 477 |
. . . . . . . . . . . . . . . 16
             |
| 36 | 35 | adantr 481 |
. . . . . . . . . . . . . . 15
         Word  
      |
| 37 | 34, 36 | jca 554 |
. . . . . . . . . . . . . 14
         Word  
          |
| 38 | 37 | ex 450 |
. . . . . . . . . . . . 13
         Word             |
| 39 | 38 | 3adant3 1081 |
. . . . . . . . . . . 12
             Word
            |
| 40 | 30, 39 | sylbi 207 |
. . . . . . . . . . 11
  ..^    
 
Word             |
| 41 | 40 | impcom 446 |
. . . . . . . . . 10
   Word
  ..^                |
| 42 | | zmodfzo 12693 |
. . . . . . . . . 10
                  ..^       |
| 43 | 41, 42 | syl 17 |
. . . . . . . . 9
   Word
  ..^               ..^       |
| 44 | 2 | oveq2d 6666 |
. . . . . . . . . . 11
  Word
   
    cyclShift              |
| 45 | 44 | eleq1d 2686 |
. . . . . . . . . 10
  Word
         cyclShift     ..^    
         ..^        |
| 46 | 45 | adantr 481 |
. . . . . . . . 9
   Word
  ..^              cyclShift     ..^              ..^        |
| 47 | 43, 46 | mpbird 247 |
. . . . . . . 8
   Word
  ..^             cyclShift     ..^       |
| 48 | | cshwidxmod 13549 |
. . . . . . . 8
  Word
  
    cyclShift     ..^       
cyclShift           cyclShift                 cyclShift             |
| 49 | 28, 29, 47, 48 | syl3anc 1326 |
. . . . . . 7
   Word
  ..^        cyclShift           cyclShift            
    cyclShift             |
| 50 | | nn0re 11301 |
. . . . . . . . . . . . . . . . . . 19

  |
| 51 | 50 | ad2antrr 762 |
. . . . . . . . . . . . . . . . . 18
             |
| 52 | | zre 11381 |
. . . . . . . . . . . . . . . . . . 19
   |
| 53 | 52 | ad2antll 765 |
. . . . . . . . . . . . . . . . . 18
          
  |
| 54 | 51, 53 | readdcld 10069 |
. . . . . . . . . . . . . . . . 17
               |
| 55 | | zre 11381 |
. . . . . . . . . . . . . . . . . 18
   |
| 56 | 55 | ad2antrl 764 |
. . . . . . . . . . . . . . . . 17
          
  |
| 57 | | nnrp 11842 |
. . . . . . . . . . . . . . . . . . 19
    
      |
| 58 | 57 | adantl 482 |
. . . . . . . . . . . . . . . . . 18
             |
| 59 | 58 | adantr 481 |
. . . . . . . . . . . . . . . . 17
                 |
| 60 | | modaddmod 12709 |
. . . . . . . . . . . . . . . . 17
   
    
                    
       |
| 61 | 54, 56, 59, 60 | syl3anc 1326 |
. . . . . . . . . . . . . . . 16
                     
         
       |
| 62 | | nn0cn 11302 |
. . . . . . . . . . . . . . . . . . . 20

  |
| 63 | 62 | ad2antrr 762 |
. . . . . . . . . . . . . . . . . . 19
             |
| 64 | | zcn 11382 |
. . . . . . . . . . . . . . . . . . . 20
   |
| 65 | 64 | ad2antrl 764 |
. . . . . . . . . . . . . . . . . . 19
          
  |
| 66 | | zcn 11382 |
. . . . . . . . . . . . . . . . . . . 20
   |
| 67 | 66 | ad2antll 765 |
. . . . . . . . . . . . . . . . . . 19
          
  |
| 68 | | add32r 10255 |
. . . . . . . . . . . . . . . . . . 19
 
           |
| 69 | 63, 65, 67, 68 | syl3anc 1326 |
. . . . . . . . . . . . . . . . . 18
                     |
| 70 | 69 | eqcomd 2628 |
. . . . . . . . . . . . . . . . 17
                     |
| 71 | 70 | oveq1d 6665 |
. . . . . . . . . . . . . . . 16
                                 |
| 72 | 61, 71 | eqtrd 2656 |
. . . . . . . . . . . . . . 15
                     
                 |
| 73 | 72 | ex 450 |
. . . . . . . . . . . . . 14
                    
                  |
| 74 | 73 | 3adant3 1081 |
. . . . . . . . . . . . 13
                  
     
                  |
| 75 | 30, 74 | sylbi 207 |
. . . . . . . . . . . 12
  ..^    
 
           
                  |
| 76 | 75 | com12 32 |
. . . . . . . . . . 11
 
   ..^               
                  |
| 77 | 76 | 3adant1 1079 |
. . . . . . . . . 10
  Word
   ..^               
                  |
| 78 | 77 | imp 445 |
. . . . . . . . 9
   Word
  ..^                
                 |
| 79 | 78 | fveq2d 6195 |
. . . . . . . 8
   Word
  ..^                   
                      |
| 80 | 2 | adantr 481 |
. . . . . . . . . . . 12
   Word
  ..^          cyclShift         |
| 81 | 80 | oveq2d 6666 |
. . . . . . . . . . 11
   Word
  ..^             cyclShift      
       |
| 82 | 81 | oveq1d 6665 |
. . . . . . . . . 10
   Word
  ..^              cyclShift                 |
| 83 | 82 | oveq1d 6665 |
. . . . . . . . 9
   Word
  ..^               cyclShift                    
       |
| 84 | 83 | fveq2d 6195 |
. . . . . . . 8
   Word
  ..^                  cyclShift                        
        |
| 85 | 10 | adantr 481 |
. . . . . . . . 9
   Word
  ..^          |
| 86 | | simpr 477 |
. . . . . . . . 9
   Word
  ..^       ..^       |
| 87 | | cshwidxmod 13549 |
. . . . . . . . 9
  Word 

 ..^        cyclShift                       |
| 88 | 28, 85, 86, 87 | syl3anc 1326 |
. . . . . . . 8
   Word
  ..^        cyclShift                       |
| 89 | 79, 84, 88 | 3eqtr4d 2666 |
. . . . . . 7
   Word
  ..^                  cyclShift             cyclShift         |
| 90 | 27, 49, 89 | 3eqtrd 2660 |
. . . . . 6
   Word
  ..^         cyclShift 
cyclShift       cyclShift
        |
| 91 | 90 | ex 450 |
. . . . 5
  Word
   ..^        cyclShift  cyclShift       cyclShift          |
| 92 | 17, 91 | sylbid 230 |
. . . 4
  Word
   ..^    
cyclShift  cyclShift       cyclShift 
cyclShift       cyclShift
         |
| 93 | 92 | ralrimiv 2965 |
. . 3
  Word
   ..^     cyclShift  cyclShift        cyclShift 
cyclShift       cyclShift
        |
| 94 | 14, 93 | jca 554 |
. 2
  Word
       cyclShift  cyclShift
      cyclShift
      ..^     cyclShift  cyclShift        cyclShift 
cyclShift       cyclShift
         |
| 95 | | cshwcl 13544 |
. . . . . 6
  cyclShift  Word   cyclShift  cyclShift  Word   |
| 96 | 3, 95 | syl 17 |
. . . . 5
 Word  
cyclShift  cyclShift  Word
  |
| 97 | | cshwcl 13544 |
. . . . 5
 Word  cyclShift    Word   |
| 98 | 96, 97 | jca 554 |
. . . 4
 Word    cyclShift  cyclShift  Word  cyclShift
   Word    |
| 99 | 98 | 3ad2ant1 1082 |
. . 3
  Word
    cyclShift  cyclShift  Word  cyclShift
   Word    |
| 100 | | eqwrd 13346 |
. . 3
    cyclShift  cyclShift  Word  cyclShift
   Word     cyclShift  cyclShift   cyclShift   
      cyclShift 
cyclShift       cyclShift       ..^    
cyclShift  cyclShift        cyclShift  cyclShift       cyclShift           |
| 101 | 99, 100 | syl 17 |
. 2
  Word
    cyclShift  cyclShift   cyclShift   
      cyclShift 
cyclShift       cyclShift       ..^    
cyclShift  cyclShift        cyclShift  cyclShift       cyclShift           |
| 102 | 94, 101 | mpbird 247 |
1
  Word
  
cyclShift  cyclShift   cyclShift 
    |