Proof of Theorem 2cshwcshw
Step | Hyp | Ref
| Expression |
1 | | difelfznle 12453 |
. . . . . . . . . . . . . . . . . . 19
     
   
           |
2 | 1 | 3exp 1264 |
. . . . . . . . . . . . . . . . . 18
                       |
3 | 2 | ad2antrr 762 |
. . . . . . . . . . . . . . . . 17
        Word        cyclShift
 
    
             |
4 | 3 | imp 445 |
. . . . . . . . . . . . . . . 16
       
 Word        cyclShift        
           |
5 | 4 | adantr 481 |
. . . . . . . . . . . . . . 15
         
Word      
 cyclShift         cyclShift  
            |
6 | 5 | com12 32 |
. . . . . . . . . . . . . 14

         
Word        cyclShift  
      cyclShift              |
7 | 6 | adantl 482 |
. . . . . . . . . . . . 13
            
Word        cyclShift  
      cyclShift              |
8 | 7 | imp 445 |
. . . . . . . . . . . 12
            
Word      
 cyclShift         cyclShift              |
9 | | simprl 794 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
      
Word       Word   |
10 | 9 | ad2antrr 762 |
. . . . . . . . . . . . . . . . . . . . . . . 24
       
 Word       
       Word   |
11 | | elfzelz 12342 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
       |
12 | 11 | adantr 481 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
      
Word         |
13 | 12 | ad2antrr 762 |
. . . . . . . . . . . . . . . . . . . . . . . 24
       
 Word       
         |
14 | | elfz2 12333 |
. . . . . . . . . . . . . . . . . . . . . . . . . . 27
    
 
 
    |
15 | | zaddcl 11417 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
 
     |
16 | 15 | adantrr 753 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
  
 
    |
17 | | simprr 796 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
  
 
  |
18 | 16, 17 | zsubcld 11487 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
  
 
      |
19 | 18 | ex 450 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
           |
20 | | elfzelz 12342 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
       |
21 | 19, 20 | syl11 33 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
 
             |
22 | 21 | 3adant1 1079 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . 28
 
             |
23 | 22 | adantr 481 |
. . . . . . . . . . . . . . . . . . . . . . . . . . 27
  
 
 
    
       |
24 | 14, 23 | sylbi 207 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
                 |
25 | 24 | ad2antrr 762 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
        Word                      |
26 | 25 | imp 445 |
. . . . . . . . . . . . . . . . . . . . . . . 24
       
 Word       
             |
27 | | 2cshw 13559 |
. . . . . . . . . . . . . . . . . . . . . . . 24
  Word
       cyclShift  cyclShift       cyclShift          |
28 | 10, 13, 26, 27 | syl3anc 1326 |
. . . . . . . . . . . . . . . . . . . . . . 23
       
 Word       
        
cyclShift  cyclShift       cyclShift 
        |
29 | 17, 18 | zaddcld 11486 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
  
 
        |
30 | 29 | ex 450 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
             |
31 | 30, 20 | syl11 33 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
 
               |
32 | 31 | 3adant1 1079 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . 28
 
               |
33 | 32 | adantr 481 |
. . . . . . . . . . . . . . . . . . . . . . . . . . 27
  
 
 
    
         |
34 | 14, 33 | sylbi 207 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
                   |
35 | 34 | ad2antrr 762 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
        Word                        |
36 | 35 | imp 445 |
. . . . . . . . . . . . . . . . . . . . . . . 24
       
 Word       
       
       |
37 | | cshwsublen 13542 |
. . . . . . . . . . . . . . . . . . . . . . . 24
  Word 
       cyclShift         cyclShift                |
38 | 10, 36, 37 | syl2anc 693 |
. . . . . . . . . . . . . . . . . . . . . . 23
       
 Word       
        cyclShift         cyclShift                |
39 | 28, 38 | eqtrd 2656 |
. . . . . . . . . . . . . . . . . . . . . 22
       
 Word       
        
cyclShift  cyclShift       cyclShift                |
40 | | elfz2nn0 12431 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . 28
    

   |
41 | | nn0cn 11302 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32

  |
