Step | Hyp | Ref
| Expression |
1 | | cshimadifsn 14280 |
. 2
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (𝐹 “ ((0..^𝑁) ∖ {𝐽})) = ((𝐹 cyclShift 𝐽) “ (1..^𝑁))) |
2 | | elfzoel2 13128 |
. . . . . . . 8
⊢ (𝐽 ∈ (0..^𝑁) → 𝑁 ∈ ℤ) |
3 | | elfzom1elp1fzo1 13228 |
. . . . . . . . 9
⊢ ((𝑁 ∈ ℤ ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → (𝑦 + 1) ∈ (1..^𝑁)) |
4 | 3 | ex 416 |
. . . . . . . 8
⊢ (𝑁 ∈ ℤ → (𝑦 ∈ (0..^(𝑁 − 1)) → (𝑦 + 1) ∈ (1..^𝑁))) |
5 | 2, 4 | syl 17 |
. . . . . . 7
⊢ (𝐽 ∈ (0..^𝑁) → (𝑦 ∈ (0..^(𝑁 − 1)) → (𝑦 + 1) ∈ (1..^𝑁))) |
6 | 5 | 3ad2ant3 1136 |
. . . . . 6
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (𝑦 ∈ (0..^(𝑁 − 1)) → (𝑦 + 1) ∈ (1..^𝑁))) |
7 | 6 | imp 410 |
. . . . 5
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → (𝑦 + 1) ∈ (1..^𝑁)) |
8 | | elfzo1elm1fzo0 13229 |
. . . . . . 7
⊢ (𝑥 ∈ (1..^𝑁) → (𝑥 − 1) ∈ (0..^(𝑁 − 1))) |
9 | 8 | adantl 485 |
. . . . . 6
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑥 ∈ (1..^𝑁)) → (𝑥 − 1) ∈ (0..^(𝑁 − 1))) |
10 | | oveq1 7177 |
. . . . . . . 8
⊢ (𝑦 = (𝑥 − 1) → (𝑦 + 1) = ((𝑥 − 1) + 1)) |
11 | 10 | eqeq2d 2749 |
. . . . . . 7
⊢ (𝑦 = (𝑥 − 1) → (𝑥 = (𝑦 + 1) ↔ 𝑥 = ((𝑥 − 1) + 1))) |
12 | 11 | adantl 485 |
. . . . . 6
⊢ ((((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑥 ∈ (1..^𝑁)) ∧ 𝑦 = (𝑥 − 1)) → (𝑥 = (𝑦 + 1) ↔ 𝑥 = ((𝑥 − 1) + 1))) |
13 | | elfzoelz 13129 |
. . . . . . . . . 10
⊢ (𝑥 ∈ (1..^𝑁) → 𝑥 ∈ ℤ) |
14 | 13 | zcnd 12169 |
. . . . . . . . 9
⊢ (𝑥 ∈ (1..^𝑁) → 𝑥 ∈ ℂ) |
15 | | npcan1 11143 |
. . . . . . . . 9
⊢ (𝑥 ∈ ℂ → ((𝑥 − 1) + 1) = 𝑥) |
16 | 14, 15 | syl 17 |
. . . . . . . 8
⊢ (𝑥 ∈ (1..^𝑁) → ((𝑥 − 1) + 1) = 𝑥) |
17 | 16 | eqcomd 2744 |
. . . . . . 7
⊢ (𝑥 ∈ (1..^𝑁) → 𝑥 = ((𝑥 − 1) + 1)) |
18 | 17 | adantl 485 |
. . . . . 6
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑥 ∈ (1..^𝑁)) → 𝑥 = ((𝑥 − 1) + 1)) |
19 | 9, 12, 18 | rspcedvd 3529 |
. . . . 5
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑥 ∈ (1..^𝑁)) → ∃𝑦 ∈ (0..^(𝑁 − 1))𝑥 = (𝑦 + 1)) |
20 | | fveq2 6674 |
. . . . . . . 8
⊢ (𝑥 = (𝑦 + 1) → ((𝐹 cyclShift 𝐽)‘𝑥) = ((𝐹 cyclShift 𝐽)‘(𝑦 + 1))) |
21 | 20 | 3ad2ant3 1136 |
. . . . . . 7
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1)) ∧ 𝑥 = (𝑦 + 1)) → ((𝐹 cyclShift 𝐽)‘𝑥) = ((𝐹 cyclShift 𝐽)‘(𝑦 + 1))) |
22 | | elfzoelz 13129 |
. . . . . . . . . . . . 13
⊢ (𝑦 ∈ (0..^(𝑁 − 1)) → 𝑦 ∈ ℤ) |
23 | 22 | zcnd 12169 |
. . . . . . . . . . . 12
⊢ (𝑦 ∈ (0..^(𝑁 − 1)) → 𝑦 ∈ ℂ) |
24 | 23 | adantl 485 |
. . . . . . . . . . 11
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → 𝑦 ∈ ℂ) |
25 | | elfzoelz 13129 |
. . . . . . . . . . . . . 14
⊢ (𝐽 ∈ (0..^𝑁) → 𝐽 ∈ ℤ) |
26 | 25 | zcnd 12169 |
. . . . . . . . . . . . 13
⊢ (𝐽 ∈ (0..^𝑁) → 𝐽 ∈ ℂ) |
27 | 26 | 3ad2ant3 1136 |
. . . . . . . . . . . 12
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → 𝐽 ∈ ℂ) |
28 | 27 | adantr 484 |
. . . . . . . . . . 11
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → 𝐽 ∈ ℂ) |
29 | | 1cnd 10714 |
. . . . . . . . . . 11
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → 1 ∈
ℂ) |
30 | | add32r 10937 |
. . . . . . . . . . 11
⊢ ((𝑦 ∈ ℂ ∧ 𝐽 ∈ ℂ ∧ 1 ∈
ℂ) → (𝑦 + (𝐽 + 1)) = ((𝑦 + 1) + 𝐽)) |
31 | 24, 28, 29, 30 | syl3anc 1372 |
. . . . . . . . . 10
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → (𝑦 + (𝐽 + 1)) = ((𝑦 + 1) + 𝐽)) |
32 | 31 | fvoveq1d 7192 |
. . . . . . . . 9
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → (𝐹‘((𝑦 + (𝐽 + 1)) mod (♯‘𝐹))) = (𝐹‘(((𝑦 + 1) + 𝐽) mod (♯‘𝐹)))) |
33 | | simpl1 1192 |
. . . . . . . . . 10
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → 𝐹 ∈ Word 𝑆) |
34 | 25 | peano2zd 12171 |
. . . . . . . . . . . 12
⊢ (𝐽 ∈ (0..^𝑁) → (𝐽 + 1) ∈ ℤ) |
35 | 34 | 3ad2ant3 1136 |
. . . . . . . . . . 11
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (𝐽 + 1) ∈ ℤ) |
36 | 35 | adantr 484 |
. . . . . . . . . 10
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → (𝐽 + 1) ∈ ℤ) |
37 | | fzossrbm1 13157 |
. . . . . . . . . . . . . . 15
⊢ (𝑁 ∈ ℤ →
(0..^(𝑁 − 1)) ⊆
(0..^𝑁)) |
38 | 2, 37 | syl 17 |
. . . . . . . . . . . . . 14
⊢ (𝐽 ∈ (0..^𝑁) → (0..^(𝑁 − 1)) ⊆ (0..^𝑁)) |
39 | 38 | sseld 3876 |
. . . . . . . . . . . . 13
⊢ (𝐽 ∈ (0..^𝑁) → (𝑦 ∈ (0..^(𝑁 − 1)) → 𝑦 ∈ (0..^𝑁))) |
40 | 39 | 3ad2ant3 1136 |
. . . . . . . . . . . 12
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (𝑦 ∈ (0..^(𝑁 − 1)) → 𝑦 ∈ (0..^𝑁))) |
41 | 40 | imp 410 |
. . . . . . . . . . 11
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → 𝑦 ∈ (0..^𝑁)) |
42 | | oveq2 7178 |
. . . . . . . . . . . . . 14
⊢ (𝑁 = (♯‘𝐹) → (0..^𝑁) = (0..^(♯‘𝐹))) |
43 | 42 | eleq2d 2818 |
. . . . . . . . . . . . 13
⊢ (𝑁 = (♯‘𝐹) → (𝑦 ∈ (0..^𝑁) ↔ 𝑦 ∈ (0..^(♯‘𝐹)))) |
44 | 43 | 3ad2ant2 1135 |
. . . . . . . . . . . 12
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (𝑦 ∈ (0..^𝑁) ↔ 𝑦 ∈ (0..^(♯‘𝐹)))) |
45 | 44 | adantr 484 |
. . . . . . . . . . 11
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → (𝑦 ∈ (0..^𝑁) ↔ 𝑦 ∈ (0..^(♯‘𝐹)))) |
46 | 41, 45 | mpbid 235 |
. . . . . . . . . 10
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → 𝑦 ∈ (0..^(♯‘𝐹))) |
47 | | cshwidxmod 14254 |
. . . . . . . . . 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 1136 |
. . . . . . . . . . 11
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → 𝐽 ∈ ℤ) |
50 | 49 | adantr 484 |
. . . . . . . . . 10
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → 𝐽 ∈ ℤ) |
51 | | fzo0ss1 13158 |
. . . . . . . . . . . 12
⊢
(1..^𝑁) ⊆
(0..^𝑁) |
52 | 2 | 3ad2ant3 1136 |
. . . . . . . . . . . . 13
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → 𝑁 ∈ ℤ) |
53 | 52, 3 | sylan 583 |
. . . . . . . . . . . 12
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → (𝑦 + 1) ∈ (1..^𝑁)) |
54 | 51, 53 | sseldi 3875 |
. . . . . . . . . . 11
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → (𝑦 + 1) ∈ (0..^𝑁)) |
55 | 42 | eleq2d 2818 |
. . . . . . . . . . . . 13
⊢ (𝑁 = (♯‘𝐹) → ((𝑦 + 1) ∈ (0..^𝑁) ↔ (𝑦 + 1) ∈ (0..^(♯‘𝐹)))) |
56 | 55 | 3ad2ant2 1135 |
. . . . . . . . . . . 12
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → ((𝑦 + 1) ∈ (0..^𝑁) ↔ (𝑦 + 1) ∈ (0..^(♯‘𝐹)))) |
57 | 56 | adantr 484 |
. . . . . . . . . . 11
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → ((𝑦 + 1) ∈ (0..^𝑁) ↔ (𝑦 + 1) ∈ (0..^(♯‘𝐹)))) |
58 | 54, 57 | mpbid 235 |
. . . . . . . . . 10
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → (𝑦 + 1) ∈ (0..^(♯‘𝐹))) |
59 | | cshwidxmod 14254 |
. . . . . . . . . 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 2784 |
. . . . . . . 8
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1))) → ((𝐹 cyclShift 𝐽)‘(𝑦 + 1)) = ((𝐹 cyclShift (𝐽 + 1))‘𝑦)) |
62 | 61 | 3adant3 1133 |
. . . . . . 7
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1)) ∧ 𝑥 = (𝑦 + 1)) → ((𝐹 cyclShift 𝐽)‘(𝑦 + 1)) = ((𝐹 cyclShift (𝐽 + 1))‘𝑦)) |
63 | 21, 62 | eqtrd 2773 |
. . . . . 6
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1)) ∧ 𝑥 = (𝑦 + 1)) → ((𝐹 cyclShift 𝐽)‘𝑥) = ((𝐹 cyclShift (𝐽 + 1))‘𝑦)) |
64 | 63 | eqeq1d 2740 |
. . . . 5
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ 𝑦 ∈ (0..^(𝑁 − 1)) ∧ 𝑥 = (𝑦 + 1)) → (((𝐹 cyclShift 𝐽)‘𝑥) = 𝑧 ↔ ((𝐹 cyclShift (𝐽 + 1))‘𝑦) = 𝑧)) |
65 | 7, 19, 64 | rexxfrd2 5280 |
. . . 4
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (∃𝑥 ∈ (1..^𝑁)((𝐹 cyclShift 𝐽)‘𝑥) = 𝑧 ↔ ∃𝑦 ∈ (0..^(𝑁 − 1))((𝐹 cyclShift (𝐽 + 1))‘𝑦) = 𝑧)) |
66 | 65 | abbidv 2802 |
. . 3
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → {𝑧 ∣ ∃𝑥 ∈ (1..^𝑁)((𝐹 cyclShift 𝐽)‘𝑥) = 𝑧} = {𝑧 ∣ ∃𝑦 ∈ (0..^(𝑁 − 1))((𝐹 cyclShift (𝐽 + 1))‘𝑦) = 𝑧}) |
67 | 25 | anim2i 620 |
. . . . . . 7
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝐽 ∈ (0..^𝑁)) → (𝐹 ∈ Word 𝑆 ∧ 𝐽 ∈ ℤ)) |
68 | 67 | 3adant2 1132 |
. . . . . 6
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (𝐹 ∈ Word 𝑆 ∧ 𝐽 ∈ ℤ)) |
69 | | cshwfn 14252 |
. . . . . 6
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝐽 ∈ ℤ) → (𝐹 cyclShift 𝐽) Fn (0..^(♯‘𝐹))) |
70 | 68, 69 | syl 17 |
. . . . 5
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (𝐹 cyclShift 𝐽) Fn (0..^(♯‘𝐹))) |
71 | | fnfun 6438 |
. . . . . . 7
⊢ ((𝐹 cyclShift 𝐽) Fn (0..^(♯‘𝐹)) → Fun (𝐹 cyclShift 𝐽)) |
72 | 71 | adantl 485 |
. . . . . 6
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ (𝐹 cyclShift 𝐽) Fn (0..^(♯‘𝐹))) → Fun (𝐹 cyclShift 𝐽)) |
73 | 42 | 3ad2ant2 1135 |
. . . . . . . . 9
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (0..^𝑁) = (0..^(♯‘𝐹))) |
74 | 51, 73 | sseqtrid 3929 |
. . . . . . . 8
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (1..^𝑁) ⊆ (0..^(♯‘𝐹))) |
75 | 74 | adantr 484 |
. . . . . . 7
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ (𝐹 cyclShift 𝐽) Fn (0..^(♯‘𝐹))) → (1..^𝑁) ⊆ (0..^(♯‘𝐹))) |
76 | | fndm 6440 |
. . . . . . . 8
⊢ ((𝐹 cyclShift 𝐽) Fn (0..^(♯‘𝐹)) → dom (𝐹 cyclShift 𝐽) = (0..^(♯‘𝐹))) |
77 | 76 | adantl 485 |
. . . . . . 7
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ (𝐹 cyclShift 𝐽) Fn (0..^(♯‘𝐹))) → dom (𝐹 cyclShift 𝐽) = (0..^(♯‘𝐹))) |
78 | 75, 77 | sseqtrrd 3918 |
. . . . . 6
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ (𝐹 cyclShift 𝐽) Fn (0..^(♯‘𝐹))) → (1..^𝑁) ⊆ dom (𝐹 cyclShift 𝐽)) |
79 | 72, 78 | jca 515 |
. . . . 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 6732 |
. . . 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 620 |
. . . . . . 7
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝐽 ∈ (0..^𝑁)) → (𝐹 ∈ Word 𝑆 ∧ (𝐽 + 1) ∈ ℤ)) |
84 | 83 | 3adant2 1132 |
. . . . . 6
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (𝐹 ∈ Word 𝑆 ∧ (𝐽 + 1) ∈ ℤ)) |
85 | | cshwfn 14252 |
. . . . . 6
⊢ ((𝐹 ∈ Word 𝑆 ∧ (𝐽 + 1) ∈ ℤ) → (𝐹 cyclShift (𝐽 + 1)) Fn (0..^(♯‘𝐹))) |
86 | 84, 85 | syl 17 |
. . . . 5
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (𝐹 cyclShift (𝐽 + 1)) Fn (0..^(♯‘𝐹))) |
87 | | fnfun 6438 |
. . . . . . 7
⊢ ((𝐹 cyclShift (𝐽 + 1)) Fn (0..^(♯‘𝐹)) → Fun (𝐹 cyclShift (𝐽 + 1))) |
88 | 87 | adantl 485 |
. . . . . 6
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ (𝐹 cyclShift (𝐽 + 1)) Fn (0..^(♯‘𝐹))) → Fun (𝐹 cyclShift (𝐽 + 1))) |
89 | 38 | 3ad2ant3 1136 |
. . . . . . . . 9
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (0..^(𝑁 − 1)) ⊆ (0..^𝑁)) |
90 | | oveq2 7178 |
. . . . . . . . . . 11
⊢
((♯‘𝐹) =
𝑁 →
(0..^(♯‘𝐹)) =
(0..^𝑁)) |
91 | 90 | eqcoms 2746 |
. . . . . . . . . 10
⊢ (𝑁 = (♯‘𝐹) →
(0..^(♯‘𝐹)) =
(0..^𝑁)) |
92 | 91 | 3ad2ant2 1135 |
. . . . . . . . 9
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (0..^(♯‘𝐹)) = (0..^𝑁)) |
93 | 89, 92 | sseqtrrd 3918 |
. . . . . . . 8
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (0..^(𝑁 − 1)) ⊆
(0..^(♯‘𝐹))) |
94 | 93 | adantr 484 |
. . . . . . 7
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ (𝐹 cyclShift (𝐽 + 1)) Fn (0..^(♯‘𝐹))) → (0..^(𝑁 − 1)) ⊆
(0..^(♯‘𝐹))) |
95 | | fndm 6440 |
. . . . . . . 8
⊢ ((𝐹 cyclShift (𝐽 + 1)) Fn (0..^(♯‘𝐹)) → dom (𝐹 cyclShift (𝐽 + 1)) = (0..^(♯‘𝐹))) |
96 | 95 | adantl 485 |
. . . . . . 7
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ (𝐹 cyclShift (𝐽 + 1)) Fn (0..^(♯‘𝐹))) → dom (𝐹 cyclShift (𝐽 + 1)) = (0..^(♯‘𝐹))) |
97 | 94, 96 | sseqtrrd 3918 |
. . . . . 6
⊢ (((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) ∧ (𝐹 cyclShift (𝐽 + 1)) Fn (0..^(♯‘𝐹))) → (0..^(𝑁 − 1)) ⊆ dom (𝐹 cyclShift (𝐽 + 1))) |
98 | 88, 97 | jca 515 |
. . . . 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 6732 |
. . . 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 2783 |
. 2
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → ((𝐹 cyclShift 𝐽) “ (1..^𝑁)) = ((𝐹 cyclShift (𝐽 + 1)) “ (0..^(𝑁 − 1)))) |
103 | 1, 102 | eqtrd 2773 |
1
⊢ ((𝐹 ∈ Word 𝑆 ∧ 𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (𝐹 “ ((0..^𝑁) ∖ {𝐽})) = ((𝐹 cyclShift (𝐽 + 1)) “ (0..^(𝑁 − 1)))) |