Proof of Theorem cshwshashlem2
| Step | Hyp | Ref
| Expression |
| 1 | | oveq1 6657 |
. . . . . . . 8
  cyclShift   cyclShift   
cyclShift  cyclShift          cyclShift 
cyclShift          |
| 2 | 1 | eqcomd 2628 |
. . . . . . 7
  cyclShift   cyclShift   
cyclShift  cyclShift          cyclShift 
cyclShift          |
| 3 | 2 | ad2antrr 762 |
. . . . . 6
    cyclShift   cyclShift     ..^                
 ..^      ..^         cyclShift 
cyclShift          cyclShift
 cyclShift          |
| 4 | | cshwshash.0 |
. . . . . . . . . . 11
  Word        |
| 5 | 4 | simpld 475 |
. . . . . . . . . 10
 Word   |
| 6 | 5 | adantr 481 |
. . . . . . . . 9
 
  ..^              
Word   |
| 7 | 6 | adantl 482 |
. . . . . . . 8
   cyclShift
  cyclShift     ..^               
Word   |
| 8 | 7 | adantr 481 |
. . . . . . 7
    cyclShift   cyclShift     ..^                
 ..^      ..^       Word   |
| 9 | | elfzofz 12485 |
. . . . . . . . 9
  ..^    
          |
| 10 | 9 | 3ad2ant2 1083 |
. . . . . . . 8
   ..^      ..^     
          |
| 11 | 10 | adantl 482 |
. . . . . . 7
    cyclShift   cyclShift     ..^                
 ..^      ..^                 |
| 12 | | elfzofz 12485 |
. . . . . . . . . 10
  ..^    
          |
| 13 | | fznn0sub2 12446 |
. . . . . . . . . 10
                         |
| 14 | 12, 13 | syl 17 |
. . . . . . . . 9
  ..^    
                |
| 15 | 14 | 3ad2ant1 1082 |
. . . . . . . 8
   ..^      ..^                      |
| 16 | 15 | adantl 482 |
. . . . . . 7
    cyclShift   cyclShift     ..^                
 ..^      ..^                       |
| 17 | | elfzo0 12508 |
. . . . . . . . . . . 12
  ..^     
           |
| 18 | | zre 11381 |
. . . . . . . . . . . . . . . . . 18
   |
| 19 | 18 | adantr 481 |
. . . . . . . . . . . . . . . . 17
  
     
  |
| 20 | | nnre 11027 |
. . . . . . . . . . . . . . . . . . 19
    
      |
| 21 | | nn0re 11301 |
. . . . . . . . . . . . . . . . . . 19

  |
| 22 | | resubcl 10345 |
. . . . . . . . . . . . . . . . . . 19
     
         |
| 23 | 20, 21, 22 | syl2anr 495 |
. . . . . . . . . . . . . . . . . 18
               |
| 24 | 23 | adantl 482 |
. . . . . . . . . . . . . . . . 17
  
     
        |
| 25 | 19, 24 | readdcld 10069 |
. . . . . . . . . . . . . . . 16
  
     
          |
| 26 | 20 | adantl 482 |
. . . . . . . . . . . . . . . . 17
             |
| 27 | 26 | adantl 482 |
. . . . . . . . . . . . . . . 16
  
     
      |
| 28 | 25, 27 | jca 554 |
. . . . . . . . . . . . . . 15
  
     
 
              |
| 29 | 28 | ex 450 |
. . . . . . . . . . . . . 14
                         |
| 30 | | elfzoelz 12470 |
. . . . . . . . . . . . . 14
  ..^    
  |
| 31 | 29, 30 | syl11 33 |
. . . . . . . . . . . . 13
         ..^                      |
| 32 | 31 | 3adant3 1081 |
. . . . . . . . . . . 12
           
 ..^                      |
| 33 | 17, 32 | sylbi 207 |
. . . . . . . . . . 11
  ..^    
  ..^                      |
| 34 | 33 | imp 445 |
. . . . . . . . . 10
   ..^      ..^                      |