42 | | nn0cn 11302 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33

  |
43 | | nn0cn 11302 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33

  |
44 | 42, 43 | anim12i 590 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
 
     |
45 | | simprl 794 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 35
  
 
  |
46 | | addcl 10018 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 36
 
     |
47 | 46 | adantrl 752 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 35
  
 
    |
48 | 45, 47 | pncan3d 10395 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
  
 
          |
49 | 48 | oveq1d 6665 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
  
 
 
            |
50 | | pncan 10287 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
 
       |
51 | 50 | adantrl 752 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
  
 
      |
52 | 49, 51 | eqtrd 2656 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
  
 
 
        |
53 | 41, 44, 52 | syl2an 494 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
  
 
 
        |
54 | 53 | ex 450 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30

 
            |
55 | | elfznn0 12433 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
       |
56 | 54, 55 | syl11 33 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
 
                 |
57 | 56 | 3adant3 1081 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . 28
 
                 |
58 | 40, 57 | sylbi 207 |
. . . . . . . . . . . . . . . . . . . . . . . . . . 27
                     |
59 | 58 | adantr 481 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
      
Word           
 
         |
60 | | oveq2 6658 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
    
                      |
61 | 60 | eqeq1d 2624 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
    
                        |
62 | 61 | imbi2d 330 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . 28
    
                  
    
 
          |
63 | 62 | adantl 482 |
. . . . . . . . . . . . . . . . . . . . . . . . . . 27
  Word           
 
               
 
          |
64 | 63 | adantl 482 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
      
Word                         
    
 
          |
65 | 59, 64 | mpbird 247 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
      
Word           
 
             |
66 | 65 | adantr 481 |
. . . . . . . . . . . . . . . . . . . . . . . 24
        Word                              |
67 | 66 | imp 445 |
. . . . . . . . . . . . . . . . . . . . . . 23
       
 Word       
                     |
68 | 67 | oveq2d 6666 |
. . . . . . . . . . . . . . . . . . . . . 22
       
 Word       
        cyclShift               cyclShift    |
69 | 39, 68 | eqtr2d 2657 |
. . . . . . . . . . . . . . . . . . . . 21
       
 Word       
        cyclShift    cyclShift
 cyclShift        |
70 | 69 | adantr 481 |
. . . . . . . . . . . . . . . . . . . 20
         
Word       
 
      cyclShift   
cyclShift    cyclShift  cyclShift        |
71 | | oveq1 6657 |
. . . . . . . . . . . . . . . . . . . . 21
  cyclShift   cyclShift        cyclShift 
cyclShift        |
72 | 71 | adantl 482 |
. . . . . . . . . . . . . . . . . . . 20
         
Word       
 
      cyclShift   
cyclShift        cyclShift  cyclShift        |
73 | 70, 72 | eqtr4d 2659 |
. . . . . . . . . . . . . . . . . . 19
         
Word       
 
      cyclShift   
cyclShift   cyclShift
       |
74 | 73 | exp41 638 |
. . . . . . . . . . . . . . . . . 18
      
Word         
    
  cyclShift   cyclShift   cyclShift           |
75 | 74 | com24 95 |
. . . . . . . . . . . . . . . . 17
      
Word         cyclShift
        
 cyclShift   cyclShift           |
76 | 75 | imp41 619 |
. . . . . . . . . . . . . . . 16
         
Word      
 cyclShift        
   cyclShift   cyclShift        |
77 | 76 | eqeq2d 2632 |
. . . . . . . . . . . . . . 15
         
Word      
 cyclShift        
  
 cyclShift 
 cyclShift         |
78 | 77 | biimpd 219 |
. . . . . . . . . . . . . 14
         
Word      
 cyclShift        
  
 cyclShift 

cyclShift         |
79 | 78 | impancom 456 |
. . . . . . . . . . . . 13
         
Word      
 cyclShift         cyclShift  
 


cyclShift         |
80 | 79 | impcom 446 |
. . . . . . . . . . . 12
            
Word      
 cyclShift         cyclShift     cyclShift        |
81 | | oveq2 6658 |
. . . . . . . . . . . . . 14
      cyclShift   cyclShift        |
