Proof of Theorem cshw1
| Step | Hyp | Ref
| Expression |
| 1 | | ral0 4493 |
. . . 4
⊢
∀𝑖 ∈
∅ (𝑊‘𝑖) = (𝑊‘0) |
| 2 | | oveq2 7418 |
. . . . . 6
⊢
((♯‘𝑊) =
0 → (0..^(♯‘𝑊)) = (0..^0)) |
| 3 | | fzo0 13705 |
. . . . . 6
⊢ (0..^0) =
∅ |
| 4 | 2, 3 | eqtrdi 2787 |
. . . . 5
⊢
((♯‘𝑊) =
0 → (0..^(♯‘𝑊)) = ∅) |
| 5 | 4 | raleqdv 3309 |
. . . 4
⊢
((♯‘𝑊) =
0 → (∀𝑖 ∈
(0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0) ↔ ∀𝑖 ∈ ∅ (𝑊‘𝑖) = (𝑊‘0))) |
| 6 | 1, 5 | mpbiri 258 |
. . 3
⊢
((♯‘𝑊) =
0 → ∀𝑖 ∈
(0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)) |
| 7 | 6 | a1d 25 |
. 2
⊢
((♯‘𝑊) =
0 → ((𝑊 ∈ Word
𝑉 ∧ (𝑊 cyclShift 1) = 𝑊) → ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0))) |
| 8 | | simprl 770 |
. . . . . . . 8
⊢ (((¬
(♯‘𝑊) = 0 ∧
¬ (♯‘𝑊) =
1) ∧ (𝑊 ∈ Word
𝑉 ∧ (𝑊 cyclShift 1) = 𝑊)) → 𝑊 ∈ Word 𝑉) |
| 9 | | lencl 14556 |
. . . . . . . . . . 11
⊢ (𝑊 ∈ Word 𝑉 → (♯‘𝑊) ∈
ℕ0) |
| 10 | | 1nn0 12522 |
. . . . . . . . . . . . . 14
⊢ 1 ∈
ℕ0 |
| 11 | 10 | a1i 11 |
. . . . . . . . . . . . 13
⊢
(((♯‘𝑊)
∈ ℕ0 ∧ (¬ (♯‘𝑊) = 0 ∧ ¬ (♯‘𝑊) = 1)) → 1 ∈
ℕ0) |
| 12 | | df-ne 2934 |
. . . . . . . . . . . . . . . 16
⊢
((♯‘𝑊)
≠ 0 ↔ ¬ (♯‘𝑊) = 0) |
| 13 | | elnnne0 12520 |
. . . . . . . . . . . . . . . . 17
⊢
((♯‘𝑊)
∈ ℕ ↔ ((♯‘𝑊) ∈ ℕ0 ∧
(♯‘𝑊) ≠
0)) |
| 14 | 13 | simplbi2com 502 |
. . . . . . . . . . . . . . . 16
⊢
((♯‘𝑊)
≠ 0 → ((♯‘𝑊) ∈ ℕ0 →
(♯‘𝑊) ∈
ℕ)) |
| 15 | 12, 14 | sylbir 235 |
. . . . . . . . . . . . . . 15
⊢ (¬
(♯‘𝑊) = 0
→ ((♯‘𝑊)
∈ ℕ0 → (♯‘𝑊) ∈ ℕ)) |
| 16 | 15 | adantr 480 |
. . . . . . . . . . . . . 14
⊢ ((¬
(♯‘𝑊) = 0 ∧
¬ (♯‘𝑊) =
1) → ((♯‘𝑊) ∈ ℕ0 →
(♯‘𝑊) ∈
ℕ)) |
| 17 | 16 | impcom 407 |
. . . . . . . . . . . . 13
⊢
(((♯‘𝑊)
∈ ℕ0 ∧ (¬ (♯‘𝑊) = 0 ∧ ¬ (♯‘𝑊) = 1)) →
(♯‘𝑊) ∈
ℕ) |
| 18 | | neqne 2941 |
. . . . . . . . . . . . . . 15
⊢ (¬
(♯‘𝑊) = 1
→ (♯‘𝑊)
≠ 1) |
| 19 | 18 | ad2antll 729 |
. . . . . . . . . . . . . 14
⊢
(((♯‘𝑊)
∈ ℕ0 ∧ (¬ (♯‘𝑊) = 0 ∧ ¬ (♯‘𝑊) = 1)) →
(♯‘𝑊) ≠
1) |
| 20 | | nngt1ne1 12274 |
. . . . . . . . . . . . . . 15
⊢
((♯‘𝑊)
∈ ℕ → (1 < (♯‘𝑊) ↔ (♯‘𝑊) ≠ 1)) |
| 21 | 17, 20 | syl 17 |
. . . . . . . . . . . . . 14
⊢
(((♯‘𝑊)
∈ ℕ0 ∧ (¬ (♯‘𝑊) = 0 ∧ ¬ (♯‘𝑊) = 1)) → (1 <
(♯‘𝑊) ↔
(♯‘𝑊) ≠
1)) |
| 22 | 19, 21 | mpbird 257 |
. . . . . . . . . . . . 13
⊢
(((♯‘𝑊)
∈ ℕ0 ∧ (¬ (♯‘𝑊) = 0 ∧ ¬ (♯‘𝑊) = 1)) → 1 <
(♯‘𝑊)) |
| 23 | | elfzo0 13722 |
. . . . . . . . . . . . 13
⊢ (1 ∈
(0..^(♯‘𝑊))
↔ (1 ∈ ℕ0 ∧ (♯‘𝑊) ∈ ℕ ∧ 1 <
(♯‘𝑊))) |
| 24 | 11, 17, 22, 23 | syl3anbrc 1344 |
. . . . . . . . . . . 12
⊢
(((♯‘𝑊)
∈ ℕ0 ∧ (¬ (♯‘𝑊) = 0 ∧ ¬ (♯‘𝑊) = 1)) → 1 ∈
(0..^(♯‘𝑊))) |
| 25 | 24 | ex 412 |
. . . . . . . . . . 11
⊢
((♯‘𝑊)
∈ ℕ0 → ((¬ (♯‘𝑊) = 0 ∧ ¬ (♯‘𝑊) = 1) → 1 ∈
(0..^(♯‘𝑊)))) |
| 26 | 9, 25 | syl 17 |
. . . . . . . . . 10
⊢ (𝑊 ∈ Word 𝑉 → ((¬ (♯‘𝑊) = 0 ∧ ¬
(♯‘𝑊) = 1)
→ 1 ∈ (0..^(♯‘𝑊)))) |
| 27 | 26 | adantr 480 |
. . . . . . . . 9
⊢ ((𝑊 ∈ Word 𝑉 ∧ (𝑊 cyclShift 1) = 𝑊) → ((¬ (♯‘𝑊) = 0 ∧ ¬
(♯‘𝑊) = 1)
→ 1 ∈ (0..^(♯‘𝑊)))) |
| 28 | 27 | impcom 407 |
. . . . . . . 8
⊢ (((¬
(♯‘𝑊) = 0 ∧
¬ (♯‘𝑊) =
1) ∧ (𝑊 ∈ Word
𝑉 ∧ (𝑊 cyclShift 1) = 𝑊)) → 1 ∈ (0..^(♯‘𝑊))) |
| 29 | | simprr 772 |
. . . . . . . 8
⊢ (((¬
(♯‘𝑊) = 0 ∧
¬ (♯‘𝑊) =
1) ∧ (𝑊 ∈ Word
𝑉 ∧ (𝑊 cyclShift 1) = 𝑊)) → (𝑊 cyclShift 1) = 𝑊) |
| 30 | | lbfzo0 13721 |
. . . . . . . . . . . . . . . 16
⊢ (0 ∈
(0..^(♯‘𝑊))
↔ (♯‘𝑊)
∈ ℕ) |
| 31 | 30, 13 | sylbbr 236 |
. . . . . . . . . . . . . . 15
⊢
(((♯‘𝑊)
∈ ℕ0 ∧ (♯‘𝑊) ≠ 0) → 0 ∈
(0..^(♯‘𝑊))) |
| 32 | 31 | ex 412 |
. . . . . . . . . . . . . 14
⊢
((♯‘𝑊)
∈ ℕ0 → ((♯‘𝑊) ≠ 0 → 0 ∈
(0..^(♯‘𝑊)))) |
| 33 | 12, 32 | biimtrrid 243 |
. . . . . . . . . . . . 13
⊢
((♯‘𝑊)
∈ ℕ0 → (¬ (♯‘𝑊) = 0 → 0 ∈
(0..^(♯‘𝑊)))) |
| 34 | 9, 33 | syl 17 |
. . . . . . . . . . . 12
⊢ (𝑊 ∈ Word 𝑉 → (¬ (♯‘𝑊) = 0 → 0 ∈
(0..^(♯‘𝑊)))) |
| 35 | 34 | adantr 480 |
. . . . . . . . . . 11
⊢ ((𝑊 ∈ Word 𝑉 ∧ (𝑊 cyclShift 1) = 𝑊) → (¬ (♯‘𝑊) = 0 → 0 ∈
(0..^(♯‘𝑊)))) |
| 36 | 35 | com12 32 |
. . . . . . . . . 10
⊢ (¬
(♯‘𝑊) = 0
→ ((𝑊 ∈ Word
𝑉 ∧ (𝑊 cyclShift 1) = 𝑊) → 0 ∈ (0..^(♯‘𝑊)))) |
| 37 | 36 | adantr 480 |
. . . . . . . . 9
⊢ ((¬
(♯‘𝑊) = 0 ∧
¬ (♯‘𝑊) =
1) → ((𝑊 ∈ Word
𝑉 ∧ (𝑊 cyclShift 1) = 𝑊) → 0 ∈ (0..^(♯‘𝑊)))) |
| 38 | 37 | imp 406 |
. . . . . . . 8
⊢ (((¬
(♯‘𝑊) = 0 ∧
¬ (♯‘𝑊) =
1) ∧ (𝑊 ∈ Word
𝑉 ∧ (𝑊 cyclShift 1) = 𝑊)) → 0 ∈ (0..^(♯‘𝑊))) |
| 39 | | elfzoelz 13681 |
. . . . . . . . . 10
⊢ (1 ∈
(0..^(♯‘𝑊))
→ 1 ∈ ℤ) |
| 40 | | cshweqrep 14844 |
. . . . . . . . . 10
⊢ ((𝑊 ∈ Word 𝑉 ∧ 1 ∈ ℤ) → (((𝑊 cyclShift 1) = 𝑊 ∧ 0 ∈
(0..^(♯‘𝑊)))
→ ∀𝑖 ∈
ℕ0 (𝑊‘0) = (𝑊‘((0 + (𝑖 · 1)) mod (♯‘𝑊))))) |
| 41 | 39, 40 | sylan2 593 |
. . . . . . . . 9
⊢ ((𝑊 ∈ Word 𝑉 ∧ 1 ∈ (0..^(♯‘𝑊))) → (((𝑊 cyclShift 1) = 𝑊 ∧ 0 ∈ (0..^(♯‘𝑊))) → ∀𝑖 ∈ ℕ0
(𝑊‘0) = (𝑊‘((0 + (𝑖 · 1)) mod (♯‘𝑊))))) |
| 42 | 41 | imp 406 |
. . . . . . . 8
⊢ (((𝑊 ∈ Word 𝑉 ∧ 1 ∈ (0..^(♯‘𝑊))) ∧ ((𝑊 cyclShift 1) = 𝑊 ∧ 0 ∈ (0..^(♯‘𝑊)))) → ∀𝑖 ∈ ℕ0
(𝑊‘0) = (𝑊‘((0 + (𝑖 · 1)) mod (♯‘𝑊)))) |
| 43 | 8, 28, 29, 38, 42 | syl22anc 838 |
. . . . . . 7
⊢ (((¬
(♯‘𝑊) = 0 ∧
¬ (♯‘𝑊) =
1) ∧ (𝑊 ∈ Word
𝑉 ∧ (𝑊 cyclShift 1) = 𝑊)) → ∀𝑖 ∈ ℕ0 (𝑊‘0) = (𝑊‘((0 + (𝑖 · 1)) mod (♯‘𝑊)))) |
| 44 | | 0nn0 12521 |
. . . . . . . . 9
⊢ 0 ∈
ℕ0 |
| 45 | | fzossnn0 13712 |
. . . . . . . . 9
⊢ (0 ∈
ℕ0 → (0..^(♯‘𝑊)) ⊆
ℕ0) |
| 46 | | ssralv 4032 |
. . . . . . . . 9
⊢
((0..^(♯‘𝑊)) ⊆ ℕ0 →
(∀𝑖 ∈
ℕ0 (𝑊‘0) = (𝑊‘((0 + (𝑖 · 1)) mod (♯‘𝑊))) → ∀𝑖 ∈
(0..^(♯‘𝑊))(𝑊‘0) = (𝑊‘((0 + (𝑖 · 1)) mod (♯‘𝑊))))) |
| 47 | 44, 45, 46 | mp2b 10 |
. . . . . . . 8
⊢
(∀𝑖 ∈
ℕ0 (𝑊‘0) = (𝑊‘((0 + (𝑖 · 1)) mod (♯‘𝑊))) → ∀𝑖 ∈
(0..^(♯‘𝑊))(𝑊‘0) = (𝑊‘((0 + (𝑖 · 1)) mod (♯‘𝑊)))) |
| 48 | | eqcom 2743 |
. . . . . . . . . 10
⊢ ((𝑊‘0) = (𝑊‘((0 + (𝑖 · 1)) mod (♯‘𝑊))) ↔ (𝑊‘((0 + (𝑖 · 1)) mod (♯‘𝑊))) = (𝑊‘0)) |
| 49 | | elfzoelz 13681 |
. . . . . . . . . . . . . . 15
⊢ (𝑖 ∈
(0..^(♯‘𝑊))
→ 𝑖 ∈
ℤ) |
| 50 | | zre 12597 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝑖 ∈ ℤ → 𝑖 ∈
ℝ) |
| 51 | | ax-1rid 11204 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝑖 ∈ ℝ → (𝑖 · 1) = 𝑖) |
| 52 | 50, 51 | syl 17 |
. . . . . . . . . . . . . . . . 17
⊢ (𝑖 ∈ ℤ → (𝑖 · 1) = 𝑖) |
| 53 | 52 | oveq2d 7426 |
. . . . . . . . . . . . . . . 16
⊢ (𝑖 ∈ ℤ → (0 +
(𝑖 · 1)) = (0 +
𝑖)) |
| 54 | | zcn 12598 |
. . . . . . . . . . . . . . . . 17
⊢ (𝑖 ∈ ℤ → 𝑖 ∈
ℂ) |
| 55 | 54 | addlidd 11441 |
. . . . . . . . . . . . . . . 16
⊢ (𝑖 ∈ ℤ → (0 +
𝑖) = 𝑖) |
| 56 | 53, 55 | eqtrd 2771 |
. . . . . . . . . . . . . . 15
⊢ (𝑖 ∈ ℤ → (0 +
(𝑖 · 1)) = 𝑖) |
| 57 | 49, 56 | syl 17 |
. . . . . . . . . . . . . 14
⊢ (𝑖 ∈
(0..^(♯‘𝑊))
→ (0 + (𝑖 · 1))
= 𝑖) |
| 58 | 57 | oveq1d 7425 |
. . . . . . . . . . . . 13
⊢ (𝑖 ∈
(0..^(♯‘𝑊))
→ ((0 + (𝑖 ·
1)) mod (♯‘𝑊))
= (𝑖 mod
(♯‘𝑊))) |
| 59 | | zmodidfzoimp 13923 |
. . . . . . . . . . . . 13
⊢ (𝑖 ∈
(0..^(♯‘𝑊))
→ (𝑖 mod
(♯‘𝑊)) = 𝑖) |
| 60 | 58, 59 | eqtrd 2771 |
. . . . . . . . . . . 12
⊢ (𝑖 ∈
(0..^(♯‘𝑊))
→ ((0 + (𝑖 ·
1)) mod (♯‘𝑊))
= 𝑖) |
| 61 | 60 | fveqeq2d 6889 |
. . . . . . . . . . 11
⊢ (𝑖 ∈
(0..^(♯‘𝑊))
→ ((𝑊‘((0 +
(𝑖 · 1)) mod
(♯‘𝑊))) =
(𝑊‘0) ↔ (𝑊‘𝑖) = (𝑊‘0))) |
| 62 | 61 | biimpd 229 |
. . . . . . . . . 10
⊢ (𝑖 ∈
(0..^(♯‘𝑊))
→ ((𝑊‘((0 +
(𝑖 · 1)) mod
(♯‘𝑊))) =
(𝑊‘0) → (𝑊‘𝑖) = (𝑊‘0))) |
| 63 | 48, 62 | biimtrid 242 |
. . . . . . . . 9
⊢ (𝑖 ∈
(0..^(♯‘𝑊))
→ ((𝑊‘0) =
(𝑊‘((0 + (𝑖 · 1)) mod
(♯‘𝑊))) →
(𝑊‘𝑖) = (𝑊‘0))) |
| 64 | 63 | ralimia 3071 |
. . . . . . . 8
⊢
(∀𝑖 ∈
(0..^(♯‘𝑊))(𝑊‘0) = (𝑊‘((0 + (𝑖 · 1)) mod (♯‘𝑊))) → ∀𝑖 ∈
(0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)) |
| 65 | 47, 64 | syl 17 |
. . . . . . 7
⊢
(∀𝑖 ∈
ℕ0 (𝑊‘0) = (𝑊‘((0 + (𝑖 · 1)) mod (♯‘𝑊))) → ∀𝑖 ∈
(0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)) |
| 66 | 43, 65 | syl 17 |
. . . . . 6
⊢ (((¬
(♯‘𝑊) = 0 ∧
¬ (♯‘𝑊) =
1) ∧ (𝑊 ∈ Word
𝑉 ∧ (𝑊 cyclShift 1) = 𝑊)) → ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)) |
| 67 | 66 | ex 412 |
. . . . 5
⊢ ((¬
(♯‘𝑊) = 0 ∧
¬ (♯‘𝑊) =
1) → ((𝑊 ∈ Word
𝑉 ∧ (𝑊 cyclShift 1) = 𝑊) → ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0))) |
| 68 | 67 | impancom 451 |
. . . 4
⊢ ((¬
(♯‘𝑊) = 0 ∧
(𝑊 ∈ Word 𝑉 ∧ (𝑊 cyclShift 1) = 𝑊)) → (¬ (♯‘𝑊) = 1 → ∀𝑖 ∈
(0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0))) |
| 69 | | eqid 2736 |
. . . . . 6
⊢ (𝑊‘0) = (𝑊‘0) |
| 70 | | c0ex 11234 |
. . . . . . 7
⊢ 0 ∈
V |
| 71 | | fveqeq2 6890 |
. . . . . . 7
⊢ (𝑖 = 0 → ((𝑊‘𝑖) = (𝑊‘0) ↔ (𝑊‘0) = (𝑊‘0))) |
| 72 | 70, 71 | ralsn 4662 |
. . . . . 6
⊢
(∀𝑖 ∈
{0} (𝑊‘𝑖) = (𝑊‘0) ↔ (𝑊‘0) = (𝑊‘0)) |
| 73 | 69, 72 | mpbir 231 |
. . . . 5
⊢
∀𝑖 ∈ {0}
(𝑊‘𝑖) = (𝑊‘0) |
| 74 | | oveq2 7418 |
. . . . . . 7
⊢
((♯‘𝑊) =
1 → (0..^(♯‘𝑊)) = (0..^1)) |
| 75 | | fzo01 13768 |
. . . . . . 7
⊢ (0..^1) =
{0} |
| 76 | 74, 75 | eqtrdi 2787 |
. . . . . 6
⊢
((♯‘𝑊) =
1 → (0..^(♯‘𝑊)) = {0}) |
| 77 | 76 | raleqdv 3309 |
. . . . 5
⊢
((♯‘𝑊) =
1 → (∀𝑖 ∈
(0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0) ↔ ∀𝑖 ∈ {0} (𝑊‘𝑖) = (𝑊‘0))) |
| 78 | 73, 77 | mpbiri 258 |
. . . 4
⊢
((♯‘𝑊) =
1 → ∀𝑖 ∈
(0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)) |
| 79 | 68, 78 | pm2.61d2 181 |
. . 3
⊢ ((¬
(♯‘𝑊) = 0 ∧
(𝑊 ∈ Word 𝑉 ∧ (𝑊 cyclShift 1) = 𝑊)) → ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)) |
| 80 | 79 | ex 412 |
. 2
⊢ (¬
(♯‘𝑊) = 0
→ ((𝑊 ∈ Word
𝑉 ∧ (𝑊 cyclShift 1) = 𝑊) → ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0))) |
| 81 | 7, 80 | pm2.61i 182 |
1
⊢ ((𝑊 ∈ Word 𝑉 ∧ (𝑊 cyclShift 1) = 𝑊) → ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)) |