| Step | Hyp | Ref | Expression | 
|---|
| 1 |  | nnnn0 12533 | . . . . . . . 8
⊢ (𝑁 ∈ ℕ → 𝑁 ∈
ℕ0) | 
| 2 |  | repsdf2 14816 | . . . . . . . 8
⊢ ((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ0) → (𝑊 = (𝐴 repeatS 𝑁) ↔ (𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) = 𝑁 ∧ ∀𝑖 ∈ (0..^𝑁)(𝑊‘𝑖) = 𝐴))) | 
| 3 | 1, 2 | sylan2 593 | . . . . . . 7
⊢ ((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ) → (𝑊 = (𝐴 repeatS 𝑁) ↔ (𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) = 𝑁 ∧ ∀𝑖 ∈ (0..^𝑁)(𝑊‘𝑖) = 𝐴))) | 
| 4 |  | simp1 1137 | . . . . . . . . . 10
⊢ ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) = 𝑁 ∧ ∀𝑖 ∈ (0..^𝑁)(𝑊‘𝑖) = 𝐴) → 𝑊 ∈ Word 𝑉) | 
| 5 | 4 | adantl 481 | . . . . . . . . 9
⊢ (((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ) ∧ (𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) = 𝑁 ∧ ∀𝑖 ∈ (0..^𝑁)(𝑊‘𝑖) = 𝐴)) → 𝑊 ∈ Word 𝑉) | 
| 6 |  | eleq1 2829 | . . . . . . . . . . . . . . . 16
⊢ (𝑁 = (♯‘𝑊) → (𝑁 ∈ ℕ ↔ (♯‘𝑊) ∈
ℕ)) | 
| 7 | 6 | eqcoms 2745 | . . . . . . . . . . . . . . 15
⊢
((♯‘𝑊) =
𝑁 → (𝑁 ∈ ℕ ↔ (♯‘𝑊) ∈
ℕ)) | 
| 8 |  | lbfzo0 13739 | . . . . . . . . . . . . . . . 16
⊢ (0 ∈
(0..^(♯‘𝑊))
↔ (♯‘𝑊)
∈ ℕ) | 
| 9 | 8 | biimpri 228 | . . . . . . . . . . . . . . 15
⊢
((♯‘𝑊)
∈ ℕ → 0 ∈ (0..^(♯‘𝑊))) | 
| 10 | 7, 9 | biimtrdi 253 | . . . . . . . . . . . . . 14
⊢
((♯‘𝑊) =
𝑁 → (𝑁 ∈ ℕ → 0 ∈
(0..^(♯‘𝑊)))) | 
| 11 | 10 | 3ad2ant2 1135 | . . . . . . . . . . . . 13
⊢ ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) = 𝑁 ∧ ∀𝑖 ∈ (0..^𝑁)(𝑊‘𝑖) = 𝐴) → (𝑁 ∈ ℕ → 0 ∈
(0..^(♯‘𝑊)))) | 
| 12 | 11 | com12 32 | . . . . . . . . . . . 12
⊢ (𝑁 ∈ ℕ → ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) = 𝑁 ∧ ∀𝑖 ∈ (0..^𝑁)(𝑊‘𝑖) = 𝐴) → 0 ∈ (0..^(♯‘𝑊)))) | 
| 13 | 12 | adantl 481 | . . . . . . . . . . 11
⊢ ((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ) → ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) = 𝑁 ∧ ∀𝑖 ∈ (0..^𝑁)(𝑊‘𝑖) = 𝐴) → 0 ∈ (0..^(♯‘𝑊)))) | 
| 14 | 13 | imp 406 | . . . . . . . . . 10
⊢ (((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ) ∧ (𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) = 𝑁 ∧ ∀𝑖 ∈ (0..^𝑁)(𝑊‘𝑖) = 𝐴)) → 0 ∈ (0..^(♯‘𝑊))) | 
| 15 |  | cshw0 14832 | . . . . . . . . . . 11
⊢ (𝑊 ∈ Word 𝑉 → (𝑊 cyclShift 0) = 𝑊) | 
| 16 | 5, 15 | syl 17 | . . . . . . . . . 10
⊢ (((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ) ∧ (𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) = 𝑁 ∧ ∀𝑖 ∈ (0..^𝑁)(𝑊‘𝑖) = 𝐴)) → (𝑊 cyclShift 0) = 𝑊) | 
| 17 |  | oveq2 7439 | . . . . . . . . . . . 12
⊢ (𝑛 = 0 → (𝑊 cyclShift 𝑛) = (𝑊 cyclShift 0)) | 
| 18 | 17 | eqeq1d 2739 | . . . . . . . . . . 11
⊢ (𝑛 = 0 → ((𝑊 cyclShift 𝑛) = 𝑊 ↔ (𝑊 cyclShift 0) = 𝑊)) | 
| 19 | 18 | rspcev 3622 | . . . . . . . . . 10
⊢ ((0
∈ (0..^(♯‘𝑊)) ∧ (𝑊 cyclShift 0) = 𝑊) → ∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑊) | 
| 20 | 14, 16, 19 | syl2anc 584 | . . . . . . . . 9
⊢ (((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ) ∧ (𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) = 𝑁 ∧ ∀𝑖 ∈ (0..^𝑁)(𝑊‘𝑖) = 𝐴)) → ∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑊) | 
| 21 |  | eqeq2 2749 | . . . . . . . . . . 11
⊢ (𝑤 = 𝑊 → ((𝑊 cyclShift 𝑛) = 𝑤 ↔ (𝑊 cyclShift 𝑛) = 𝑊)) | 
| 22 | 21 | rexbidv 3179 | . . . . . . . . . 10
⊢ (𝑤 = 𝑊 → (∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑤 ↔ ∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑊)) | 
| 23 | 22 | rspcev 3622 | . . . . . . . . 9
⊢ ((𝑊 ∈ Word 𝑉 ∧ ∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑊) → ∃𝑤 ∈ Word 𝑉∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑤) | 
| 24 | 5, 20, 23 | syl2anc 584 | . . . . . . . 8
⊢ (((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ) ∧ (𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) = 𝑁 ∧ ∀𝑖 ∈ (0..^𝑁)(𝑊‘𝑖) = 𝐴)) → ∃𝑤 ∈ Word 𝑉∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑤) | 
| 25 | 24 | ex 412 | . . . . . . 7
⊢ ((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ) → ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) = 𝑁 ∧ ∀𝑖 ∈ (0..^𝑁)(𝑊‘𝑖) = 𝐴) → ∃𝑤 ∈ Word 𝑉∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑤)) | 
| 26 | 3, 25 | sylbid 240 | . . . . . 6
⊢ ((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ) → (𝑊 = (𝐴 repeatS 𝑁) → ∃𝑤 ∈ Word 𝑉∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑤)) | 
| 27 | 26 | 3impia 1118 | . . . . 5
⊢ ((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ ∧ 𝑊 = (𝐴 repeatS 𝑁)) → ∃𝑤 ∈ Word 𝑉∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑤) | 
| 28 |  | repsw 14813 | . . . . . . . 8
⊢ ((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ0) → (𝐴 repeatS 𝑁) ∈ Word 𝑉) | 
| 29 | 1, 28 | sylan2 593 | . . . . . . 7
⊢ ((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ) → (𝐴 repeatS 𝑁) ∈ Word 𝑉) | 
| 30 | 29 | 3adant3 1133 | . . . . . 6
⊢ ((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ ∧ 𝑊 = (𝐴 repeatS 𝑁)) → (𝐴 repeatS 𝑁) ∈ Word 𝑉) | 
| 31 |  | simpll3 1215 | . . . . . . . . . . . 12
⊢ ((((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ ∧ 𝑊 = (𝐴 repeatS 𝑁)) ∧ 𝑢 ∈ Word 𝑉) ∧ 𝑛 ∈ (0..^(♯‘𝑊))) → 𝑊 = (𝐴 repeatS 𝑁)) | 
| 32 | 31 | oveq1d 7446 | . . . . . . . . . . 11
⊢ ((((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ ∧ 𝑊 = (𝐴 repeatS 𝑁)) ∧ 𝑢 ∈ Word 𝑉) ∧ 𝑛 ∈ (0..^(♯‘𝑊))) → (𝑊 cyclShift 𝑛) = ((𝐴 repeatS 𝑁) cyclShift 𝑛)) | 
| 33 |  | simp1 1137 | . . . . . . . . . . . . 13
⊢ ((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ ∧ 𝑊 = (𝐴 repeatS 𝑁)) → 𝐴 ∈ 𝑉) | 
| 34 | 33 | ad2antrr 726 | . . . . . . . . . . . 12
⊢ ((((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ ∧ 𝑊 = (𝐴 repeatS 𝑁)) ∧ 𝑢 ∈ Word 𝑉) ∧ 𝑛 ∈ (0..^(♯‘𝑊))) → 𝐴 ∈ 𝑉) | 
| 35 | 1 | 3ad2ant2 1135 | . . . . . . . . . . . . 13
⊢ ((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ ∧ 𝑊 = (𝐴 repeatS 𝑁)) → 𝑁 ∈
ℕ0) | 
| 36 | 35 | ad2antrr 726 | . . . . . . . . . . . 12
⊢ ((((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ ∧ 𝑊 = (𝐴 repeatS 𝑁)) ∧ 𝑢 ∈ Word 𝑉) ∧ 𝑛 ∈ (0..^(♯‘𝑊))) → 𝑁 ∈
ℕ0) | 
| 37 |  | elfzoelz 13699 | . . . . . . . . . . . . 13
⊢ (𝑛 ∈
(0..^(♯‘𝑊))
→ 𝑛 ∈
ℤ) | 
| 38 | 37 | adantl 481 | . . . . . . . . . . . 12
⊢ ((((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ ∧ 𝑊 = (𝐴 repeatS 𝑁)) ∧ 𝑢 ∈ Word 𝑉) ∧ 𝑛 ∈ (0..^(♯‘𝑊))) → 𝑛 ∈ ℤ) | 
| 39 |  | repswcshw 14850 | . . . . . . . . . . . 12
⊢ ((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ0 ∧ 𝑛 ∈ ℤ) → ((𝐴 repeatS 𝑁) cyclShift 𝑛) = (𝐴 repeatS 𝑁)) | 
| 40 | 34, 36, 38, 39 | syl3anc 1373 | . . . . . . . . . . 11
⊢ ((((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ ∧ 𝑊 = (𝐴 repeatS 𝑁)) ∧ 𝑢 ∈ Word 𝑉) ∧ 𝑛 ∈ (0..^(♯‘𝑊))) → ((𝐴 repeatS 𝑁) cyclShift 𝑛) = (𝐴 repeatS 𝑁)) | 
| 41 | 32, 40 | eqtrd 2777 | . . . . . . . . . 10
⊢ ((((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ ∧ 𝑊 = (𝐴 repeatS 𝑁)) ∧ 𝑢 ∈ Word 𝑉) ∧ 𝑛 ∈ (0..^(♯‘𝑊))) → (𝑊 cyclShift 𝑛) = (𝐴 repeatS 𝑁)) | 
| 42 | 41 | eqeq1d 2739 | . . . . . . . . 9
⊢ ((((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ ∧ 𝑊 = (𝐴 repeatS 𝑁)) ∧ 𝑢 ∈ Word 𝑉) ∧ 𝑛 ∈ (0..^(♯‘𝑊))) → ((𝑊 cyclShift 𝑛) = 𝑢 ↔ (𝐴 repeatS 𝑁) = 𝑢)) | 
| 43 | 42 | biimpd 229 | . . . . . . . 8
⊢ ((((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ ∧ 𝑊 = (𝐴 repeatS 𝑁)) ∧ 𝑢 ∈ Word 𝑉) ∧ 𝑛 ∈ (0..^(♯‘𝑊))) → ((𝑊 cyclShift 𝑛) = 𝑢 → (𝐴 repeatS 𝑁) = 𝑢)) | 
| 44 | 43 | rexlimdva 3155 | . . . . . . 7
⊢ (((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ ∧ 𝑊 = (𝐴 repeatS 𝑁)) ∧ 𝑢 ∈ Word 𝑉) → (∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑢 → (𝐴 repeatS 𝑁) = 𝑢)) | 
| 45 | 44 | ralrimiva 3146 | . . . . . 6
⊢ ((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ ∧ 𝑊 = (𝐴 repeatS 𝑁)) → ∀𝑢 ∈ Word 𝑉(∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑢 → (𝐴 repeatS 𝑁) = 𝑢)) | 
| 46 |  | eqeq1 2741 | . . . . . . . . 9
⊢ (𝑤 = (𝐴 repeatS 𝑁) → (𝑤 = 𝑢 ↔ (𝐴 repeatS 𝑁) = 𝑢)) | 
| 47 | 46 | imbi2d 340 | . . . . . . . 8
⊢ (𝑤 = (𝐴 repeatS 𝑁) → ((∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑢 → 𝑤 = 𝑢) ↔ (∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑢 → (𝐴 repeatS 𝑁) = 𝑢))) | 
| 48 | 47 | ralbidv 3178 | . . . . . . 7
⊢ (𝑤 = (𝐴 repeatS 𝑁) → (∀𝑢 ∈ Word 𝑉(∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑢 → 𝑤 = 𝑢) ↔ ∀𝑢 ∈ Word 𝑉(∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑢 → (𝐴 repeatS 𝑁) = 𝑢))) | 
| 49 | 48 | rspcev 3622 | . . . . . 6
⊢ (((𝐴 repeatS 𝑁) ∈ Word 𝑉 ∧ ∀𝑢 ∈ Word 𝑉(∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑢 → (𝐴 repeatS 𝑁) = 𝑢)) → ∃𝑤 ∈ Word 𝑉∀𝑢 ∈ Word 𝑉(∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑢 → 𝑤 = 𝑢)) | 
| 50 | 30, 45, 49 | syl2anc 584 | . . . . 5
⊢ ((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ ∧ 𝑊 = (𝐴 repeatS 𝑁)) → ∃𝑤 ∈ Word 𝑉∀𝑢 ∈ Word 𝑉(∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑢 → 𝑤 = 𝑢)) | 
| 51 |  | eqeq2 2749 | . . . . . . 7
⊢ (𝑤 = 𝑢 → ((𝑊 cyclShift 𝑛) = 𝑤 ↔ (𝑊 cyclShift 𝑛) = 𝑢)) | 
| 52 | 51 | rexbidv 3179 | . . . . . 6
⊢ (𝑤 = 𝑢 → (∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑤 ↔ ∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑢)) | 
| 53 | 52 | reu7 3738 | . . . . 5
⊢
(∃!𝑤 ∈
Word 𝑉∃𝑛 ∈
(0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑤 ↔ (∃𝑤 ∈ Word 𝑉∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑤 ∧ ∃𝑤 ∈ Word 𝑉∀𝑢 ∈ Word 𝑉(∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑢 → 𝑤 = 𝑢))) | 
| 54 | 27, 50, 53 | sylanbrc 583 | . . . 4
⊢ ((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ ∧ 𝑊 = (𝐴 repeatS 𝑁)) → ∃!𝑤 ∈ Word 𝑉∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑤) | 
| 55 |  | reusn 4727 | . . . 4
⊢
(∃!𝑤 ∈
Word 𝑉∃𝑛 ∈
(0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑤 ↔ ∃𝑟{𝑤 ∈ Word 𝑉 ∣ ∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑤} = {𝑟}) | 
| 56 | 54, 55 | sylib 218 | . . 3
⊢ ((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ ∧ 𝑊 = (𝐴 repeatS 𝑁)) → ∃𝑟{𝑤 ∈ Word 𝑉 ∣ ∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑤} = {𝑟}) | 
| 57 |  | cshwrepswhash1.m | . . . . 5
⊢ 𝑀 = {𝑤 ∈ Word 𝑉 ∣ ∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑤} | 
| 58 | 57 | eqeq1i 2742 | . . . 4
⊢ (𝑀 = {𝑟} ↔ {𝑤 ∈ Word 𝑉 ∣ ∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑤} = {𝑟}) | 
| 59 | 58 | exbii 1848 | . . 3
⊢
(∃𝑟 𝑀 = {𝑟} ↔ ∃𝑟{𝑤 ∈ Word 𝑉 ∣ ∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑤} = {𝑟}) | 
| 60 | 56, 59 | sylibr 234 | . 2
⊢ ((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ ∧ 𝑊 = (𝐴 repeatS 𝑁)) → ∃𝑟 𝑀 = {𝑟}) | 
| 61 | 57 | cshwsex 17138 | . . . . . 6
⊢ (𝑊 ∈ Word 𝑉 → 𝑀 ∈ V) | 
| 62 | 61 | 3ad2ant1 1134 | . . . . 5
⊢ ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) = 𝑁 ∧ ∀𝑖 ∈ (0..^𝑁)(𝑊‘𝑖) = 𝐴) → 𝑀 ∈ V) | 
| 63 | 3, 62 | biimtrdi 253 | . . . 4
⊢ ((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ) → (𝑊 = (𝐴 repeatS 𝑁) → 𝑀 ∈ V)) | 
| 64 | 63 | 3impia 1118 | . . 3
⊢ ((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ ∧ 𝑊 = (𝐴 repeatS 𝑁)) → 𝑀 ∈ V) | 
| 65 |  | hash1snb 14458 | . . 3
⊢ (𝑀 ∈ V →
((♯‘𝑀) = 1
↔ ∃𝑟 𝑀 = {𝑟})) | 
| 66 | 64, 65 | syl 17 | . 2
⊢ ((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ ∧ 𝑊 = (𝐴 repeatS 𝑁)) → ((♯‘𝑀) = 1 ↔ ∃𝑟 𝑀 = {𝑟})) | 
| 67 | 60, 66 | mpbird 257 | 1
⊢ ((𝐴 ∈ 𝑉 ∧ 𝑁 ∈ ℕ ∧ 𝑊 = (𝐴 repeatS 𝑁)) → (♯‘𝑀) = 1) |