82 | 81 | eqeq2d 2632 |
. . . . . . . . . . . . 13
     
 cyclShift 
 cyclShift         |
83 | 82 | rspcev 3309 |
. . . . . . . . . . . 12
         
 cyclShift              cyclShift    |
84 | 8, 80, 83 | syl2anc 693 |
. . . . . . . . . . 11
            
Word      
 cyclShift         cyclShift           cyclShift    |
85 | 84 | exp31 630 |
. . . . . . . . . 10
          
 Word        cyclShift         cyclShift  
       cyclShift      |
86 | | oveq2 6658 |
. . . . . . . . . . . . . . . 16
  cyclShift   cyclShift    |
87 | 86 | eqeq2d 2632 |
. . . . . . . . . . . . . . 15
 
 cyclShift 
 cyclShift     |
88 | | cshw0 13540 |
. . . . . . . . . . . . . . . . . . . . . 22
 Word  cyclShift    |
89 | 88 | adantr 481 |
. . . . . . . . . . . . . . . . . . . . 21
  Word      
cyclShift    |
90 | 89 | eqeq2d 2632 |
. . . . . . . . . . . . . . . . . . . 20
  Word        cyclShift 
   |
91 | | fznn0sub2 12446 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . 28
     
       |
92 | 91 | adantl 482 |
. . . . . . . . . . . . . . . . . . . . . . . . . . 27
   Word          
        |
93 | | oveq1 6657 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
    
          |
94 | 93 | eleq1d 2686 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . 28
    
          
         |
95 | 94 | ad2antlr 763 |
. . . . . . . . . . . . . . . . . . . . . . . . . . 27
   Word          
                    |
96 | 92, 95 | mpbird 247 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
   Word          
            |
97 | 96 | adantr 481 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
    Word            cyclShift
 
            |
98 | | oveq1 6657 |
. . . . . . . . . . . . . . . . . . . . . . . . . . 27
  cyclShift   cyclShift          cyclShift  cyclShift          |
99 | | simpl 473 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . 28
  Word     
Word   |
100 | | 2cshwid 13560 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . 28
  Word
   cyclShift  cyclShift          |
101 | 99, 11, 100 | syl2an 494 |
. . . . . . . . . . . . . . . . . . . . . . . . . . 27
   Word          
  cyclShift  cyclShift
         |
102 | 98, 101 | sylan9eqr 2678 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
    Word            cyclShift
 
 cyclShift          |
103 | 102 | eqcomd 2628 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
    Word            cyclShift
 

cyclShift          |
104 | | oveq2 6658 |
. . . . . . . . . . . . . . . . . . . . . . . . . . 27
      
 cyclShift   cyclShift          |
105 | 104 | eqeq2d 2632 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
      
  cyclShift   cyclShift           |
106 | 105 | rspcev 3309 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
             cyclShift                cyclShift    |
107 | 97, 103, 106 | syl2anc 693 |
. . . . . . . . . . . . . . . . . . . . . . . 24
    Word            cyclShift
 
       cyclShift    |
108 | 107 | adantr 481 |
. . . . . . . . . . . . . . . . . . . . . . 23
     Word            cyclShift           cyclShift    |
109 | | eqeq1 2626 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
 
 cyclShift 
 cyclShift     |
110 | 109 | rexbidv 3052 |
. . . . . . . . . . . . . . . . . . . . . . . 24
  
      cyclShift  
      cyclShift     |
111 | 110 | adantl 482 |
. . . . . . . . . . . . . . . . . . . . . . 23
     Word            cyclShift     
      cyclShift  
      cyclShift     |
112 | 108, 111 | mpbird 247 |
. . . . . . . . . . . . . . . . . . . . . 22
     Word            cyclShift           cyclShift    |
113 | 112 | exp41 638 |
. . . . . . . . . . . . . . . . . . . . 21
  Word             cyclShift
         cyclShift       |
114 | 113 | com24 95 |
. . . . . . . . . . . . . . . . . . . 20
  Word         cyclShift
             cyclShift       |