| 35 | 34 | 3adant3 1081 |
. . . . . . . . 9
   ..^      ..^                      |
| 36 | | fzonmapblen 12513 |
. . . . . . . . 9
   ..^      ..^                    |
| 37 | | ltle 10126 |
. . . . . . . . 9
                            
              |
| 38 | 35, 36, 37 | sylc 65 |
. . . . . . . 8
   ..^      ..^             
      |
| 39 | 38 | adantl 482 |
. . . . . . 7
    cyclShift   cyclShift     ..^                
 ..^      ..^              
      |
| 40 | | simpl 473 |
. . . . . . . 8
  Word 
                             
     
Word   |
| 41 | | elfzelz 12342 |
. . . . . . . . . 10
           |
| 42 | 41 | 3ad2ant1 1082 |
. . . . . . . . 9
                               
       |
| 43 | 42 | adantl 482 |
. . . . . . . 8
  Word 
                             
     
  |
| 44 | | elfzelz 12342 |
. . . . . . . . . 10
                       |
| 45 | 44 | 3ad2ant2 1083 |
. . . . . . . . 9
                               
             |
| 46 | 45 | adantl 482 |
. . . . . . . 8
  Word 
                             
              |
| 47 | | 2cshw 13559 |
. . . . . . . 8
  Word
        
cyclShift  cyclShift         cyclShift            |
| 48 | 40, 43, 46, 47 | syl3anc 1326 |
. . . . . . 7
  Word 
                             
        cyclShift  cyclShift         cyclShift 
          |
| 49 | 8, 11, 16, 39, 48 | syl13anc 1328 |
. . . . . 6
    cyclShift   cyclShift     ..^                
 ..^      ..^         cyclShift 
cyclShift         cyclShift            |
| 50 | 12 | 3ad2ant1 1082 |
. . . . . . 7
   ..^      ..^     
          |
| 51 | | elfzelz 12342 |
. . . . . . . 8
           |
| 52 | | 2cshwid 13560 |
. . . . . . . 8
  Word
   cyclShift  cyclShift          |
| 53 | 51, 52 | sylan2 491 |
. . . . . . 7
  Word
           cyclShift  cyclShift          |
| 54 | 7, 50, 53 | syl2an 494 |
. . . . . 6
    cyclShift   cyclShift     ..^                
 ..^      ..^         cyclShift 
cyclShift          |
| 55 | 3, 49, 54 | 3eqtr3d 2664 |
. . . . 5
    cyclShift   cyclShift     ..^                
 ..^      ..^        cyclShift            |
| 56 | | simplrl 800 |
. . . . . 6
    cyclShift   cyclShift     ..^                
 ..^      ..^         |
| 57 | | simplrr 801 |
. . . . . 6
    cyclShift   cyclShift     ..^                
 ..^      ..^         ..^                |
| 58 | | 3simpa 1058 |
. . . . . . . . . . . 12
           
       |
| 59 | 17, 58 | sylbi 207 |
. . . . . . . . . . 11
  ..^    
        |
| 60 | | nnz 11399 |
. . . . . . . . . . . . . . 15
    
      |
| 61 | | nn0z 11400 |
. . . . . . . . . . . . . . 15

  |
| 62 | | zsubcl 11419 |
. . . . . . . . . . . . . . 15
     
         |
| 63 | 60, 61, 62 | syl2anr 495 |
. . . . . . . . . . . . . 14
               |
| 64 | 63 | anim2i 593 |
. . . . . . . . . . . . 13
  
     
          |
| 65 | 64 | ancoms 469 |
. . . . . . . . . . . 12
                   |
| 66 | | zaddcl 11417 |
. . . . . . . . . . . 12
                   |
| 67 | 65, 66 | syl 17 |
. . . . . . . . . . 11
                   |
| 68 | 59, 30, 67 | syl2an 494 |
. . . . . . . . . 10
   ..^      ..^                |
| 69 | 68 | 3adant3 1081 |
. . . . . . . . 9
   ..^      ..^                |
