Proof of Theorem cshwidxm1
| Step | Hyp | Ref
| Expression |
| 1 | | simpl 482 |
. . 3
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (0..^(♯‘𝑊))) → 𝑊 ∈ Word 𝑉) |
| 2 | | elfzoelz 13681 |
. . . 4
⊢ (𝑁 ∈
(0..^(♯‘𝑊))
→ 𝑁 ∈
ℤ) |
| 3 | 2 | adantl 481 |
. . 3
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (0..^(♯‘𝑊))) → 𝑁 ∈ ℤ) |
| 4 | | ubmelm1fzo 13784 |
. . . 4
⊢ (𝑁 ∈
(0..^(♯‘𝑊))
→ (((♯‘𝑊)
− 𝑁) − 1)
∈ (0..^(♯‘𝑊))) |
| 5 | 4 | adantl 481 |
. . 3
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (0..^(♯‘𝑊))) →
(((♯‘𝑊) −
𝑁) − 1) ∈
(0..^(♯‘𝑊))) |
| 6 | | cshwidxmod 14826 |
. . 3
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ ℤ ∧ (((♯‘𝑊) − 𝑁) − 1) ∈
(0..^(♯‘𝑊)))
→ ((𝑊 cyclShift 𝑁)‘(((♯‘𝑊) − 𝑁) − 1)) = (𝑊‘(((((♯‘𝑊) − 𝑁) − 1) + 𝑁) mod (♯‘𝑊)))) |
| 7 | 1, 3, 5, 6 | syl3anc 1373 |
. 2
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (0..^(♯‘𝑊))) → ((𝑊 cyclShift 𝑁)‘(((♯‘𝑊) − 𝑁) − 1)) = (𝑊‘(((((♯‘𝑊) − 𝑁) − 1) + 𝑁) mod (♯‘𝑊)))) |
| 8 | | elfzoel2 13680 |
. . . . . . . 8
⊢ (𝑁 ∈
(0..^(♯‘𝑊))
→ (♯‘𝑊)
∈ ℤ) |
| 9 | 8 | zcnd 12703 |
. . . . . . 7
⊢ (𝑁 ∈
(0..^(♯‘𝑊))
→ (♯‘𝑊)
∈ ℂ) |
| 10 | 2 | zcnd 12703 |
. . . . . . 7
⊢ (𝑁 ∈
(0..^(♯‘𝑊))
→ 𝑁 ∈
ℂ) |
| 11 | | 1cnd 11235 |
. . . . . . 7
⊢ (𝑁 ∈
(0..^(♯‘𝑊))
→ 1 ∈ ℂ) |
| 12 | | nnpcan 11511 |
. . . . . . 7
⊢
(((♯‘𝑊)
∈ ℂ ∧ 𝑁
∈ ℂ ∧ 1 ∈ ℂ) → ((((♯‘𝑊) − 𝑁) − 1) + 𝑁) = ((♯‘𝑊) − 1)) |
| 13 | 9, 10, 11, 12 | syl3anc 1373 |
. . . . . 6
⊢ (𝑁 ∈
(0..^(♯‘𝑊))
→ ((((♯‘𝑊)
− 𝑁) − 1) +
𝑁) = ((♯‘𝑊) − 1)) |
| 14 | 13 | oveq1d 7425 |
. . . . 5
⊢ (𝑁 ∈
(0..^(♯‘𝑊))
→ (((((♯‘𝑊) − 𝑁) − 1) + 𝑁) mod (♯‘𝑊)) = (((♯‘𝑊) − 1) mod (♯‘𝑊))) |
| 15 | 14 | adantl 481 |
. . . 4
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (0..^(♯‘𝑊))) →
(((((♯‘𝑊)
− 𝑁) − 1) +
𝑁) mod (♯‘𝑊)) = (((♯‘𝑊) − 1) mod
(♯‘𝑊))) |
| 16 | | elfzo0 13722 |
. . . . . . . 8
⊢ (𝑁 ∈
(0..^(♯‘𝑊))
↔ (𝑁 ∈
ℕ0 ∧ (♯‘𝑊) ∈ ℕ ∧ 𝑁 < (♯‘𝑊))) |
| 17 | | nnre 12252 |
. . . . . . . . . . 11
⊢
((♯‘𝑊)
∈ ℕ → (♯‘𝑊) ∈ ℝ) |
| 18 | | peano2rem 11555 |
. . . . . . . . . . 11
⊢
((♯‘𝑊)
∈ ℝ → ((♯‘𝑊) − 1) ∈
ℝ) |
| 19 | 17, 18 | syl 17 |
. . . . . . . . . 10
⊢
((♯‘𝑊)
∈ ℕ → ((♯‘𝑊) − 1) ∈
ℝ) |
| 20 | | nnrp 13025 |
. . . . . . . . . 10
⊢
((♯‘𝑊)
∈ ℕ → (♯‘𝑊) ∈
ℝ+) |
| 21 | 19, 20 | jca 511 |
. . . . . . . . 9
⊢
((♯‘𝑊)
∈ ℕ → (((♯‘𝑊) − 1) ∈ ℝ ∧
(♯‘𝑊) ∈
ℝ+)) |
| 22 | 21 | 3ad2ant2 1134 |
. . . . . . . 8
⊢ ((𝑁 ∈ ℕ0
∧ (♯‘𝑊)
∈ ℕ ∧ 𝑁 <
(♯‘𝑊)) →
(((♯‘𝑊) −
1) ∈ ℝ ∧ (♯‘𝑊) ∈
ℝ+)) |
| 23 | 16, 22 | sylbi 217 |
. . . . . . 7
⊢ (𝑁 ∈
(0..^(♯‘𝑊))
→ (((♯‘𝑊)
− 1) ∈ ℝ ∧ (♯‘𝑊) ∈
ℝ+)) |
| 24 | | nnm1ge0 12666 |
. . . . . . . . 9
⊢
((♯‘𝑊)
∈ ℕ → 0 ≤ ((♯‘𝑊) − 1)) |
| 25 | 24 | 3ad2ant2 1134 |
. . . . . . . 8
⊢ ((𝑁 ∈ ℕ0
∧ (♯‘𝑊)
∈ ℕ ∧ 𝑁 <
(♯‘𝑊)) → 0
≤ ((♯‘𝑊)
− 1)) |
| 26 | 16, 25 | sylbi 217 |
. . . . . . 7
⊢ (𝑁 ∈
(0..^(♯‘𝑊))
→ 0 ≤ ((♯‘𝑊) − 1)) |
| 27 | | zre 12597 |
. . . . . . . . 9
⊢
((♯‘𝑊)
∈ ℤ → (♯‘𝑊) ∈ ℝ) |
| 28 | 27 | ltm1d 12179 |
. . . . . . . 8
⊢
((♯‘𝑊)
∈ ℤ → ((♯‘𝑊) − 1) < (♯‘𝑊)) |
| 29 | 8, 28 | syl 17 |
. . . . . . 7
⊢ (𝑁 ∈
(0..^(♯‘𝑊))
→ ((♯‘𝑊)
− 1) < (♯‘𝑊)) |
| 30 | 23, 26, 29 | jca32 515 |
. . . . . 6
⊢ (𝑁 ∈
(0..^(♯‘𝑊))
→ ((((♯‘𝑊)
− 1) ∈ ℝ ∧ (♯‘𝑊) ∈ ℝ+) ∧ (0 ≤
((♯‘𝑊) −
1) ∧ ((♯‘𝑊)
− 1) < (♯‘𝑊)))) |
| 31 | 30 | adantl 481 |
. . . . 5
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (0..^(♯‘𝑊))) →
((((♯‘𝑊)
− 1) ∈ ℝ ∧ (♯‘𝑊) ∈ ℝ+) ∧ (0 ≤
((♯‘𝑊) −
1) ∧ ((♯‘𝑊)
− 1) < (♯‘𝑊)))) |
| 32 | | modid 13918 |
. . . . 5
⊢
(((((♯‘𝑊) − 1) ∈ ℝ ∧
(♯‘𝑊) ∈
ℝ+) ∧ (0 ≤ ((♯‘𝑊) − 1) ∧ ((♯‘𝑊) − 1) <
(♯‘𝑊))) →
(((♯‘𝑊) −
1) mod (♯‘𝑊)) =
((♯‘𝑊) −
1)) |
| 33 | 31, 32 | syl 17 |
. . . 4
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (0..^(♯‘𝑊))) →
(((♯‘𝑊) −
1) mod (♯‘𝑊)) =
((♯‘𝑊) −
1)) |
| 34 | 15, 33 | eqtrd 2771 |
. . 3
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (0..^(♯‘𝑊))) →
(((((♯‘𝑊)
− 𝑁) − 1) +
𝑁) mod (♯‘𝑊)) = ((♯‘𝑊) − 1)) |
| 35 | 34 | fveq2d 6885 |
. 2
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (0..^(♯‘𝑊))) → (𝑊‘(((((♯‘𝑊) − 𝑁) − 1) + 𝑁) mod (♯‘𝑊))) = (𝑊‘((♯‘𝑊) − 1))) |
| 36 | 7, 35 | eqtrd 2771 |
1
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (0..^(♯‘𝑊))) → ((𝑊 cyclShift 𝑁)‘(((♯‘𝑊) − 𝑁) − 1)) = (𝑊‘((♯‘𝑊) − 1))) |