115 | 90, 114 | sylbid 230 |
. . . . . . . . . . . . . . . . . . 19
  Word        cyclShift    cyclShift  
    
      cyclShift       |
116 | 115 | com24 95 |
. . . . . . . . . . . . . . . . . 18
  Word             cyclShift
   cyclShift  
      cyclShift       |
117 | 116 | impcom 446 |
. . . . . . . . . . . . . . . . 17
      
Word         cyclShift
   cyclShift  
      cyclShift      |
118 | 117 | com13 88 |
. . . . . . . . . . . . . . . 16
  cyclShift 
  cyclShift        
Word       
      cyclShift      |
119 | 118 | a1d 25 |
. . . . . . . . . . . . . . 15
  cyclShift 
    
  cyclShift        
Word       
      cyclShift       |
120 | 87, 119 | syl6bi 243 |
. . . . . . . . . . . . . 14
 
 cyclShift 
    
  cyclShift        
Word       
      cyclShift        |
121 | 120 | com24 95 |
. . . . . . . . . . . . 13
 
 cyclShift 
    
  cyclShift        
Word       
      cyclShift        |
122 | 121 | com15 101 |
. . . . . . . . . . . 12
      
Word         cyclShift
        cyclShift
         cyclShift        |
123 | 122 | imp41 619 |
. . . . . . . . . . 11
         
Word      
 cyclShift         cyclShift  
        cyclShift     |
124 | 123 | com12 32 |
. . . . . . . . . 10
          
Word        cyclShift  
      cyclShift   
      cyclShift     |
125 | | difelfzle 12452 |
. . . . . . . . . . . . . . . . 17
     
             |
126 | 125 | 3exp 1264 |
. . . . . . . . . . . . . . . 16
                     |
127 | 126 | ad2antrr 762 |
. . . . . . . . . . . . . . 15
        Word        cyclShift
 
    

          |
128 | 127 | imp 445 |
. . . . . . . . . . . . . 14
       
 Word        cyclShift                  |
129 | 128 | adantr 481 |
. . . . . . . . . . . . 13
         
Word      
 cyclShift         cyclShift  

         |
130 | 129 | impcom 446 |
. . . . . . . . . . . 12
 
        
Word        cyclShift  
      cyclShift            |
131 | 9 | ad2antrr 762 |
. . . . . . . . . . . . . . . . . . . . . . . 24
       
 Word             Word   |
132 | 12 | ad2antrr 762 |
. . . . . . . . . . . . . . . . . . . . . . . 24
       
 Word               |
133 | | zsubcl 11419 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . 28
 
     |
134 | 133 | ex 450 |
. . . . . . . . . . . . . . . . . . . . . . . . . . 27
 
     |
135 | 20, 11, 134 | syl2imc 41 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
               |
136 | 135 | ad2antrr 762 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
        Word                  |
137 | 136 | imp 445 |
. . . . . . . . . . . . . . . . . . . . . . . 24
       
 Word                 |
138 | | 2cshw 13559 |
. . . . . . . . . . . . . . . . . . . . . . . 24
  Word
     cyclShift  cyclShift 
   cyclShift        |
139 | 131, 132,
137, 138 | syl3anc 1326 |
. . . . . . . . . . . . . . . . . . . . . . 23
       
 Word              
cyclShift  cyclShift     cyclShift 
      |
140 | | zcn 11382 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
   |
141 | 20 | zcnd 11483 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
       |
142 | | pncan3 10289 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
 
       |
143 | 140, 141,
142 | syl2anr 495 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . 28
     
       |
144 | 143 | ex 450 |
. . . . . . . . . . . . . . . . . . . . . . . . . . 27
     
       |
145 | 11, 144 | syl5com 31 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
                 |
146 | 145 | ad2antrr 762 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
        Word                    |
147 | 146 | imp 445 |
. . . . . . . . . . . . . . . . . . . . . . . 24
       
 Word             
     |
148 | 147 | oveq2d 6666 |
. . . . . . . . . . . . . . . . . . . . . . 23
       
 Word              cyclShift       cyclShift    |
149 | 139, 148 | eqtr2d 2657 |
. . . . . . . . . . . . . . . . . . . . . 22
       
 Word              cyclShift    cyclShift
 cyclShift      |
