| Step | Hyp | Ref | Expression | 
						
							| 1 |  | 0csh0 | ⊢ ( ∅  cyclShift  ( ♯ ‘ 𝑊 ) )  =  ∅ | 
						
							| 2 |  | oveq1 | ⊢ ( ∅  =  𝑊  →  ( ∅  cyclShift  ( ♯ ‘ 𝑊 ) )  =  ( 𝑊  cyclShift  ( ♯ ‘ 𝑊 ) ) ) | 
						
							| 3 |  | id | ⊢ ( ∅  =  𝑊  →  ∅  =  𝑊 ) | 
						
							| 4 | 1 2 3 | 3eqtr3a | ⊢ ( ∅  =  𝑊  →  ( 𝑊  cyclShift  ( ♯ ‘ 𝑊 ) )  =  𝑊 ) | 
						
							| 5 | 4 | a1d | ⊢ ( ∅  =  𝑊  →  ( 𝑊  ∈  Word  𝑉  →  ( 𝑊  cyclShift  ( ♯ ‘ 𝑊 ) )  =  𝑊 ) ) | 
						
							| 6 |  | lencl | ⊢ ( 𝑊  ∈  Word  𝑉  →  ( ♯ ‘ 𝑊 )  ∈  ℕ0 ) | 
						
							| 7 | 6 | nn0zd | ⊢ ( 𝑊  ∈  Word  𝑉  →  ( ♯ ‘ 𝑊 )  ∈  ℤ ) | 
						
							| 8 |  | cshwmodn | ⊢ ( ( 𝑊  ∈  Word  𝑉  ∧  ( ♯ ‘ 𝑊 )  ∈  ℤ )  →  ( 𝑊  cyclShift  ( ♯ ‘ 𝑊 ) )  =  ( 𝑊  cyclShift  ( ( ♯ ‘ 𝑊 )  mod  ( ♯ ‘ 𝑊 ) ) ) ) | 
						
							| 9 | 7 8 | mpdan | ⊢ ( 𝑊  ∈  Word  𝑉  →  ( 𝑊  cyclShift  ( ♯ ‘ 𝑊 ) )  =  ( 𝑊  cyclShift  ( ( ♯ ‘ 𝑊 )  mod  ( ♯ ‘ 𝑊 ) ) ) ) | 
						
							| 10 | 9 | adantl | ⊢ ( ( ∅  ≠  𝑊  ∧  𝑊  ∈  Word  𝑉 )  →  ( 𝑊  cyclShift  ( ♯ ‘ 𝑊 ) )  =  ( 𝑊  cyclShift  ( ( ♯ ‘ 𝑊 )  mod  ( ♯ ‘ 𝑊 ) ) ) ) | 
						
							| 11 |  | necom | ⊢ ( ∅  ≠  𝑊  ↔  𝑊  ≠  ∅ ) | 
						
							| 12 |  | lennncl | ⊢ ( ( 𝑊  ∈  Word  𝑉  ∧  𝑊  ≠  ∅ )  →  ( ♯ ‘ 𝑊 )  ∈  ℕ ) | 
						
							| 13 | 11 12 | sylan2b | ⊢ ( ( 𝑊  ∈  Word  𝑉  ∧  ∅  ≠  𝑊 )  →  ( ♯ ‘ 𝑊 )  ∈  ℕ ) | 
						
							| 14 | 13 | nnrpd | ⊢ ( ( 𝑊  ∈  Word  𝑉  ∧  ∅  ≠  𝑊 )  →  ( ♯ ‘ 𝑊 )  ∈  ℝ+ ) | 
						
							| 15 | 14 | ancoms | ⊢ ( ( ∅  ≠  𝑊  ∧  𝑊  ∈  Word  𝑉 )  →  ( ♯ ‘ 𝑊 )  ∈  ℝ+ ) | 
						
							| 16 |  | modid0 | ⊢ ( ( ♯ ‘ 𝑊 )  ∈  ℝ+  →  ( ( ♯ ‘ 𝑊 )  mod  ( ♯ ‘ 𝑊 ) )  =  0 ) | 
						
							| 17 | 15 16 | syl | ⊢ ( ( ∅  ≠  𝑊  ∧  𝑊  ∈  Word  𝑉 )  →  ( ( ♯ ‘ 𝑊 )  mod  ( ♯ ‘ 𝑊 ) )  =  0 ) | 
						
							| 18 | 17 | oveq2d | ⊢ ( ( ∅  ≠  𝑊  ∧  𝑊  ∈  Word  𝑉 )  →  ( 𝑊  cyclShift  ( ( ♯ ‘ 𝑊 )  mod  ( ♯ ‘ 𝑊 ) ) )  =  ( 𝑊  cyclShift  0 ) ) | 
						
							| 19 |  | cshw0 | ⊢ ( 𝑊  ∈  Word  𝑉  →  ( 𝑊  cyclShift  0 )  =  𝑊 ) | 
						
							| 20 | 19 | adantl | ⊢ ( ( ∅  ≠  𝑊  ∧  𝑊  ∈  Word  𝑉 )  →  ( 𝑊  cyclShift  0 )  =  𝑊 ) | 
						
							| 21 | 10 18 20 | 3eqtrd | ⊢ ( ( ∅  ≠  𝑊  ∧  𝑊  ∈  Word  𝑉 )  →  ( 𝑊  cyclShift  ( ♯ ‘ 𝑊 ) )  =  𝑊 ) | 
						
							| 22 | 21 | ex | ⊢ ( ∅  ≠  𝑊  →  ( 𝑊  ∈  Word  𝑉  →  ( 𝑊  cyclShift  ( ♯ ‘ 𝑊 ) )  =  𝑊 ) ) | 
						
							| 23 | 5 22 | pm2.61ine | ⊢ ( 𝑊  ∈  Word  𝑉  →  ( 𝑊  cyclShift  ( ♯ ‘ 𝑊 ) )  =  𝑊 ) |