Step | Hyp | Ref
| Expression |
1 | | oveq1 6556 |
. . . . . . . . . 10
⊢ (𝑥 = 0 → (𝑥 · 𝐿) = (0 · 𝐿)) |
2 | 1 | oveq2d 6565 |
. . . . . . . . 9
⊢ (𝑥 = 0 → (𝐼 + (𝑥 · 𝐿)) = (𝐼 + (0 · 𝐿))) |
3 | 2 | oveq1d 6564 |
. . . . . . . 8
⊢ (𝑥 = 0 → ((𝐼 + (𝑥 · 𝐿)) mod (#‘𝑊)) = ((𝐼 + (0 · 𝐿)) mod (#‘𝑊))) |
4 | 3 | fveq2d 6107 |
. . . . . . 7
⊢ (𝑥 = 0 → (𝑊‘((𝐼 + (𝑥 · 𝐿)) mod (#‘𝑊))) = (𝑊‘((𝐼 + (0 · 𝐿)) mod (#‘𝑊)))) |
5 | 4 | eqeq2d 2620 |
. . . . . 6
⊢ (𝑥 = 0 → ((𝑊‘𝐼) = (𝑊‘((𝐼 + (𝑥 · 𝐿)) mod (#‘𝑊))) ↔ (𝑊‘𝐼) = (𝑊‘((𝐼 + (0 · 𝐿)) mod (#‘𝑊))))) |
6 | 5 | imbi2d 329 |
. . . . 5
⊢ (𝑥 = 0 → ((((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊)))) → (𝑊‘𝐼) = (𝑊‘((𝐼 + (𝑥 · 𝐿)) mod (#‘𝑊)))) ↔ (((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊)))) → (𝑊‘𝐼) = (𝑊‘((𝐼 + (0 · 𝐿)) mod (#‘𝑊)))))) |
7 | | oveq1 6556 |
. . . . . . . . . 10
⊢ (𝑥 = 𝑦 → (𝑥 · 𝐿) = (𝑦 · 𝐿)) |
8 | 7 | oveq2d 6565 |
. . . . . . . . 9
⊢ (𝑥 = 𝑦 → (𝐼 + (𝑥 · 𝐿)) = (𝐼 + (𝑦 · 𝐿))) |
9 | 8 | oveq1d 6564 |
. . . . . . . 8
⊢ (𝑥 = 𝑦 → ((𝐼 + (𝑥 · 𝐿)) mod (#‘𝑊)) = ((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊))) |
10 | 9 | fveq2d 6107 |
. . . . . . 7
⊢ (𝑥 = 𝑦 → (𝑊‘((𝐼 + (𝑥 · 𝐿)) mod (#‘𝑊))) = (𝑊‘((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊)))) |
11 | 10 | eqeq2d 2620 |
. . . . . 6
⊢ (𝑥 = 𝑦 → ((𝑊‘𝐼) = (𝑊‘((𝐼 + (𝑥 · 𝐿)) mod (#‘𝑊))) ↔ (𝑊‘𝐼) = (𝑊‘((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊))))) |
12 | 11 | imbi2d 329 |
. . . . 5
⊢ (𝑥 = 𝑦 → ((((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊)))) → (𝑊‘𝐼) = (𝑊‘((𝐼 + (𝑥 · 𝐿)) mod (#‘𝑊)))) ↔ (((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊)))) → (𝑊‘𝐼) = (𝑊‘((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊)))))) |
13 | | oveq1 6556 |
. . . . . . . . . 10
⊢ (𝑥 = (𝑦 + 1) → (𝑥 · 𝐿) = ((𝑦 + 1) · 𝐿)) |
14 | 13 | oveq2d 6565 |
. . . . . . . . 9
⊢ (𝑥 = (𝑦 + 1) → (𝐼 + (𝑥 · 𝐿)) = (𝐼 + ((𝑦 + 1) · 𝐿))) |
15 | 14 | oveq1d 6564 |
. . . . . . . 8
⊢ (𝑥 = (𝑦 + 1) → ((𝐼 + (𝑥 · 𝐿)) mod (#‘𝑊)) = ((𝐼 + ((𝑦 + 1) · 𝐿)) mod (#‘𝑊))) |
16 | 15 | fveq2d 6107 |
. . . . . . 7
⊢ (𝑥 = (𝑦 + 1) → (𝑊‘((𝐼 + (𝑥 · 𝐿)) mod (#‘𝑊))) = (𝑊‘((𝐼 + ((𝑦 + 1) · 𝐿)) mod (#‘𝑊)))) |
17 | 16 | eqeq2d 2620 |
. . . . . 6
⊢ (𝑥 = (𝑦 + 1) → ((𝑊‘𝐼) = (𝑊‘((𝐼 + (𝑥 · 𝐿)) mod (#‘𝑊))) ↔ (𝑊‘𝐼) = (𝑊‘((𝐼 + ((𝑦 + 1) · 𝐿)) mod (#‘𝑊))))) |
18 | 17 | imbi2d 329 |
. . . . 5
⊢ (𝑥 = (𝑦 + 1) → ((((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊)))) → (𝑊‘𝐼) = (𝑊‘((𝐼 + (𝑥 · 𝐿)) mod (#‘𝑊)))) ↔ (((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊)))) → (𝑊‘𝐼) = (𝑊‘((𝐼 + ((𝑦 + 1) · 𝐿)) mod (#‘𝑊)))))) |
19 | | oveq1 6556 |
. . . . . . . . . 10
⊢ (𝑥 = 𝑗 → (𝑥 · 𝐿) = (𝑗 · 𝐿)) |
20 | 19 | oveq2d 6565 |
. . . . . . . . 9
⊢ (𝑥 = 𝑗 → (𝐼 + (𝑥 · 𝐿)) = (𝐼 + (𝑗 · 𝐿))) |
21 | 20 | oveq1d 6564 |
. . . . . . . 8
⊢ (𝑥 = 𝑗 → ((𝐼 + (𝑥 · 𝐿)) mod (#‘𝑊)) = ((𝐼 + (𝑗 · 𝐿)) mod (#‘𝑊))) |
22 | 21 | fveq2d 6107 |
. . . . . . 7
⊢ (𝑥 = 𝑗 → (𝑊‘((𝐼 + (𝑥 · 𝐿)) mod (#‘𝑊))) = (𝑊‘((𝐼 + (𝑗 · 𝐿)) mod (#‘𝑊)))) |
23 | 22 | eqeq2d 2620 |
. . . . . 6
⊢ (𝑥 = 𝑗 → ((𝑊‘𝐼) = (𝑊‘((𝐼 + (𝑥 · 𝐿)) mod (#‘𝑊))) ↔ (𝑊‘𝐼) = (𝑊‘((𝐼 + (𝑗 · 𝐿)) mod (#‘𝑊))))) |
24 | 23 | imbi2d 329 |
. . . . 5
⊢ (𝑥 = 𝑗 → ((((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊)))) → (𝑊‘𝐼) = (𝑊‘((𝐼 + (𝑥 · 𝐿)) mod (#‘𝑊)))) ↔ (((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊)))) → (𝑊‘𝐼) = (𝑊‘((𝐼 + (𝑗 · 𝐿)) mod (#‘𝑊)))))) |
25 | | zcn 11259 |
. . . . . . . . . . . . 13
⊢ (𝐿 ∈ ℤ → 𝐿 ∈
ℂ) |
26 | 25 | mul02d 10113 |
. . . . . . . . . . . 12
⊢ (𝐿 ∈ ℤ → (0
· 𝐿) =
0) |
27 | 26 | adantl 481 |
. . . . . . . . . . 11
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) → (0 · 𝐿) = 0) |
28 | 27 | adantr 480 |
. . . . . . . . . 10
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊)))) → (0 · 𝐿) = 0) |
29 | 28 | oveq2d 6565 |
. . . . . . . . 9
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊)))) → (𝐼 + (0 · 𝐿)) = (𝐼 + 0)) |
30 | | elfzoelz 12339 |
. . . . . . . . . . . 12
⊢ (𝐼 ∈ (0..^(#‘𝑊)) → 𝐼 ∈ ℤ) |
31 | 30 | zcnd 11359 |
. . . . . . . . . . 11
⊢ (𝐼 ∈ (0..^(#‘𝑊)) → 𝐼 ∈ ℂ) |
32 | 31 | addid1d 10115 |
. . . . . . . . . 10
⊢ (𝐼 ∈ (0..^(#‘𝑊)) → (𝐼 + 0) = 𝐼) |
33 | 32 | ad2antll 761 |
. . . . . . . . 9
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊)))) → (𝐼 + 0) = 𝐼) |
34 | 29, 33 | eqtrd 2644 |
. . . . . . . 8
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊)))) → (𝐼 + (0 · 𝐿)) = 𝐼) |
35 | 34 | oveq1d 6564 |
. . . . . . 7
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊)))) → ((𝐼 + (0 · 𝐿)) mod (#‘𝑊)) = (𝐼 mod (#‘𝑊))) |
36 | | zmodidfzoimp 12562 |
. . . . . . . 8
⊢ (𝐼 ∈ (0..^(#‘𝑊)) → (𝐼 mod (#‘𝑊)) = 𝐼) |
37 | 36 | ad2antll 761 |
. . . . . . 7
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊)))) → (𝐼 mod (#‘𝑊)) = 𝐼) |
38 | 35, 37 | eqtr2d 2645 |
. . . . . 6
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊)))) → 𝐼 = ((𝐼 + (0 · 𝐿)) mod (#‘𝑊))) |
39 | 38 | fveq2d 6107 |
. . . . 5
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊)))) → (𝑊‘𝐼) = (𝑊‘((𝐼 + (0 · 𝐿)) mod (#‘𝑊)))) |
40 | | fveq1 6102 |
. . . . . . . . . . . . 13
⊢ (𝑊 = (𝑊 cyclShift 𝐿) → (𝑊‘((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊))) = ((𝑊 cyclShift 𝐿)‘((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊)))) |
41 | 40 | eqcoms 2618 |
. . . . . . . . . . . 12
⊢ ((𝑊 cyclShift 𝐿) = 𝑊 → (𝑊‘((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊))) = ((𝑊 cyclShift 𝐿)‘((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊)))) |
42 | 41 | ad2antrl 760 |
. . . . . . . . . . 11
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊)))) → (𝑊‘((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊))) = ((𝑊 cyclShift 𝐿)‘((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊)))) |
43 | 42 | adantl 481 |
. . . . . . . . . 10
⊢ ((𝑦 ∈ ℕ0
∧ ((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊))))) → (𝑊‘((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊))) = ((𝑊 cyclShift 𝐿)‘((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊)))) |
44 | | simprll 798 |
. . . . . . . . . . 11
⊢ ((𝑦 ∈ ℕ0
∧ ((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊))))) → 𝑊 ∈ Word 𝑉) |
45 | | simprlr 799 |
. . . . . . . . . . 11
⊢ ((𝑦 ∈ ℕ0
∧ ((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊))))) → 𝐿 ∈ ℤ) |
46 | | elfzo0 12376 |
. . . . . . . . . . . . . . . . . . 19
⊢ (𝐼 ∈ (0..^(#‘𝑊)) ↔ (𝐼 ∈ ℕ0 ∧
(#‘𝑊) ∈ ℕ
∧ 𝐼 < (#‘𝑊))) |
47 | | nn0z 11277 |
. . . . . . . . . . . . . . . . . . . . . . . 24
⊢ (𝐼 ∈ ℕ0
→ 𝐼 ∈
ℤ) |
48 | 47 | adantr 480 |
. . . . . . . . . . . . . . . . . . . . . . 23
⊢ ((𝐼 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ) → 𝐼 ∈
ℤ) |
49 | | nn0z 11277 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢ (𝑦 ∈ ℕ0
→ 𝑦 ∈
ℤ) |
50 | | zmulcl 11303 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢ ((𝑦 ∈ ℤ ∧ 𝐿 ∈ ℤ) → (𝑦 · 𝐿) ∈ ℤ) |
51 | 49, 50 | sylan 487 |
. . . . . . . . . . . . . . . . . . . . . . . 24
⊢ ((𝑦 ∈ ℕ0
∧ 𝐿 ∈ ℤ)
→ (𝑦 · 𝐿) ∈
ℤ) |
52 | 51 | ancoms 468 |
. . . . . . . . . . . . . . . . . . . . . . 23
⊢ ((𝐿 ∈ ℤ ∧ 𝑦 ∈ ℕ0)
→ (𝑦 · 𝐿) ∈
ℤ) |
53 | | zaddcl 11294 |
. . . . . . . . . . . . . . . . . . . . . . 23
⊢ ((𝐼 ∈ ℤ ∧ (𝑦 · 𝐿) ∈ ℤ) → (𝐼 + (𝑦 · 𝐿)) ∈ ℤ) |
54 | 48, 52, 53 | syl2an 493 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ (((𝐼 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ) ∧ (𝐿 ∈
ℤ ∧ 𝑦 ∈
ℕ0)) → (𝐼 + (𝑦 · 𝐿)) ∈ ℤ) |
55 | | simplr 788 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ (((𝐼 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ) ∧ (𝐿 ∈
ℤ ∧ 𝑦 ∈
ℕ0)) → (#‘𝑊) ∈ ℕ) |
56 | 54, 55 | jca 553 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ (((𝐼 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ) ∧ (𝐿 ∈
ℤ ∧ 𝑦 ∈
ℕ0)) → ((𝐼 + (𝑦 · 𝐿)) ∈ ℤ ∧ (#‘𝑊) ∈
ℕ)) |
57 | 56 | ex 449 |
. . . . . . . . . . . . . . . . . . . 20
⊢ ((𝐼 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ) → ((𝐿 ∈
ℤ ∧ 𝑦 ∈
ℕ0) → ((𝐼 + (𝑦 · 𝐿)) ∈ ℤ ∧ (#‘𝑊) ∈
ℕ))) |
58 | 57 | 3adant3 1074 |
. . . . . . . . . . . . . . . . . . 19
⊢ ((𝐼 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ ∧ 𝐼 <
(#‘𝑊)) → ((𝐿 ∈ ℤ ∧ 𝑦 ∈ ℕ0)
→ ((𝐼 + (𝑦 · 𝐿)) ∈ ℤ ∧ (#‘𝑊) ∈
ℕ))) |
59 | 46, 58 | sylbi 206 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝐼 ∈ (0..^(#‘𝑊)) → ((𝐿 ∈ ℤ ∧ 𝑦 ∈ ℕ0) → ((𝐼 + (𝑦 · 𝐿)) ∈ ℤ ∧ (#‘𝑊) ∈
ℕ))) |
60 | 59 | adantl 481 |
. . . . . . . . . . . . . . . . 17
⊢ (((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊))) → ((𝐿 ∈ ℤ ∧ 𝑦 ∈ ℕ0) → ((𝐼 + (𝑦 · 𝐿)) ∈ ℤ ∧ (#‘𝑊) ∈
ℕ))) |
61 | 60 | expd 451 |
. . . . . . . . . . . . . . . 16
⊢ (((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊))) → (𝐿 ∈ ℤ → (𝑦 ∈ ℕ0 → ((𝐼 + (𝑦 · 𝐿)) ∈ ℤ ∧ (#‘𝑊) ∈
ℕ)))) |
62 | 61 | com12 32 |
. . . . . . . . . . . . . . 15
⊢ (𝐿 ∈ ℤ → (((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊))) → (𝑦 ∈ ℕ0 → ((𝐼 + (𝑦 · 𝐿)) ∈ ℤ ∧ (#‘𝑊) ∈
ℕ)))) |
63 | 62 | adantl 481 |
. . . . . . . . . . . . . 14
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) → (((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊))) → (𝑦 ∈ ℕ0 → ((𝐼 + (𝑦 · 𝐿)) ∈ ℤ ∧ (#‘𝑊) ∈
ℕ)))) |
64 | 63 | imp 444 |
. . . . . . . . . . . . 13
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊)))) → (𝑦 ∈ ℕ0 → ((𝐼 + (𝑦 · 𝐿)) ∈ ℤ ∧ (#‘𝑊) ∈
ℕ))) |
65 | 64 | impcom 445 |
. . . . . . . . . . . 12
⊢ ((𝑦 ∈ ℕ0
∧ ((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊))))) → ((𝐼 + (𝑦 · 𝐿)) ∈ ℤ ∧ (#‘𝑊) ∈
ℕ)) |
66 | | zmodfzo 12555 |
. . . . . . . . . . . 12
⊢ (((𝐼 + (𝑦 · 𝐿)) ∈ ℤ ∧ (#‘𝑊) ∈ ℕ) → ((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊)) ∈ (0..^(#‘𝑊))) |
67 | 65, 66 | syl 17 |
. . . . . . . . . . 11
⊢ ((𝑦 ∈ ℕ0
∧ ((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊))))) → ((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊)) ∈ (0..^(#‘𝑊))) |
68 | | cshwidxmod 13400 |
. . . . . . . . . . 11
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ ∧ ((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊)) ∈ (0..^(#‘𝑊))) → ((𝑊 cyclShift 𝐿)‘((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊))) = (𝑊‘((((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊)) + 𝐿) mod (#‘𝑊)))) |
69 | 44, 45, 67, 68 | syl3anc 1318 |
. . . . . . . . . 10
⊢ ((𝑦 ∈ ℕ0
∧ ((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊))))) → ((𝑊 cyclShift 𝐿)‘((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊))) = (𝑊‘((((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊)) + 𝐿) mod (#‘𝑊)))) |
70 | | nn0re 11178 |
. . . . . . . . . . . . . . . . . . . 20
⊢ (𝐼 ∈ ℕ0
→ 𝐼 ∈
ℝ) |
71 | | zre 11258 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ (𝐿 ∈ ℤ → 𝐿 ∈
ℝ) |
72 | | nn0re 11178 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ (𝑦 ∈ ℕ0
→ 𝑦 ∈
ℝ) |
73 | | nnrp 11718 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢
((#‘𝑊) ∈
ℕ → (#‘𝑊)
∈ ℝ+) |
74 | | remulcl 9900 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
⊢ ((𝑦 ∈ ℝ ∧ 𝐿 ∈ ℝ) → (𝑦 · 𝐿) ∈ ℝ) |
75 | 74 | ancoms 468 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
⊢ ((𝐿 ∈ ℝ ∧ 𝑦 ∈ ℝ) → (𝑦 · 𝐿) ∈ ℝ) |
76 | | readdcl 9898 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
⊢ ((𝐼 ∈ ℝ ∧ (𝑦 · 𝐿) ∈ ℝ) → (𝐼 + (𝑦 · 𝐿)) ∈ ℝ) |
77 | 75, 76 | sylan2 490 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
⊢ ((𝐼 ∈ ℝ ∧ (𝐿 ∈ ℝ ∧ 𝑦 ∈ ℝ)) → (𝐼 + (𝑦 · 𝐿)) ∈ ℝ) |
78 | 77 | ancoms 468 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
⊢ (((𝐿 ∈ ℝ ∧ 𝑦 ∈ ℝ) ∧ 𝐼 ∈ ℝ) → (𝐼 + (𝑦 · 𝐿)) ∈ ℝ) |
79 | 78 | adantl 481 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . 28
⊢
(((#‘𝑊) ∈
ℝ+ ∧ ((𝐿 ∈ ℝ ∧ 𝑦 ∈ ℝ) ∧ 𝐼 ∈ ℝ)) → (𝐼 + (𝑦 · 𝐿)) ∈ ℝ) |
80 | | simprll 798 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . 28
⊢
(((#‘𝑊) ∈
ℝ+ ∧ ((𝐿 ∈ ℝ ∧ 𝑦 ∈ ℝ) ∧ 𝐼 ∈ ℝ)) → 𝐿 ∈ ℝ) |
81 | | simpl 472 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . 28
⊢
(((#‘𝑊) ∈
ℝ+ ∧ ((𝐿 ∈ ℝ ∧ 𝑦 ∈ ℝ) ∧ 𝐼 ∈ ℝ)) → (#‘𝑊) ∈
ℝ+) |
82 | | modaddmod 12571 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . 28
⊢ (((𝐼 + (𝑦 · 𝐿)) ∈ ℝ ∧ 𝐿 ∈ ℝ ∧ (#‘𝑊) ∈ ℝ+)
→ ((((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊)) + 𝐿) mod (#‘𝑊)) = (((𝐼 + (𝑦 · 𝐿)) + 𝐿) mod (#‘𝑊))) |
83 | 79, 80, 81, 82 | syl3anc 1318 |
. . . . . . . . . . . . . . . . . . . . . . . . . . 27
⊢
(((#‘𝑊) ∈
ℝ+ ∧ ((𝐿 ∈ ℝ ∧ 𝑦 ∈ ℝ) ∧ 𝐼 ∈ ℝ)) → ((((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊)) + 𝐿) mod (#‘𝑊)) = (((𝐼 + (𝑦 · 𝐿)) + 𝐿) mod (#‘𝑊))) |
84 | | recn 9905 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
⊢ (𝐼 ∈ ℝ → 𝐼 ∈
ℂ) |
85 | 84 | adantl 481 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
⊢ (((𝐿 ∈ ℝ ∧ 𝑦 ∈ ℝ) ∧ 𝐼 ∈ ℝ) → 𝐼 ∈
ℂ) |
86 | 74 | recnd 9947 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
⊢ ((𝑦 ∈ ℝ ∧ 𝐿 ∈ ℝ) → (𝑦 · 𝐿) ∈ ℂ) |
87 | 86 | ancoms 468 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
⊢ ((𝐿 ∈ ℝ ∧ 𝑦 ∈ ℝ) → (𝑦 · 𝐿) ∈ ℂ) |
88 | 87 | adantr 480 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
⊢ (((𝐿 ∈ ℝ ∧ 𝑦 ∈ ℝ) ∧ 𝐼 ∈ ℝ) → (𝑦 · 𝐿) ∈ ℂ) |
89 | | recn 9905 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
⊢ (𝐿 ∈ ℝ → 𝐿 ∈
ℂ) |
90 | 89 | adantr 480 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
⊢ ((𝐿 ∈ ℝ ∧ 𝑦 ∈ ℝ) → 𝐿 ∈
ℂ) |
91 | 90 | adantr 480 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
⊢ (((𝐿 ∈ ℝ ∧ 𝑦 ∈ ℝ) ∧ 𝐼 ∈ ℝ) → 𝐿 ∈
ℂ) |
92 | 85, 88, 91 | addassd 9941 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
⊢ (((𝐿 ∈ ℝ ∧ 𝑦 ∈ ℝ) ∧ 𝐼 ∈ ℝ) → ((𝐼 + (𝑦 · 𝐿)) + 𝐿) = (𝐼 + ((𝑦 · 𝐿) + 𝐿))) |
93 | | recn 9905 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 35
⊢ (𝑦 ∈ ℝ → 𝑦 ∈
ℂ) |
94 | 93 | adantl 481 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
⊢ ((𝐿 ∈ ℝ ∧ 𝑦 ∈ ℝ) → 𝑦 ∈
ℂ) |
95 | | 1cnd 9935 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
⊢ ((𝐿 ∈ ℝ ∧ 𝑦 ∈ ℝ) → 1 ∈
ℂ) |
96 | 94, 95, 90 | adddird 9944 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
⊢ ((𝐿 ∈ ℝ ∧ 𝑦 ∈ ℝ) → ((𝑦 + 1) · 𝐿) = ((𝑦 · 𝐿) + (1 · 𝐿))) |
97 | 89 | mulid2d 9937 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 35
⊢ (𝐿 ∈ ℝ → (1
· 𝐿) = 𝐿) |
98 | 97 | adantr 480 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
⊢ ((𝐿 ∈ ℝ ∧ 𝑦 ∈ ℝ) → (1
· 𝐿) = 𝐿) |
99 | 98 | oveq2d 6565 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
⊢ ((𝐿 ∈ ℝ ∧ 𝑦 ∈ ℝ) → ((𝑦 · 𝐿) + (1 · 𝐿)) = ((𝑦 · 𝐿) + 𝐿)) |
100 | 96, 99 | eqtr2d 2645 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
⊢ ((𝐿 ∈ ℝ ∧ 𝑦 ∈ ℝ) → ((𝑦 · 𝐿) + 𝐿) = ((𝑦 + 1) · 𝐿)) |
101 | 100 | adantr 480 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
⊢ (((𝐿 ∈ ℝ ∧ 𝑦 ∈ ℝ) ∧ 𝐼 ∈ ℝ) → ((𝑦 · 𝐿) + 𝐿) = ((𝑦 + 1) · 𝐿)) |
102 | 101 | oveq2d 6565 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
⊢ (((𝐿 ∈ ℝ ∧ 𝑦 ∈ ℝ) ∧ 𝐼 ∈ ℝ) → (𝐼 + ((𝑦 · 𝐿) + 𝐿)) = (𝐼 + ((𝑦 + 1) · 𝐿))) |
103 | 92, 102 | eqtrd 2644 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
⊢ (((𝐿 ∈ ℝ ∧ 𝑦 ∈ ℝ) ∧ 𝐼 ∈ ℝ) → ((𝐼 + (𝑦 · 𝐿)) + 𝐿) = (𝐼 + ((𝑦 + 1) · 𝐿))) |
104 | 103 | adantl 481 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . 28
⊢
(((#‘𝑊) ∈
ℝ+ ∧ ((𝐿 ∈ ℝ ∧ 𝑦 ∈ ℝ) ∧ 𝐼 ∈ ℝ)) → ((𝐼 + (𝑦 · 𝐿)) + 𝐿) = (𝐼 + ((𝑦 + 1) · 𝐿))) |
105 | 104 | oveq1d 6564 |
. . . . . . . . . . . . . . . . . . . . . . . . . . 27
⊢
(((#‘𝑊) ∈
ℝ+ ∧ ((𝐿 ∈ ℝ ∧ 𝑦 ∈ ℝ) ∧ 𝐼 ∈ ℝ)) → (((𝐼 + (𝑦 · 𝐿)) + 𝐿) mod (#‘𝑊)) = ((𝐼 + ((𝑦 + 1) · 𝐿)) mod (#‘𝑊))) |
106 | 83, 105 | eqtrd 2644 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢
(((#‘𝑊) ∈
ℝ+ ∧ ((𝐿 ∈ ℝ ∧ 𝑦 ∈ ℝ) ∧ 𝐼 ∈ ℝ)) → ((((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊)) + 𝐿) mod (#‘𝑊)) = ((𝐼 + ((𝑦 + 1) · 𝐿)) mod (#‘𝑊))) |
107 | 106 | ex 449 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢
((#‘𝑊) ∈
ℝ+ → (((𝐿 ∈ ℝ ∧ 𝑦 ∈ ℝ) ∧ 𝐼 ∈ ℝ) → ((((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊)) + 𝐿) mod (#‘𝑊)) = ((𝐼 + ((𝑦 + 1) · 𝐿)) mod (#‘𝑊)))) |
108 | 73, 107 | syl 17 |
. . . . . . . . . . . . . . . . . . . . . . . 24
⊢
((#‘𝑊) ∈
ℕ → (((𝐿 ∈
ℝ ∧ 𝑦 ∈
ℝ) ∧ 𝐼 ∈
ℝ) → ((((𝐼 +
(𝑦 · 𝐿)) mod (#‘𝑊)) + 𝐿) mod (#‘𝑊)) = ((𝐼 + ((𝑦 + 1) · 𝐿)) mod (#‘𝑊)))) |
109 | 108 | expd 451 |
. . . . . . . . . . . . . . . . . . . . . . 23
⊢
((#‘𝑊) ∈
ℕ → ((𝐿 ∈
ℝ ∧ 𝑦 ∈
ℝ) → (𝐼 ∈
ℝ → ((((𝐼 +
(𝑦 · 𝐿)) mod (#‘𝑊)) + 𝐿) mod (#‘𝑊)) = ((𝐼 + ((𝑦 + 1) · 𝐿)) mod (#‘𝑊))))) |
110 | 109 | com12 32 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ ((𝐿 ∈ ℝ ∧ 𝑦 ∈ ℝ) →
((#‘𝑊) ∈ ℕ
→ (𝐼 ∈ ℝ
→ ((((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊)) + 𝐿) mod (#‘𝑊)) = ((𝐼 + ((𝑦 + 1) · 𝐿)) mod (#‘𝑊))))) |
111 | 71, 72, 110 | syl2an 493 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ ((𝐿 ∈ ℤ ∧ 𝑦 ∈ ℕ0)
→ ((#‘𝑊) ∈
ℕ → (𝐼 ∈
ℝ → ((((𝐼 +
(𝑦 · 𝐿)) mod (#‘𝑊)) + 𝐿) mod (#‘𝑊)) = ((𝐼 + ((𝑦 + 1) · 𝐿)) mod (#‘𝑊))))) |
112 | 111 | com13 86 |
. . . . . . . . . . . . . . . . . . . 20
⊢ (𝐼 ∈ ℝ →
((#‘𝑊) ∈ ℕ
→ ((𝐿 ∈ ℤ
∧ 𝑦 ∈
ℕ0) → ((((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊)) + 𝐿) mod (#‘𝑊)) = ((𝐼 + ((𝑦 + 1) · 𝐿)) mod (#‘𝑊))))) |
113 | 70, 112 | syl 17 |
. . . . . . . . . . . . . . . . . . 19
⊢ (𝐼 ∈ ℕ0
→ ((#‘𝑊) ∈
ℕ → ((𝐿 ∈
ℤ ∧ 𝑦 ∈
ℕ0) → ((((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊)) + 𝐿) mod (#‘𝑊)) = ((𝐼 + ((𝑦 + 1) · 𝐿)) mod (#‘𝑊))))) |
114 | 113 | imp 444 |
. . . . . . . . . . . . . . . . . 18
⊢ ((𝐼 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ) → ((𝐿 ∈
ℤ ∧ 𝑦 ∈
ℕ0) → ((((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊)) + 𝐿) mod (#‘𝑊)) = ((𝐼 + ((𝑦 + 1) · 𝐿)) mod (#‘𝑊)))) |
115 | 114 | 3adant3 1074 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝐼 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ ∧ 𝐼 <
(#‘𝑊)) → ((𝐿 ∈ ℤ ∧ 𝑦 ∈ ℕ0)
→ ((((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊)) + 𝐿) mod (#‘𝑊)) = ((𝐼 + ((𝑦 + 1) · 𝐿)) mod (#‘𝑊)))) |
116 | 46, 115 | sylbi 206 |
. . . . . . . . . . . . . . . 16
⊢ (𝐼 ∈ (0..^(#‘𝑊)) → ((𝐿 ∈ ℤ ∧ 𝑦 ∈ ℕ0) → ((((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊)) + 𝐿) mod (#‘𝑊)) = ((𝐼 + ((𝑦 + 1) · 𝐿)) mod (#‘𝑊)))) |
117 | 116 | expd 451 |
. . . . . . . . . . . . . . 15
⊢ (𝐼 ∈ (0..^(#‘𝑊)) → (𝐿 ∈ ℤ → (𝑦 ∈ ℕ0 → ((((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊)) + 𝐿) mod (#‘𝑊)) = ((𝐼 + ((𝑦 + 1) · 𝐿)) mod (#‘𝑊))))) |
118 | 117 | adantld 482 |
. . . . . . . . . . . . . 14
⊢ (𝐼 ∈ (0..^(#‘𝑊)) → ((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) → (𝑦 ∈ ℕ0 → ((((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊)) + 𝐿) mod (#‘𝑊)) = ((𝐼 + ((𝑦 + 1) · 𝐿)) mod (#‘𝑊))))) |
119 | 118 | adantl 481 |
. . . . . . . . . . . . 13
⊢ (((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊))) → ((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) → (𝑦 ∈ ℕ0 → ((((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊)) + 𝐿) mod (#‘𝑊)) = ((𝐼 + ((𝑦 + 1) · 𝐿)) mod (#‘𝑊))))) |
120 | 119 | impcom 445 |
. . . . . . . . . . . 12
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊)))) → (𝑦 ∈ ℕ0 → ((((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊)) + 𝐿) mod (#‘𝑊)) = ((𝐼 + ((𝑦 + 1) · 𝐿)) mod (#‘𝑊)))) |
121 | 120 | impcom 445 |
. . . . . . . . . . 11
⊢ ((𝑦 ∈ ℕ0
∧ ((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊))))) → ((((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊)) + 𝐿) mod (#‘𝑊)) = ((𝐼 + ((𝑦 + 1) · 𝐿)) mod (#‘𝑊))) |
122 | 121 | fveq2d 6107 |
. . . . . . . . . 10
⊢ ((𝑦 ∈ ℕ0
∧ ((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊))))) → (𝑊‘((((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊)) + 𝐿) mod (#‘𝑊))) = (𝑊‘((𝐼 + ((𝑦 + 1) · 𝐿)) mod (#‘𝑊)))) |
123 | 43, 69, 122 | 3eqtrd 2648 |
. . . . . . . . 9
⊢ ((𝑦 ∈ ℕ0
∧ ((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊))))) → (𝑊‘((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊))) = (𝑊‘((𝐼 + ((𝑦 + 1) · 𝐿)) mod (#‘𝑊)))) |
124 | 123 | eqeq2d 2620 |
. . . . . . . 8
⊢ ((𝑦 ∈ ℕ0
∧ ((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊))))) → ((𝑊‘𝐼) = (𝑊‘((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊))) ↔ (𝑊‘𝐼) = (𝑊‘((𝐼 + ((𝑦 + 1) · 𝐿)) mod (#‘𝑊))))) |
125 | 124 | biimpd 218 |
. . . . . . 7
⊢ ((𝑦 ∈ ℕ0
∧ ((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊))))) → ((𝑊‘𝐼) = (𝑊‘((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊))) → (𝑊‘𝐼) = (𝑊‘((𝐼 + ((𝑦 + 1) · 𝐿)) mod (#‘𝑊))))) |
126 | 125 | ex 449 |
. . . . . 6
⊢ (𝑦 ∈ ℕ0
→ (((𝑊 ∈ Word
𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊)))) → ((𝑊‘𝐼) = (𝑊‘((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊))) → (𝑊‘𝐼) = (𝑊‘((𝐼 + ((𝑦 + 1) · 𝐿)) mod (#‘𝑊)))))) |
127 | 126 | a2d 29 |
. . . . 5
⊢ (𝑦 ∈ ℕ0
→ ((((𝑊 ∈ Word
𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊)))) → (𝑊‘𝐼) = (𝑊‘((𝐼 + (𝑦 · 𝐿)) mod (#‘𝑊)))) → (((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊)))) → (𝑊‘𝐼) = (𝑊‘((𝐼 + ((𝑦 + 1) · 𝐿)) mod (#‘𝑊)))))) |
128 | 6, 12, 18, 24, 39, 127 | nn0ind 11348 |
. . . 4
⊢ (𝑗 ∈ ℕ0
→ (((𝑊 ∈ Word
𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊)))) → (𝑊‘𝐼) = (𝑊‘((𝐼 + (𝑗 · 𝐿)) mod (#‘𝑊))))) |
129 | 128 | com12 32 |
. . 3
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊)))) → (𝑗 ∈ ℕ0 → (𝑊‘𝐼) = (𝑊‘((𝐼 + (𝑗 · 𝐿)) mod (#‘𝑊))))) |
130 | 129 | ralrimiv 2948 |
. 2
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) ∧ ((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊)))) → ∀𝑗 ∈ ℕ0 (𝑊‘𝐼) = (𝑊‘((𝐼 + (𝑗 · 𝐿)) mod (#‘𝑊)))) |
131 | 130 | ex 449 |
1
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) → (((𝑊 cyclShift 𝐿) = 𝑊 ∧ 𝐼 ∈ (0..^(#‘𝑊))) → ∀𝑗 ∈ ℕ0 (𝑊‘𝐼) = (𝑊‘((𝐼 + (𝑗 · 𝐿)) mod (#‘𝑊))))) |