| 70 | | elfzo0 12508 |
. . . . . . . . . . . . . 14
  ..^     
           |
| 71 | | elnn0z 11390 |
. . . . . . . . . . . . . . . 16

    |
| 72 | 18 | ad2antrr 762 |
. . . . . . . . . . . . . . . . . 18
  
           
  |
| 73 | 23 | 3adant3 1081 |
. . . . . . . . . . . . . . . . . . 19
                   |
| 74 | 73 | adantl 482 |
. . . . . . . . . . . . . . . . . 18
  
                    |
| 75 | | simplr 792 |
. . . . . . . . . . . . . . . . . 18
  
           
  |
| 76 | | posdif 10521 |
. . . . . . . . . . . . . . . . . . . . 21
           
         |
| 77 | 21, 20, 76 | syl2an 494 |
. . . . . . . . . . . . . . . . . . . 20
           
         |
| 78 | 77 | biimp3a 1432 |
. . . . . . . . . . . . . . . . . . 19
                   |
| 79 | 78 | adantl 482 |
. . . . . . . . . . . . . . . . . 18
  
           
        |
| 80 | 72, 74, 75, 79 | addgegt0d 10601 |
. . . . . . . . . . . . . . . . 17
  
           
          |
| 81 | 80 | ex 450 |
. . . . . . . . . . . . . . . 16
    
                    |
| 82 | 71, 81 | sylbi 207 |
. . . . . . . . . . . . . . 15

                      |
| 83 | 82 | 3ad2ant1 1082 |
. . . . . . . . . . . . . 14
                                 |
| 84 | 70, 83 | sylbi 207 |
. . . . . . . . . . . . 13
  ..^    
 
        
           |
| 85 | 84 | com12 32 |
. . . . . . . . . . . 12
           
 ..^                |
| 86 | 17, 85 | sylbi 207 |
. . . . . . . . . . 11
  ..^    
  ..^    
           |
| 87 | 86 | imp 445 |
. . . . . . . . . 10
   ..^      ..^      
         |
| 88 | 87 | 3adant3 1081 |
. . . . . . . . 9
   ..^      ..^     
          |
| 89 | | elnnz 11387 |
. . . . . . . . 9
                             |
| 90 | 69, 88, 89 | sylanbrc 698 |
. . . . . . . 8
   ..^      ..^                |
| 91 | 17 | simp2bi 1077 |
. . . . . . . . 9
  ..^    
      |
| 92 | 91 | 3ad2ant1 1082 |
. . . . . . . 8
   ..^      ..^            |
| 93 | | elfzo1 12517 |
. . . . . . . 8
          ..^    
 
                          |
| 94 | 90, 92, 36, 93 | syl3anbrc 1246 |
. . . . . . 7
   ..^      ..^               ..^       |
| 95 | 94 | adantl 482 |
. . . . . 6
    cyclShift   cyclShift     ..^                
 ..^      ..^                ..^       |
| 96 | 4 | cshwshashlem1 15802 |
. . . . . 6
 
  ..^              
        ..^       cyclShift            |
| 97 | 56, 57, 95, 96 | syl3anc 1326 |
. . . . 5
    cyclShift   cyclShift     ..^                
 ..^      ..^        cyclShift            |
| 98 | 55, 97 | pm2.21ddne 2878 |
. . . 4
    cyclShift   cyclShift     ..^                
 ..^      ..^        cyclShift   cyclShift    |
| 99 | 98 | ex 450 |
. . 3
   cyclShift
  cyclShift     ..^                   ..^    
 ..^       cyclShift   cyclShift     |
| 100 | 99 | ex 450 |
. 2
  cyclShift   cyclShift   
  ..^                  ..^    
 ..^       cyclShift   cyclShift      |
| 101 | | 2a1 28 |
. 2
  cyclShift   cyclShift   
  ..^                  ..^    
 ..^       cyclShift   cyclShift      |
| 102 | 100, 101 | pm2.61ine 2877 |
1
 
  ..^                  ..^    
 ..^       cyclShift   cyclShift     |