150 | 149 | adantr 481 |
. . . . . . . . . . . . . . . . . . . . 21
         
Word       
      cyclShift   
cyclShift    cyclShift  cyclShift 
    |
151 | | oveq1 6657 |
. . . . . . . . . . . . . . . . . . . . . . 23
  cyclShift   cyclShift      cyclShift 
cyclShift      |
152 | 151 | eqeq2d 2632 |
. . . . . . . . . . . . . . . . . . . . . 22
  cyclShift    cyclShift   cyclShift   
 cyclShift    cyclShift  cyclShift
      |
153 | 152 | adantl 482 |
. . . . . . . . . . . . . . . . . . . . 21
         
Word       
      cyclShift     cyclShift   cyclShift    
cyclShift    cyclShift  cyclShift 
     |
154 | 150, 153 | mpbird 247 |
. . . . . . . . . . . . . . . . . . . 20
         
Word       
      cyclShift   
cyclShift   cyclShift
     |
155 | 154 | eqeq2d 2632 |
. . . . . . . . . . . . . . . . . . 19
         
Word       
      cyclShift     cyclShift 

cyclShift       |
156 | 155 | biimpd 219 |
. . . . . . . . . . . . . . . . . 18
         
Word       
      cyclShift     cyclShift   cyclShift       |
157 | 156 | exp41 638 |
. . . . . . . . . . . . . . . . 17
      
Word            
  cyclShift    cyclShift
  cyclShift 
        |
158 | 157 | com24 95 |
. . . . . . . . . . . . . . . 16
      
Word         cyclShift
         cyclShift
  cyclShift 
        |
159 | 158 | imp31 448 |
. . . . . . . . . . . . . . 15
       
 Word        cyclShift         
 cyclShift 

cyclShift        |
160 | 159 | com23 86 |
. . . . . . . . . . . . . 14
       
 Word        cyclShift        
 cyclShift 


cyclShift        |
161 | 160 | imp 445 |
. . . . . . . . . . . . 13
         
Word      
 cyclShift         cyclShift  


cyclShift       |
162 | 161 | impcom 446 |
. . . . . . . . . . . 12
 
        
Word        cyclShift  
      cyclShift     cyclShift      |
163 | | oveq2 6658 |
. . . . . . . . . . . . . 14
    cyclShift   cyclShift      |
164 | 163 | eqeq2d 2632 |
. . . . . . . . . . . . 13
   
 cyclShift 
 cyclShift       |
165 | 164 | rspcev 3309 |
. . . . . . . . . . . 12
       
 cyclShift            cyclShift    |
166 | 130, 162,
165 | syl2anc 693 |
. . . . . . . . . . 11
 
        
Word        cyclShift  
      cyclShift           cyclShift    |
167 | 166 | ex 450 |
. . . . . . . . . 10
          
Word        cyclShift  
      cyclShift   
      cyclShift     |
168 | 85, 124, 167 | pm2.61ii 177 |
. . . . . . . . 9
         
Word      
 cyclShift         cyclShift  
       cyclShift    |
169 | 168 | ex 450 |
. . . . . . . 8
       
 Word        cyclShift        
 cyclShift 
       cyclShift     |
170 | 169 | rexlimdva 3031 |
. . . . . . 7
        Word        cyclShift
 
 
      cyclShift         cyclShift     |
171 | 170 | ex 450 |
. . . . . 6
      
Word         cyclShift
         cyclShift         cyclShift      |
172 | 171 | com23 86 |
. . . . 5
      
Word               cyclShift  
 cyclShift 
       cyclShift      |
173 | 172 | ex 450 |
. . . 4
       Word              cyclShift  
 cyclShift 
       cyclShift       |
174 | 173 | com24 95 |
. . 3
     
 cyclShift 
 
      cyclShift    Word             cyclShift       |
175 | 174 | 3imp 1256 |
. 2
     
 cyclShift         cyclShift     Word             cyclShift     |
176 | 175 | com12 32 |
1
  Word           

cyclShift         cyclShift  
       cyclShift     |