| Step | Hyp | Ref | Expression | 
|---|
| 1 |  | cshimadifsn 14869 | . 2
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (𝐹 “ ((0..^𝑁) ∖ {𝐽})) = ((𝐹 cyclShift 𝐽) “ (1..^𝑁))) | 
| 2 |  | elfzoel2 13699 | . . . . . . . 8
⊢ (𝐽 ∈ (0..^𝑁) → 𝑁 ∈ ℤ) | 
| 3 |  | elfzom1elp1fzo1 13807 | . . . . . . . . 9
⊢ ((𝑁 ∈ ℤ ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → (𝑦 + 1) ∈ (1..^𝑁)) | 
| 4 | 3 | ex 412 | . . . . . . . 8
⊢ (𝑁 ∈ ℤ → (𝑦 ∈ (0..^(𝑁 − 1)) → (𝑦 + 1) ∈ (1..^𝑁))) | 
| 5 | 2, 4 | syl 17 | . . . . . . 7
⊢ (𝐽 ∈ (0..^𝑁) → (𝑦 ∈ (0..^(𝑁 − 1)) → (𝑦 + 1) ∈ (1..^𝑁))) | 
| 6 | 5 | 3ad2ant3 1135 | . . . . . 6
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (𝑦 ∈ (0..^(𝑁 − 1)) → (𝑦 + 1) ∈ (1..^𝑁))) | 
| 7 | 6 | imp 406 | . . . . 5
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → (𝑦 + 1) ∈ (1..^𝑁)) | 
| 8 |  | elfzo1elm1fzo0 13808 | . . . . . . 7
⊢ (𝑥 ∈ (1..^𝑁) → (𝑥 − 1) ∈ (0..^(𝑁 − 1))) | 
| 9 | 8 | adantl 481 | . . . . . 6
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑥 ∈ (1..^𝑁)) → (𝑥 − 1) ∈ (0..^(𝑁 − 1))) | 
| 10 |  | oveq1 7439 | . . . . . . . 8
⊢ (𝑦 = (𝑥 − 1) → (𝑦 + 1) = ((𝑥 − 1) + 1)) | 
| 11 | 10 | eqeq2d 2747 | . . . . . . 7
⊢ (𝑦 = (𝑥 − 1) → (𝑥 = (𝑦 + 1) ↔ 𝑥 = ((𝑥 − 1) + 1))) | 
| 12 | 11 | adantl 481 | . . . . . 6
⊢ ((((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑥 ∈ (1..^𝑁)) ∧ 𝑦 = (𝑥 − 1)) → (𝑥 = (𝑦 + 1) ↔ 𝑥 = ((𝑥 − 1) + 1))) | 
| 13 |  | elfzoelz 13700 | . . . . . . . . . 10
⊢ (𝑥 ∈ (1..^𝑁) → 𝑥 ∈ ℤ) | 
| 14 | 13 | zcnd 12725 | . . . . . . . . 9
⊢ (𝑥 ∈ (1..^𝑁) → 𝑥 ∈ ℂ) | 
| 15 |  | npcan1 11689 | . . . . . . . . 9
⊢ (𝑥 ∈ ℂ → ((𝑥 − 1) + 1) = 𝑥) | 
| 16 | 14, 15 | syl 17 | . . . . . . . 8
⊢ (𝑥 ∈ (1..^𝑁) → ((𝑥 − 1) + 1) = 𝑥) | 
| 17 | 16 | eqcomd 2742 | . . . . . . 7
⊢ (𝑥 ∈ (1..^𝑁) → 𝑥 = ((𝑥 − 1) + 1)) | 
| 18 | 17 | adantl 481 | . . . . . 6
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑥 ∈ (1..^𝑁)) → 𝑥 = ((𝑥 − 1) + 1)) | 
| 19 | 9, 12, 18 | rspcedvd 3623 | . . . . 5
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑥 ∈ (1..^𝑁)) → ∃𝑦 ∈ (0..^(𝑁 − 1))𝑥 = (𝑦 + 1)) | 
| 20 |  | fveq2 6905 | . . . . . . . 8
⊢ (𝑥 = (𝑦 + 1) → ((𝐹 cyclShift 𝐽)‘𝑥) = ((𝐹 cyclShift 𝐽)‘(𝑦 + 1))) | 
| 21 | 20 | 3ad2ant3 1135 | . . . . . . 7
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1)) ∧ 𝑥 = (𝑦 + 1)) → ((𝐹 cyclShift 𝐽)‘𝑥) = ((𝐹 cyclShift 𝐽)‘(𝑦 + 1))) | 
| 22 |  | elfzoelz 13700 | . . . . . . . . . . . . 13
⊢ (𝑦 ∈ (0..^(𝑁 − 1)) → 𝑦 ∈ ℤ) | 
| 23 | 22 | zcnd 12725 | . . . . . . . . . . . 12
⊢ (𝑦 ∈ (0..^(𝑁 − 1)) → 𝑦 ∈ ℂ) | 
| 24 | 23 | adantl 481 | . . . . . . . . . . 11
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → 𝑦 ∈ ℂ) | 
| 25 |  | elfzoelz 13700 | . . . . . . . . . . . . . 14
⊢ (𝐽 ∈ (0..^𝑁) → 𝐽 ∈ ℤ) | 
| 26 | 25 | zcnd 12725 | . . . . . . . . . . . . 13
⊢ (𝐽 ∈ (0..^𝑁) → 𝐽 ∈ ℂ) | 
| 27 | 26 | 3ad2ant3 1135 | . . . . . . . . . . . 12
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → 𝐽 ∈ ℂ) | 
| 28 | 27 | adantr 480 | . . . . . . . . . . 11
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → 𝐽 ∈ ℂ) | 
| 29 |  | 1cnd 11257 | . . . . . . . . . . 11
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → 1 ∈
ℂ) | 
| 30 |  | add32r 11482 | . . . . . . . . . . 11
⊢ ((𝑦 ∈ ℂ ∧ 𝐽 ∈ ℂ ∧ 1 ∈
ℂ) → (𝑦 + (𝐽 + 1)) = ((𝑦 + 1) + 𝐽)) | 
| 31 | 24, 28, 29, 30 | syl3anc 1372 | . . . . . . . . . 10
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → (𝑦 + (𝐽 + 1)) = ((𝑦 + 1) + 𝐽)) | 
| 32 | 31 | fvoveq1d 7454 | . . . . . . . . 9
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → (𝐹‘((𝑦 + (𝐽 + 1)) mod (♯‘𝐹))) = (𝐹‘(((𝑦 + 1) + 𝐽) mod (♯‘𝐹)))) | 
| 33 |  | simpl1 1191 | . . . . . . . . . 10
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → 𝐹 ∈ Word 𝑆) | 
| 34 | 25 | peano2zd 12727 | . . . . . . . . . . . 12
⊢ (𝐽 ∈ (0..^𝑁) → (𝐽 + 1) ∈ ℤ) | 
| 35 | 34 | 3ad2ant3 1135 | . . . . . . . . . . 11
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (𝐽 + 1) ∈ ℤ) | 
| 36 | 35 | adantr 480 | . . . . . . . . . 10
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → (𝐽 + 1) ∈ ℤ) | 
| 37 |  | fzossrbm1 13729 | . . . . . . . . . . . . . . 15
⊢ (𝑁 ∈ ℤ →
(0..^(𝑁 − 1)) ⊆
(0..^𝑁)) | 
| 38 | 2, 37 | syl 17 | . . . . . . . . . . . . . 14
⊢ (𝐽 ∈ (0..^𝑁) → (0..^(𝑁 − 1)) ⊆ (0..^𝑁)) | 
| 39 | 38 | sseld 3981 | . . . . . . . . . . . . 13
⊢ (𝐽 ∈ (0..^𝑁) → (𝑦 ∈ (0..^(𝑁 − 1)) → 𝑦 ∈ (0..^𝑁))) | 
| 40 | 39 | 3ad2ant3 1135 | . . . . . . . . . . . 12
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (𝑦 ∈ (0..^(𝑁 − 1)) → 𝑦 ∈ (0..^𝑁))) | 
| 41 | 40 | imp 406 | . . . . . . . . . . 11
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → 𝑦 ∈ (0..^𝑁)) | 
| 42 |  | oveq2 7440 | . . . . . . . . . . . . . 14
⊢ (𝑁 = (♯‘𝐹) → (0..^𝑁) = (0..^(♯‘𝐹))) | 
| 43 | 42 | eleq2d 2826 | . . . . . . . . . . . . 13
⊢ (𝑁 = (♯‘𝐹) → (𝑦 ∈ (0..^𝑁) ↔ 𝑦 ∈ (0..^(♯‘𝐹)))) | 
| 44 | 43 | 3ad2ant2 1134 | . . . . . . . . . . . 12
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (𝑦 ∈ (0..^𝑁) ↔ 𝑦 ∈ (0..^(♯‘𝐹)))) | 
| 45 | 44 | adantr 480 | . . . . . . . . . . 11
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → (𝑦 ∈ (0..^𝑁) ↔ 𝑦 ∈ (0..^(♯‘𝐹)))) | 
| 46 | 41, 45 | mpbid 232 | . . . . . . . . . 10
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → 𝑦 ∈ (0..^(♯‘𝐹))) | 
| 47 |  | cshwidxmod 14842 | . . . . . . . . . 10
⊢ ((𝐹 ∈ Word 𝑆 ∧ (𝐽 + 1) ∈ ℤ ∧ 𝑦 ∈
(0..^(♯‘𝐹)))
→ ((𝐹 cyclShift (𝐽 + 1))‘𝑦) = (𝐹‘((𝑦 + (𝐽 + 1)) mod (♯‘𝐹)))) | 
| 48 | 33, 36, 46, 47 | syl3anc 1372 | . . . . . . . . 9
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → ((𝐹 cyclShift (𝐽 + 1))‘𝑦) = (𝐹‘((𝑦 + (𝐽 + 1)) mod (♯‘𝐹)))) | 
| 49 | 25 | 3ad2ant3 1135 | . . . . . . . . . . 11
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → 𝐽 ∈ ℤ) | 
| 50 | 49 | adantr 480 | . . . . . . . . . 10
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → 𝐽 ∈ ℤ) | 
| 51 |  | fzo0ss1 13730 | . . . . . . . . . . . 12
⊢
(1..^𝑁) ⊆
(0..^𝑁) | 
| 52 | 2 | 3ad2ant3 1135 | . . . . . . . . . . . . 13
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → 𝑁 ∈ ℤ) | 
| 53 | 52, 3 | sylan 580 | . . . . . . . . . . . 12
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → (𝑦 + 1) ∈ (1..^𝑁)) | 
| 54 | 51, 53 | sselid 3980 | . . . . . . . . . . 11
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → (𝑦 + 1) ∈ (0..^𝑁)) | 
| 55 | 42 | eleq2d 2826 | . . . . . . . . . . . . 13
⊢ (𝑁 = (♯‘𝐹) → ((𝑦 + 1) ∈ (0..^𝑁) ↔ (𝑦 + 1) ∈ (0..^(♯‘𝐹)))) | 
| 56 | 55 | 3ad2ant2 1134 | . . . . . . . . . . . 12
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → ((𝑦 + 1) ∈ (0..^𝑁) ↔ (𝑦 + 1) ∈ (0..^(♯‘𝐹)))) | 
| 57 | 56 | adantr 480 | . . . . . . . . . . 11
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → ((𝑦 + 1) ∈ (0..^𝑁) ↔ (𝑦 + 1) ∈ (0..^(♯‘𝐹)))) | 
| 58 | 54, 57 | mpbid 232 | . . . . . . . . . 10
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → (𝑦 + 1) ∈ (0..^(♯‘𝐹))) | 
| 59 |  | cshwidxmod 14842 | . . . . . . . . . 10
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝐽 ∈ ℤ ∧ (𝑦 + 1) ∈ (0..^(♯‘𝐹))) → ((𝐹 cyclShift 𝐽)‘(𝑦 + 1)) = (𝐹‘(((𝑦 + 1) + 𝐽) mod (♯‘𝐹)))) | 
| 60 | 33, 50, 58, 59 | syl3anc 1372 | . . . . . . . . 9
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → ((𝐹 cyclShift 𝐽)‘(𝑦 + 1)) = (𝐹‘(((𝑦 + 1) + 𝐽) mod (♯‘𝐹)))) | 
| 61 | 32, 48, 60 | 3eqtr4rd 2787 | . . . . . . . 8
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → ((𝐹 cyclShift 𝐽)‘(𝑦 + 1)) = ((𝐹 cyclShift (𝐽 + 1))‘𝑦)) | 
| 62 | 61 | 3adant3 1132 | . . . . . . 7
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1)) ∧ 𝑥 = (𝑦 + 1)) → ((𝐹 cyclShift 𝐽)‘(𝑦 + 1)) = ((𝐹 cyclShift (𝐽 + 1))‘𝑦)) | 
| 63 | 21, 62 | eqtrd 2776 | . . . . . 6
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1)) ∧ 𝑥 = (𝑦 + 1)) → ((𝐹 cyclShift 𝐽)‘𝑥) = ((𝐹 cyclShift (𝐽 + 1))‘𝑦)) | 
| 64 | 63 | eqeq1d 2738 | . . . . 5
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1)) ∧ 𝑥 = (𝑦 + 1)) → (((𝐹 cyclShift 𝐽)‘𝑥) = 𝑧 ↔ ((𝐹 cyclShift (𝐽 + 1))‘𝑦) = 𝑧)) | 
| 65 | 7, 19, 64 | rexxfrd2 5412 | . . . 4
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (∃𝑥 ∈ (1..^𝑁)((𝐹 cyclShift 𝐽)‘𝑥) = 𝑧 ↔ ∃𝑦 ∈ (0..^(𝑁 − 1))((𝐹 cyclShift (𝐽 + 1))‘𝑦) = 𝑧)) | 
| 66 | 65 | abbidv 2807 | . . 3
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → {𝑧 ∣ ∃𝑥 ∈ (1..^𝑁)((𝐹 cyclShift 𝐽)‘𝑥) = 𝑧} = {𝑧 ∣ ∃𝑦 ∈ (0..^(𝑁 − 1))((𝐹 cyclShift (𝐽 + 1))‘𝑦) = 𝑧}) | 
| 67 | 25 | anim2i 617 | . . . . . . 7
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝐽 ∈ (0..^𝑁)) → (𝐹 ∈ Word 𝑆 ∧ 𝐽 ∈ ℤ)) | 
| 68 | 67 | 3adant2 1131 | . . . . . 6
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (𝐹 ∈ Word 𝑆 ∧ 𝐽 ∈ ℤ)) | 
| 69 |  | cshwfn 14840 | . . . . . 6
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝐽 ∈ ℤ) → (𝐹 cyclShift 𝐽) Fn (0..^(♯‘𝐹))) | 
| 70 | 68, 69 | syl 17 | . . . . 5
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (𝐹 cyclShift 𝐽) Fn (0..^(♯‘𝐹))) | 
| 71 |  | fnfun 6667 | . . . . . . 7
⊢ ((𝐹 cyclShift 𝐽) Fn (0..^(♯‘𝐹)) → Fun (𝐹 cyclShift 𝐽)) | 
| 72 | 71 | adantl 481 | . . . . . 6
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ (𝐹 cyclShift 𝐽) Fn (0..^(♯‘𝐹))) → Fun (𝐹 cyclShift 𝐽)) | 
| 73 | 42 | 3ad2ant2 1134 | . . . . . . . . 9
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (0..^𝑁) = (0..^(♯‘𝐹))) | 
| 74 | 51, 73 | sseqtrid 4025 | . . . . . . . 8
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (1..^𝑁) ⊆ (0..^(♯‘𝐹))) | 
| 75 | 74 | adantr 480 | . . . . . . 7
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ (𝐹 cyclShift 𝐽) Fn (0..^(♯‘𝐹))) → (1..^𝑁) ⊆ (0..^(♯‘𝐹))) | 
| 76 |  | fndm 6670 | . . . . . . . 8
⊢ ((𝐹 cyclShift 𝐽) Fn (0..^(♯‘𝐹)) → dom (𝐹 cyclShift 𝐽) = (0..^(♯‘𝐹))) | 
| 77 | 76 | adantl 481 | . . . . . . 7
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ (𝐹 cyclShift 𝐽) Fn (0..^(♯‘𝐹))) → dom (𝐹 cyclShift 𝐽) = (0..^(♯‘𝐹))) | 
| 78 | 75, 77 | sseqtrrd 4020 | . . . . . 6
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ (𝐹 cyclShift 𝐽) Fn (0..^(♯‘𝐹))) → (1..^𝑁) ⊆ dom (𝐹 cyclShift 𝐽)) | 
| 79 | 72, 78 | jca 511 | . . . . 5
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ (𝐹 cyclShift 𝐽) Fn (0..^(♯‘𝐹))) → (Fun (𝐹 cyclShift 𝐽) ∧ (1..^𝑁) ⊆ dom (𝐹 cyclShift 𝐽))) | 
| 80 | 70, 79 | mpdan 687 | . . . 4
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (Fun (𝐹 cyclShift 𝐽) ∧ (1..^𝑁) ⊆ dom (𝐹 cyclShift 𝐽))) | 
| 81 |  | dfimafn 6970 | . . . 4
⊢ ((Fun
(𝐹 cyclShift 𝐽) ∧ (1..^𝑁) ⊆ dom (𝐹 cyclShift 𝐽)) → ((𝐹 cyclShift 𝐽) “ (1..^𝑁)) = {𝑧 ∣ ∃𝑥 ∈ (1..^𝑁)((𝐹 cyclShift 𝐽)‘𝑥) = 𝑧}) | 
| 82 | 80, 81 | syl 17 | . . 3
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → ((𝐹 cyclShift 𝐽) “ (1..^𝑁)) = {𝑧 ∣ ∃𝑥 ∈ (1..^𝑁)((𝐹 cyclShift 𝐽)‘𝑥) = 𝑧}) | 
| 83 | 34 | anim2i 617 | . . . . . . 7
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝐽 ∈ (0..^𝑁)) → (𝐹 ∈ Word 𝑆 ∧ (𝐽 + 1) ∈ ℤ)) | 
| 84 | 83 | 3adant2 1131 | . . . . . 6
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (𝐹 ∈ Word 𝑆 ∧ (𝐽 + 1) ∈ ℤ)) | 
| 85 |  | cshwfn 14840 | . . . . . 6
⊢ ((𝐹 ∈ Word 𝑆 ∧ (𝐽 + 1) ∈ ℤ) → (𝐹 cyclShift (𝐽 + 1)) Fn (0..^(♯‘𝐹))) | 
| 86 | 84, 85 | syl 17 | . . . . 5
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (𝐹 cyclShift (𝐽 + 1)) Fn (0..^(♯‘𝐹))) | 
| 87 |  | fnfun 6667 | . . . . . . 7
⊢ ((𝐹 cyclShift (𝐽 + 1)) Fn (0..^(♯‘𝐹)) → Fun (𝐹 cyclShift (𝐽 + 1))) | 
| 88 | 87 | adantl 481 | . . . . . 6
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ (𝐹 cyclShift (𝐽 + 1)) Fn (0..^(♯‘𝐹))) → Fun (𝐹 cyclShift (𝐽 + 1))) | 
| 89 | 38 | 3ad2ant3 1135 | . . . . . . . . 9
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (0..^(𝑁 − 1)) ⊆ (0..^𝑁)) | 
| 90 |  | oveq2 7440 | . . . . . . . . . . 11
⊢
((♯‘𝐹) =
𝑁 →
(0..^(♯‘𝐹)) =
(0..^𝑁)) | 
| 91 | 90 | eqcoms 2744 | . . . . . . . . . 10
⊢ (𝑁 = (♯‘𝐹) →
(0..^(♯‘𝐹)) =
(0..^𝑁)) | 
| 92 | 91 | 3ad2ant2 1134 | . . . . . . . . 9
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (0..^(♯‘𝐹)) = (0..^𝑁)) | 
| 93 | 89, 92 | sseqtrrd 4020 | . . . . . . . 8
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (0..^(𝑁 − 1)) ⊆
(0..^(♯‘𝐹))) | 
| 94 | 93 | adantr 480 | . . . . . . 7
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ (𝐹 cyclShift (𝐽 + 1)) Fn (0..^(♯‘𝐹))) → (0..^(𝑁 − 1)) ⊆
(0..^(♯‘𝐹))) | 
| 95 |  | fndm 6670 | . . . . . . . 8
⊢ ((𝐹 cyclShift (𝐽 + 1)) Fn (0..^(♯‘𝐹)) → dom (𝐹 cyclShift (𝐽 + 1)) = (0..^(♯‘𝐹))) | 
| 96 | 95 | adantl 481 | . . . . . . 7
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ (𝐹 cyclShift (𝐽 + 1)) Fn (0..^(♯‘𝐹))) → dom (𝐹 cyclShift (𝐽 + 1)) = (0..^(♯‘𝐹))) | 
| 97 | 94, 96 | sseqtrrd 4020 | . . . . . 6
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ (𝐹 cyclShift (𝐽 + 1)) Fn (0..^(♯‘𝐹))) → (0..^(𝑁 − 1)) ⊆ dom (𝐹 cyclShift (𝐽 + 1))) | 
| 98 | 88, 97 | jca 511 | . . . . 5
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ (𝐹 cyclShift (𝐽 + 1)) Fn (0..^(♯‘𝐹))) → (Fun (𝐹 cyclShift (𝐽 + 1)) ∧ (0..^(𝑁 − 1)) ⊆ dom (𝐹 cyclShift (𝐽 + 1)))) | 
| 99 | 86, 98 | mpdan 687 | . . . 4
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (Fun (𝐹 cyclShift (𝐽 + 1)) ∧ (0..^(𝑁 − 1)) ⊆ dom (𝐹 cyclShift (𝐽 + 1)))) | 
| 100 |  | dfimafn 6970 | . . . 4
⊢ ((Fun
(𝐹 cyclShift (𝐽 + 1)) ∧ (0..^(𝑁 − 1)) ⊆ dom (𝐹 cyclShift (𝐽 + 1))) → ((𝐹 cyclShift (𝐽 + 1)) “ (0..^(𝑁 − 1))) = {𝑧 ∣ ∃𝑦 ∈ (0..^(𝑁 − 1))((𝐹 cyclShift (𝐽 + 1))‘𝑦) = 𝑧}) | 
| 101 | 99, 100 | syl 17 | . . 3
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → ((𝐹 cyclShift (𝐽 + 1)) “ (0..^(𝑁 − 1))) = {𝑧 ∣ ∃𝑦 ∈ (0..^(𝑁 − 1))((𝐹 cyclShift (𝐽 + 1))‘𝑦) = 𝑧}) | 
| 102 | 66, 82, 101 | 3eqtr4d 2786 | . 2
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → ((𝐹 cyclShift 𝐽) “ (1..^𝑁)) = ((𝐹 cyclShift (𝐽 + 1)) “ (0..^(𝑁 − 1)))) | 
| 103 | 1, 102 | eqtrd 2776 | 1
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (𝐹 “ ((0..^𝑁) ∖ {𝐽})) = ((𝐹 cyclShift (𝐽 + 1)) “ (0..^(𝑁 − 1)))) |