Step |
Hyp |
Ref |
Expression |
1 |
|
lencl |
⊢ ( 𝑊 ∈ Word 𝑉 → ( ♯ ‘ 𝑊 ) ∈ ℕ0 ) |
2 |
1
|
nn0zd |
⊢ ( 𝑊 ∈ Word 𝑉 → ( ♯ ‘ 𝑊 ) ∈ ℤ ) |
3 |
|
zsubcl |
⊢ ( ( ( ♯ ‘ 𝑊 ) ∈ ℤ ∧ 𝑁 ∈ ℤ ) → ( ( ♯ ‘ 𝑊 ) − 𝑁 ) ∈ ℤ ) |
4 |
2 3
|
sylan |
⊢ ( ( 𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ ℤ ) → ( ( ♯ ‘ 𝑊 ) − 𝑁 ) ∈ ℤ ) |
5 |
|
2cshw |
⊢ ( ( 𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ ℤ ∧ ( ( ♯ ‘ 𝑊 ) − 𝑁 ) ∈ ℤ ) → ( ( 𝑊 cyclShift 𝑁 ) cyclShift ( ( ♯ ‘ 𝑊 ) − 𝑁 ) ) = ( 𝑊 cyclShift ( 𝑁 + ( ( ♯ ‘ 𝑊 ) − 𝑁 ) ) ) ) |
6 |
4 5
|
mpd3an3 |
⊢ ( ( 𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ ℤ ) → ( ( 𝑊 cyclShift 𝑁 ) cyclShift ( ( ♯ ‘ 𝑊 ) − 𝑁 ) ) = ( 𝑊 cyclShift ( 𝑁 + ( ( ♯ ‘ 𝑊 ) − 𝑁 ) ) ) ) |
7 |
|
zcn |
⊢ ( 𝑁 ∈ ℤ → 𝑁 ∈ ℂ ) |
8 |
1
|
nn0cnd |
⊢ ( 𝑊 ∈ Word 𝑉 → ( ♯ ‘ 𝑊 ) ∈ ℂ ) |
9 |
|
pncan3 |
⊢ ( ( 𝑁 ∈ ℂ ∧ ( ♯ ‘ 𝑊 ) ∈ ℂ ) → ( 𝑁 + ( ( ♯ ‘ 𝑊 ) − 𝑁 ) ) = ( ♯ ‘ 𝑊 ) ) |
10 |
7 8 9
|
syl2anr |
⊢ ( ( 𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ ℤ ) → ( 𝑁 + ( ( ♯ ‘ 𝑊 ) − 𝑁 ) ) = ( ♯ ‘ 𝑊 ) ) |
11 |
10
|
oveq2d |
⊢ ( ( 𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ ℤ ) → ( 𝑊 cyclShift ( 𝑁 + ( ( ♯ ‘ 𝑊 ) − 𝑁 ) ) ) = ( 𝑊 cyclShift ( ♯ ‘ 𝑊 ) ) ) |
12 |
|
cshwn |
⊢ ( 𝑊 ∈ Word 𝑉 → ( 𝑊 cyclShift ( ♯ ‘ 𝑊 ) ) = 𝑊 ) |
13 |
12
|
adantr |
⊢ ( ( 𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ ℤ ) → ( 𝑊 cyclShift ( ♯ ‘ 𝑊 ) ) = 𝑊 ) |
14 |
6 11 13
|
3eqtrd |
⊢ ( ( 𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ ℤ ) → ( ( 𝑊 cyclShift 𝑁 ) cyclShift ( ( ♯ ‘ 𝑊 ) − 𝑁 ) ) = 𝑊 ) |