Proof of Theorem cshwshashlem2
Step | Hyp | Ref
| Expression |
1 | | oveq1 6657 |
. . . . . . . 8
⊢ ((𝑊 cyclShift 𝐿) = (𝑊 cyclShift 𝐾) → ((𝑊 cyclShift 𝐿) cyclShift ((#‘𝑊) − 𝐿)) = ((𝑊 cyclShift 𝐾) cyclShift ((#‘𝑊) − 𝐿))) |
2 | 1 | eqcomd 2628 |
. . . . . . 7
⊢ ((𝑊 cyclShift 𝐿) = (𝑊 cyclShift 𝐾) → ((𝑊 cyclShift 𝐾) cyclShift ((#‘𝑊) − 𝐿)) = ((𝑊 cyclShift 𝐿) cyclShift ((#‘𝑊) − 𝐿))) |
3 | 2 | ad2antrr 762 |
. . . . . 6
⊢ ((((𝑊 cyclShift 𝐿) = (𝑊 cyclShift 𝐾) ∧ (𝜑 ∧ ∃𝑖 ∈ (0..^(#‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0))) ∧ (𝐿 ∈ (0..^(#‘𝑊)) ∧ 𝐾 ∈ (0..^(#‘𝑊)) ∧ 𝐾 < 𝐿)) → ((𝑊 cyclShift 𝐾) cyclShift ((#‘𝑊) − 𝐿)) = ((𝑊 cyclShift 𝐿) cyclShift ((#‘𝑊) − 𝐿))) |
4 | | cshwshash.0 |
. . . . . . . . . . 11
⊢ (𝜑 → (𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ)) |
5 | 4 | simpld 475 |
. . . . . . . . . 10
⊢ (𝜑 → 𝑊 ∈ Word 𝑉) |
6 | 5 | adantr 481 |
. . . . . . . . 9
⊢ ((𝜑 ∧ ∃𝑖 ∈ (0..^(#‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0)) → 𝑊 ∈ Word 𝑉) |
7 | 6 | adantl 482 |
. . . . . . . 8
⊢ (((𝑊 cyclShift 𝐿) = (𝑊 cyclShift 𝐾) ∧ (𝜑 ∧ ∃𝑖 ∈ (0..^(#‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0))) → 𝑊 ∈ Word 𝑉) |
8 | 7 | adantr 481 |
. . . . . . 7
⊢ ((((𝑊 cyclShift 𝐿) = (𝑊 cyclShift 𝐾) ∧ (𝜑 ∧ ∃𝑖 ∈ (0..^(#‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0))) ∧ (𝐿 ∈ (0..^(#‘𝑊)) ∧ 𝐾 ∈ (0..^(#‘𝑊)) ∧ 𝐾 < 𝐿)) → 𝑊 ∈ Word 𝑉) |
9 | | elfzofz 12485 |
. . . . . . . . 9
⊢ (𝐾 ∈ (0..^(#‘𝑊)) → 𝐾 ∈ (0...(#‘𝑊))) |
10 | 9 | 3ad2ant2 1083 |
. . . . . . . 8
⊢ ((𝐿 ∈ (0..^(#‘𝑊)) ∧ 𝐾 ∈ (0..^(#‘𝑊)) ∧ 𝐾 < 𝐿) → 𝐾 ∈ (0...(#‘𝑊))) |
11 | 10 | adantl 482 |
. . . . . . 7
⊢ ((((𝑊 cyclShift 𝐿) = (𝑊 cyclShift 𝐾) ∧ (𝜑 ∧ ∃𝑖 ∈ (0..^(#‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0))) ∧ (𝐿 ∈ (0..^(#‘𝑊)) ∧ 𝐾 ∈ (0..^(#‘𝑊)) ∧ 𝐾 < 𝐿)) → 𝐾 ∈ (0...(#‘𝑊))) |
12 | | elfzofz 12485 |
. . . . . . . . . 10
⊢ (𝐿 ∈ (0..^(#‘𝑊)) → 𝐿 ∈ (0...(#‘𝑊))) |
13 | | fznn0sub2 12446 |
. . . . . . . . . 10
⊢ (𝐿 ∈ (0...(#‘𝑊)) → ((#‘𝑊) − 𝐿) ∈ (0...(#‘𝑊))) |
14 | 12, 13 | syl 17 |
. . . . . . . . 9
⊢ (𝐿 ∈ (0..^(#‘𝑊)) → ((#‘𝑊) − 𝐿) ∈ (0...(#‘𝑊))) |
15 | 14 | 3ad2ant1 1082 |
. . . . . . . 8
⊢ ((𝐿 ∈ (0..^(#‘𝑊)) ∧ 𝐾 ∈ (0..^(#‘𝑊)) ∧ 𝐾 < 𝐿) → ((#‘𝑊) − 𝐿) ∈ (0...(#‘𝑊))) |
16 | 15 | adantl 482 |
. . . . . . 7
⊢ ((((𝑊 cyclShift 𝐿) = (𝑊 cyclShift 𝐾) ∧ (𝜑 ∧ ∃𝑖 ∈ (0..^(#‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0))) ∧ (𝐿 ∈ (0..^(#‘𝑊)) ∧ 𝐾 ∈ (0..^(#‘𝑊)) ∧ 𝐾 < 𝐿)) → ((#‘𝑊) − 𝐿) ∈ (0...(#‘𝑊))) |
17 | | elfzo0 12508 |
. . . . . . . . . . . 12
⊢ (𝐿 ∈ (0..^(#‘𝑊)) ↔ (𝐿 ∈ ℕ0 ∧
(#‘𝑊) ∈ ℕ
∧ 𝐿 < (#‘𝑊))) |
18 | | zre 11381 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝐾 ∈ ℤ → 𝐾 ∈
ℝ) |
19 | 18 | adantr 481 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝐾 ∈ ℤ ∧ (𝐿 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ)) → 𝐾 ∈
ℝ) |
20 | | nnre 11027 |
. . . . . . . . . . . . . . . . . . 19
⊢
((#‘𝑊) ∈
ℕ → (#‘𝑊)
∈ ℝ) |
21 | | nn0re 11301 |
. . . . . . . . . . . . . . . . . . 19
⊢ (𝐿 ∈ ℕ0
→ 𝐿 ∈
ℝ) |
22 | | resubcl 10345 |
. . . . . . . . . . . . . . . . . . 19
⊢
(((#‘𝑊) ∈
ℝ ∧ 𝐿 ∈
ℝ) → ((#‘𝑊) − 𝐿) ∈ ℝ) |
23 | 20, 21, 22 | syl2anr 495 |
. . . . . . . . . . . . . . . . . 18
⊢ ((𝐿 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ) → ((#‘𝑊) − 𝐿) ∈ ℝ) |
24 | 23 | adantl 482 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝐾 ∈ ℤ ∧ (𝐿 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ)) → ((#‘𝑊) − 𝐿) ∈ ℝ) |
25 | 19, 24 | readdcld 10069 |
. . . . . . . . . . . . . . . 16
⊢ ((𝐾 ∈ ℤ ∧ (𝐿 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ)) → (𝐾 +
((#‘𝑊) − 𝐿)) ∈
ℝ) |
26 | 20 | adantl 482 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝐿 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ) → (#‘𝑊)
∈ ℝ) |
27 | 26 | adantl 482 |
. . . . . . . . . . . . . . . 16
⊢ ((𝐾 ∈ ℤ ∧ (𝐿 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ)) → (#‘𝑊) ∈ ℝ) |
28 | 25, 27 | jca 554 |
. . . . . . . . . . . . . . 15
⊢ ((𝐾 ∈ ℤ ∧ (𝐿 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ)) → ((𝐾 +
((#‘𝑊) − 𝐿)) ∈ ℝ ∧
(#‘𝑊) ∈
ℝ)) |
29 | 28 | ex 450 |
. . . . . . . . . . . . . 14
⊢ (𝐾 ∈ ℤ → ((𝐿 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ) → ((𝐾 +
((#‘𝑊) − 𝐿)) ∈ ℝ ∧
(#‘𝑊) ∈
ℝ))) |
30 | | elfzoelz 12470 |
. . . . . . . . . . . . . 14
⊢ (𝐾 ∈ (0..^(#‘𝑊)) → 𝐾 ∈ ℤ) |
31 | 29, 30 | syl11 33 |
. . . . . . . . . . . . 13
⊢ ((𝐿 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ) → (𝐾 ∈
(0..^(#‘𝑊)) →
((𝐾 + ((#‘𝑊) − 𝐿)) ∈ ℝ ∧ (#‘𝑊) ∈
ℝ))) |
32 | 31 | 3adant3 1081 |
. . . . . . . . . . . 12
⊢ ((𝐿 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ ∧ 𝐿 <
(#‘𝑊)) → (𝐾 ∈ (0..^(#‘𝑊)) → ((𝐾 + ((#‘𝑊) − 𝐿)) ∈ ℝ ∧ (#‘𝑊) ∈
ℝ))) |
33 | 17, 32 | sylbi 207 |
. . . . . . . . . . 11
⊢ (𝐿 ∈ (0..^(#‘𝑊)) → (𝐾 ∈ (0..^(#‘𝑊)) → ((𝐾 + ((#‘𝑊) − 𝐿)) ∈ ℝ ∧ (#‘𝑊) ∈
ℝ))) |
34 | 33 | imp 445 |
. . . . . . . . . 10
⊢ ((𝐿 ∈ (0..^(#‘𝑊)) ∧ 𝐾 ∈ (0..^(#‘𝑊))) → ((𝐾 + ((#‘𝑊) − 𝐿)) ∈ ℝ ∧ (#‘𝑊) ∈
ℝ)) |
35 | 34 | 3adant3 1081 |
. . . . . . . . 9
⊢ ((𝐿 ∈ (0..^(#‘𝑊)) ∧ 𝐾 ∈ (0..^(#‘𝑊)) ∧ 𝐾 < 𝐿) → ((𝐾 + ((#‘𝑊) − 𝐿)) ∈ ℝ ∧ (#‘𝑊) ∈
ℝ)) |
36 | | fzonmapblen 12513 |
. . . . . . . . 9
⊢ ((𝐿 ∈ (0..^(#‘𝑊)) ∧ 𝐾 ∈ (0..^(#‘𝑊)) ∧ 𝐾 < 𝐿) → (𝐾 + ((#‘𝑊) − 𝐿)) < (#‘𝑊)) |
37 | | ltle 10126 |
. . . . . . . . 9
⊢ (((𝐾 + ((#‘𝑊) − 𝐿)) ∈ ℝ ∧ (#‘𝑊) ∈ ℝ) → ((𝐾 + ((#‘𝑊) − 𝐿)) < (#‘𝑊) → (𝐾 + ((#‘𝑊) − 𝐿)) ≤ (#‘𝑊))) |
38 | 35, 36, 37 | sylc 65 |
. . . . . . . 8
⊢ ((𝐿 ∈ (0..^(#‘𝑊)) ∧ 𝐾 ∈ (0..^(#‘𝑊)) ∧ 𝐾 < 𝐿) → (𝐾 + ((#‘𝑊) − 𝐿)) ≤ (#‘𝑊)) |
39 | 38 | adantl 482 |
. . . . . . 7
⊢ ((((𝑊 cyclShift 𝐿) = (𝑊 cyclShift 𝐾) ∧ (𝜑 ∧ ∃𝑖 ∈ (0..^(#‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0))) ∧ (𝐿 ∈ (0..^(#‘𝑊)) ∧ 𝐾 ∈ (0..^(#‘𝑊)) ∧ 𝐾 < 𝐿)) → (𝐾 + ((#‘𝑊) − 𝐿)) ≤ (#‘𝑊)) |
40 | | simpl 473 |
. . . . . . . 8
⊢ ((𝑊 ∈ Word 𝑉 ∧ (𝐾 ∈ (0...(#‘𝑊)) ∧ ((#‘𝑊) − 𝐿) ∈ (0...(#‘𝑊)) ∧ (𝐾 + ((#‘𝑊) − 𝐿)) ≤ (#‘𝑊))) → 𝑊 ∈ Word 𝑉) |
41 | | elfzelz 12342 |
. . . . . . . . . 10
⊢ (𝐾 ∈ (0...(#‘𝑊)) → 𝐾 ∈ ℤ) |
42 | 41 | 3ad2ant1 1082 |
. . . . . . . . 9
⊢ ((𝐾 ∈ (0...(#‘𝑊)) ∧ ((#‘𝑊) − 𝐿) ∈ (0...(#‘𝑊)) ∧ (𝐾 + ((#‘𝑊) − 𝐿)) ≤ (#‘𝑊)) → 𝐾 ∈ ℤ) |
43 | 42 | adantl 482 |
. . . . . . . 8
⊢ ((𝑊 ∈ Word 𝑉 ∧ (𝐾 ∈ (0...(#‘𝑊)) ∧ ((#‘𝑊) − 𝐿) ∈ (0...(#‘𝑊)) ∧ (𝐾 + ((#‘𝑊) − 𝐿)) ≤ (#‘𝑊))) → 𝐾 ∈ ℤ) |
44 | | elfzelz 12342 |
. . . . . . . . . 10
⊢
(((#‘𝑊)
− 𝐿) ∈
(0...(#‘𝑊)) →
((#‘𝑊) − 𝐿) ∈
ℤ) |
45 | 44 | 3ad2ant2 1083 |
. . . . . . . . 9
⊢ ((𝐾 ∈ (0...(#‘𝑊)) ∧ ((#‘𝑊) − 𝐿) ∈ (0...(#‘𝑊)) ∧ (𝐾 + ((#‘𝑊) − 𝐿)) ≤ (#‘𝑊)) → ((#‘𝑊) − 𝐿) ∈ ℤ) |
46 | 45 | adantl 482 |
. . . . . . . 8
⊢ ((𝑊 ∈ Word 𝑉 ∧ (𝐾 ∈ (0...(#‘𝑊)) ∧ ((#‘𝑊) − 𝐿) ∈ (0...(#‘𝑊)) ∧ (𝐾 + ((#‘𝑊) − 𝐿)) ≤ (#‘𝑊))) → ((#‘𝑊) − 𝐿) ∈ ℤ) |
47 | | 2cshw 13559 |
. . . . . . . 8
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝐾 ∈ ℤ ∧ ((#‘𝑊) − 𝐿) ∈ ℤ) → ((𝑊 cyclShift 𝐾) cyclShift ((#‘𝑊) − 𝐿)) = (𝑊 cyclShift (𝐾 + ((#‘𝑊) − 𝐿)))) |
48 | 40, 43, 46, 47 | syl3anc 1326 |
. . . . . . 7
⊢ ((𝑊 ∈ Word 𝑉 ∧ (𝐾 ∈ (0...(#‘𝑊)) ∧ ((#‘𝑊) − 𝐿) ∈ (0...(#‘𝑊)) ∧ (𝐾 + ((#‘𝑊) − 𝐿)) ≤ (#‘𝑊))) → ((𝑊 cyclShift 𝐾) cyclShift ((#‘𝑊) − 𝐿)) = (𝑊 cyclShift (𝐾 + ((#‘𝑊) − 𝐿)))) |
49 | 8, 11, 16, 39, 48 | syl13anc 1328 |
. . . . . 6
⊢ ((((𝑊 cyclShift 𝐿) = (𝑊 cyclShift 𝐾) ∧ (𝜑 ∧ ∃𝑖 ∈ (0..^(#‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0))) ∧ (𝐿 ∈ (0..^(#‘𝑊)) ∧ 𝐾 ∈ (0..^(#‘𝑊)) ∧ 𝐾 < 𝐿)) → ((𝑊 cyclShift 𝐾) cyclShift ((#‘𝑊) − 𝐿)) = (𝑊 cyclShift (𝐾 + ((#‘𝑊) − 𝐿)))) |
50 | 12 | 3ad2ant1 1082 |
. . . . . . 7
⊢ ((𝐿 ∈ (0..^(#‘𝑊)) ∧ 𝐾 ∈ (0..^(#‘𝑊)) ∧ 𝐾 < 𝐿) → 𝐿 ∈ (0...(#‘𝑊))) |
51 | | elfzelz 12342 |
. . . . . . . 8
⊢ (𝐿 ∈ (0...(#‘𝑊)) → 𝐿 ∈ ℤ) |
52 | | 2cshwid 13560 |
. . . . . . . 8
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ ℤ) → ((𝑊 cyclShift 𝐿) cyclShift ((#‘𝑊) − 𝐿)) = 𝑊) |
53 | 51, 52 | sylan2 491 |
. . . . . . 7
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝐿 ∈ (0...(#‘𝑊))) → ((𝑊 cyclShift 𝐿) cyclShift ((#‘𝑊) − 𝐿)) = 𝑊) |
54 | 7, 50, 53 | syl2an 494 |
. . . . . 6
⊢ ((((𝑊 cyclShift 𝐿) = (𝑊 cyclShift 𝐾) ∧ (𝜑 ∧ ∃𝑖 ∈ (0..^(#‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0))) ∧ (𝐿 ∈ (0..^(#‘𝑊)) ∧ 𝐾 ∈ (0..^(#‘𝑊)) ∧ 𝐾 < 𝐿)) → ((𝑊 cyclShift 𝐿) cyclShift ((#‘𝑊) − 𝐿)) = 𝑊) |
55 | 3, 49, 54 | 3eqtr3d 2664 |
. . . . 5
⊢ ((((𝑊 cyclShift 𝐿) = (𝑊 cyclShift 𝐾) ∧ (𝜑 ∧ ∃𝑖 ∈ (0..^(#‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0))) ∧ (𝐿 ∈ (0..^(#‘𝑊)) ∧ 𝐾 ∈ (0..^(#‘𝑊)) ∧ 𝐾 < 𝐿)) → (𝑊 cyclShift (𝐾 + ((#‘𝑊) − 𝐿))) = 𝑊) |
56 | | simplrl 800 |
. . . . . 6
⊢ ((((𝑊 cyclShift 𝐿) = (𝑊 cyclShift 𝐾) ∧ (𝜑 ∧ ∃𝑖 ∈ (0..^(#‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0))) ∧ (𝐿 ∈ (0..^(#‘𝑊)) ∧ 𝐾 ∈ (0..^(#‘𝑊)) ∧ 𝐾 < 𝐿)) → 𝜑) |
57 | | simplrr 801 |
. . . . . 6
⊢ ((((𝑊 cyclShift 𝐿) = (𝑊 cyclShift 𝐾) ∧ (𝜑 ∧ ∃𝑖 ∈ (0..^(#‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0))) ∧ (𝐿 ∈ (0..^(#‘𝑊)) ∧ 𝐾 ∈ (0..^(#‘𝑊)) ∧ 𝐾 < 𝐿)) → ∃𝑖 ∈ (0..^(#‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0)) |
58 | | 3simpa 1058 |
. . . . . . . . . . . 12
⊢ ((𝐿 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ ∧ 𝐿 <
(#‘𝑊)) → (𝐿 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ)) |
59 | 17, 58 | sylbi 207 |
. . . . . . . . . . 11
⊢ (𝐿 ∈ (0..^(#‘𝑊)) → (𝐿 ∈ ℕ0 ∧
(#‘𝑊) ∈
ℕ)) |
60 | | nnz 11399 |
. . . . . . . . . . . . . . 15
⊢
((#‘𝑊) ∈
ℕ → (#‘𝑊)
∈ ℤ) |
61 | | nn0z 11400 |
. . . . . . . . . . . . . . 15
⊢ (𝐿 ∈ ℕ0
→ 𝐿 ∈
ℤ) |
62 | | zsubcl 11419 |
. . . . . . . . . . . . . . 15
⊢
(((#‘𝑊) ∈
ℤ ∧ 𝐿 ∈
ℤ) → ((#‘𝑊) − 𝐿) ∈ ℤ) |
63 | 60, 61, 62 | syl2anr 495 |
. . . . . . . . . . . . . 14
⊢ ((𝐿 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ) → ((#‘𝑊) − 𝐿) ∈ ℤ) |
64 | 63 | anim2i 593 |
. . . . . . . . . . . . 13
⊢ ((𝐾 ∈ ℤ ∧ (𝐿 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ)) → (𝐾 ∈
ℤ ∧ ((#‘𝑊)
− 𝐿) ∈
ℤ)) |
65 | 64 | ancoms 469 |
. . . . . . . . . . . 12
⊢ (((𝐿 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ) ∧ 𝐾 ∈
ℤ) → (𝐾 ∈
ℤ ∧ ((#‘𝑊)
− 𝐿) ∈
ℤ)) |
66 | | zaddcl 11417 |
. . . . . . . . . . . 12
⊢ ((𝐾 ∈ ℤ ∧
((#‘𝑊) − 𝐿) ∈ ℤ) → (𝐾 + ((#‘𝑊) − 𝐿)) ∈ ℤ) |
67 | 65, 66 | syl 17 |
. . . . . . . . . . 11
⊢ (((𝐿 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ) ∧ 𝐾 ∈
ℤ) → (𝐾 +
((#‘𝑊) − 𝐿)) ∈
ℤ) |
68 | 59, 30, 67 | syl2an 494 |
. . . . . . . . . 10
⊢ ((𝐿 ∈ (0..^(#‘𝑊)) ∧ 𝐾 ∈ (0..^(#‘𝑊))) → (𝐾 + ((#‘𝑊) − 𝐿)) ∈ ℤ) |
69 | 68 | 3adant3 1081 |
. . . . . . . . 9
⊢ ((𝐿 ∈ (0..^(#‘𝑊)) ∧ 𝐾 ∈ (0..^(#‘𝑊)) ∧ 𝐾 < 𝐿) → (𝐾 + ((#‘𝑊) − 𝐿)) ∈ ℤ) |
70 | | elfzo0 12508 |
. . . . . . . . . . . . . 14
⊢ (𝐾 ∈ (0..^(#‘𝑊)) ↔ (𝐾 ∈ ℕ0 ∧
(#‘𝑊) ∈ ℕ
∧ 𝐾 < (#‘𝑊))) |
71 | | elnn0z 11390 |
. . . . . . . . . . . . . . . 16
⊢ (𝐾 ∈ ℕ0
↔ (𝐾 ∈ ℤ
∧ 0 ≤ 𝐾)) |
72 | 18 | ad2antrr 762 |
. . . . . . . . . . . . . . . . . 18
⊢ (((𝐾 ∈ ℤ ∧ 0 ≤
𝐾) ∧ (𝐿 ∈ ℕ0 ∧
(#‘𝑊) ∈ ℕ
∧ 𝐿 < (#‘𝑊))) → 𝐾 ∈ ℝ) |
73 | 23 | 3adant3 1081 |
. . . . . . . . . . . . . . . . . . 19
⊢ ((𝐿 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ ∧ 𝐿 <
(#‘𝑊)) →
((#‘𝑊) − 𝐿) ∈
ℝ) |
74 | 73 | adantl 482 |
. . . . . . . . . . . . . . . . . 18
⊢ (((𝐾 ∈ ℤ ∧ 0 ≤
𝐾) ∧ (𝐿 ∈ ℕ0 ∧
(#‘𝑊) ∈ ℕ
∧ 𝐿 < (#‘𝑊))) → ((#‘𝑊) − 𝐿) ∈ ℝ) |
75 | | simplr 792 |
. . . . . . . . . . . . . . . . . 18
⊢ (((𝐾 ∈ ℤ ∧ 0 ≤
𝐾) ∧ (𝐿 ∈ ℕ0 ∧
(#‘𝑊) ∈ ℕ
∧ 𝐿 < (#‘𝑊))) → 0 ≤ 𝐾) |
76 | | posdif 10521 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ ((𝐿 ∈ ℝ ∧
(#‘𝑊) ∈ ℝ)
→ (𝐿 <
(#‘𝑊) ↔ 0 <
((#‘𝑊) − 𝐿))) |
77 | 21, 20, 76 | syl2an 494 |
. . . . . . . . . . . . . . . . . . . 20
⊢ ((𝐿 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ) → (𝐿 <
(#‘𝑊) ↔ 0 <
((#‘𝑊) − 𝐿))) |
78 | 77 | biimp3a 1432 |
. . . . . . . . . . . . . . . . . . 19
⊢ ((𝐿 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ ∧ 𝐿 <
(#‘𝑊)) → 0 <
((#‘𝑊) − 𝐿)) |
79 | 78 | adantl 482 |
. . . . . . . . . . . . . . . . . 18
⊢ (((𝐾 ∈ ℤ ∧ 0 ≤
𝐾) ∧ (𝐿 ∈ ℕ0 ∧
(#‘𝑊) ∈ ℕ
∧ 𝐿 < (#‘𝑊))) → 0 <
((#‘𝑊) − 𝐿)) |
80 | 72, 74, 75, 79 | addgegt0d 10601 |
. . . . . . . . . . . . . . . . 17
⊢ (((𝐾 ∈ ℤ ∧ 0 ≤
𝐾) ∧ (𝐿 ∈ ℕ0 ∧
(#‘𝑊) ∈ ℕ
∧ 𝐿 < (#‘𝑊))) → 0 < (𝐾 + ((#‘𝑊) − 𝐿))) |
81 | 80 | ex 450 |
. . . . . . . . . . . . . . . 16
⊢ ((𝐾 ∈ ℤ ∧ 0 ≤
𝐾) → ((𝐿 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ ∧ 𝐿 <
(#‘𝑊)) → 0 <
(𝐾 + ((#‘𝑊) − 𝐿)))) |
82 | 71, 81 | sylbi 207 |
. . . . . . . . . . . . . . 15
⊢ (𝐾 ∈ ℕ0
→ ((𝐿 ∈
ℕ0 ∧ (#‘𝑊) ∈ ℕ ∧ 𝐿 < (#‘𝑊)) → 0 < (𝐾 + ((#‘𝑊) − 𝐿)))) |
83 | 82 | 3ad2ant1 1082 |
. . . . . . . . . . . . . 14
⊢ ((𝐾 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ ∧ 𝐾 <
(#‘𝑊)) → ((𝐿 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ ∧ 𝐿 <
(#‘𝑊)) → 0 <
(𝐾 + ((#‘𝑊) − 𝐿)))) |
84 | 70, 83 | sylbi 207 |
. . . . . . . . . . . . 13
⊢ (𝐾 ∈ (0..^(#‘𝑊)) → ((𝐿 ∈ ℕ0 ∧
(#‘𝑊) ∈ ℕ
∧ 𝐿 < (#‘𝑊)) → 0 < (𝐾 + ((#‘𝑊) − 𝐿)))) |
85 | 84 | com12 32 |
. . . . . . . . . . . 12
⊢ ((𝐿 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ ∧ 𝐿 <
(#‘𝑊)) → (𝐾 ∈ (0..^(#‘𝑊)) → 0 < (𝐾 + ((#‘𝑊) − 𝐿)))) |
86 | 17, 85 | sylbi 207 |
. . . . . . . . . . 11
⊢ (𝐿 ∈ (0..^(#‘𝑊)) → (𝐾 ∈ (0..^(#‘𝑊)) → 0 < (𝐾 + ((#‘𝑊) − 𝐿)))) |
87 | 86 | imp 445 |
. . . . . . . . . 10
⊢ ((𝐿 ∈ (0..^(#‘𝑊)) ∧ 𝐾 ∈ (0..^(#‘𝑊))) → 0 < (𝐾 + ((#‘𝑊) − 𝐿))) |
88 | 87 | 3adant3 1081 |
. . . . . . . . 9
⊢ ((𝐿 ∈ (0..^(#‘𝑊)) ∧ 𝐾 ∈ (0..^(#‘𝑊)) ∧ 𝐾 < 𝐿) → 0 < (𝐾 + ((#‘𝑊) − 𝐿))) |
89 | | elnnz 11387 |
. . . . . . . . 9
⊢ ((𝐾 + ((#‘𝑊) − 𝐿)) ∈ ℕ ↔ ((𝐾 + ((#‘𝑊) − 𝐿)) ∈ ℤ ∧ 0 < (𝐾 + ((#‘𝑊) − 𝐿)))) |
90 | 69, 88, 89 | sylanbrc 698 |
. . . . . . . 8
⊢ ((𝐿 ∈ (0..^(#‘𝑊)) ∧ 𝐾 ∈ (0..^(#‘𝑊)) ∧ 𝐾 < 𝐿) → (𝐾 + ((#‘𝑊) − 𝐿)) ∈ ℕ) |
91 | 17 | simp2bi 1077 |
. . . . . . . . 9
⊢ (𝐿 ∈ (0..^(#‘𝑊)) → (#‘𝑊) ∈
ℕ) |
92 | 91 | 3ad2ant1 1082 |
. . . . . . . 8
⊢ ((𝐿 ∈ (0..^(#‘𝑊)) ∧ 𝐾 ∈ (0..^(#‘𝑊)) ∧ 𝐾 < 𝐿) → (#‘𝑊) ∈ ℕ) |
93 | | elfzo1 12517 |
. . . . . . . 8
⊢ ((𝐾 + ((#‘𝑊) − 𝐿)) ∈ (1..^(#‘𝑊)) ↔ ((𝐾 + ((#‘𝑊) − 𝐿)) ∈ ℕ ∧ (#‘𝑊) ∈ ℕ ∧ (𝐾 + ((#‘𝑊) − 𝐿)) < (#‘𝑊))) |
94 | 90, 92, 36, 93 | syl3anbrc 1246 |
. . . . . . 7
⊢ ((𝐿 ∈ (0..^(#‘𝑊)) ∧ 𝐾 ∈ (0..^(#‘𝑊)) ∧ 𝐾 < 𝐿) → (𝐾 + ((#‘𝑊) − 𝐿)) ∈ (1..^(#‘𝑊))) |
95 | 94 | adantl 482 |
. . . . . 6
⊢ ((((𝑊 cyclShift 𝐿) = (𝑊 cyclShift 𝐾) ∧ (𝜑 ∧ ∃𝑖 ∈ (0..^(#‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0))) ∧ (𝐿 ∈ (0..^(#‘𝑊)) ∧ 𝐾 ∈ (0..^(#‘𝑊)) ∧ 𝐾 < 𝐿)) → (𝐾 + ((#‘𝑊) − 𝐿)) ∈ (1..^(#‘𝑊))) |
96 | 4 | cshwshashlem1 15802 |
. . . . . 6
⊢ ((𝜑 ∧ ∃𝑖 ∈ (0..^(#‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0) ∧ (𝐾 + ((#‘𝑊) − 𝐿)) ∈ (1..^(#‘𝑊))) → (𝑊 cyclShift (𝐾 + ((#‘𝑊) − 𝐿))) ≠ 𝑊) |
97 | 56, 57, 95, 96 | syl3anc 1326 |
. . . . 5
⊢ ((((𝑊 cyclShift 𝐿) = (𝑊 cyclShift 𝐾) ∧ (𝜑 ∧ ∃𝑖 ∈ (0..^(#‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0))) ∧ (𝐿 ∈ (0..^(#‘𝑊)) ∧ 𝐾 ∈ (0..^(#‘𝑊)) ∧ 𝐾 < 𝐿)) → (𝑊 cyclShift (𝐾 + ((#‘𝑊) − 𝐿))) ≠ 𝑊) |
98 | 55, 97 | pm2.21ddne 2878 |
. . . 4
⊢ ((((𝑊 cyclShift 𝐿) = (𝑊 cyclShift 𝐾) ∧ (𝜑 ∧ ∃𝑖 ∈ (0..^(#‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0))) ∧ (𝐿 ∈ (0..^(#‘𝑊)) ∧ 𝐾 ∈ (0..^(#‘𝑊)) ∧ 𝐾 < 𝐿)) → (𝑊 cyclShift 𝐿) ≠ (𝑊 cyclShift 𝐾)) |
99 | 98 | ex 450 |
. . 3
⊢ (((𝑊 cyclShift 𝐿) = (𝑊 cyclShift 𝐾) ∧ (𝜑 ∧ ∃𝑖 ∈ (0..^(#‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0))) → ((𝐿 ∈ (0..^(#‘𝑊)) ∧ 𝐾 ∈ (0..^(#‘𝑊)) ∧ 𝐾 < 𝐿) → (𝑊 cyclShift 𝐿) ≠ (𝑊 cyclShift 𝐾))) |
100 | 99 | ex 450 |
. 2
⊢ ((𝑊 cyclShift 𝐿) = (𝑊 cyclShift 𝐾) → ((𝜑 ∧ ∃𝑖 ∈ (0..^(#‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0)) → ((𝐿 ∈ (0..^(#‘𝑊)) ∧ 𝐾 ∈ (0..^(#‘𝑊)) ∧ 𝐾 < 𝐿) → (𝑊 cyclShift 𝐿) ≠ (𝑊 cyclShift 𝐾)))) |
101 | | 2a1 28 |
. 2
⊢ ((𝑊 cyclShift 𝐿) ≠ (𝑊 cyclShift 𝐾) → ((𝜑 ∧ ∃𝑖 ∈ (0..^(#‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0)) → ((𝐿 ∈ (0..^(#‘𝑊)) ∧ 𝐾 ∈ (0..^(#‘𝑊)) ∧ 𝐾 < 𝐿) → (𝑊 cyclShift 𝐿) ≠ (𝑊 cyclShift 𝐾)))) |
102 | 100, 101 | pm2.61ine 2877 |
1
⊢ ((𝜑 ∧ ∃𝑖 ∈ (0..^(#‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0)) → ((𝐿 ∈ (0..^(#‘𝑊)) ∧ 𝐾 ∈ (0..^(#‘𝑊)) ∧ 𝐾 < 𝐿) → (𝑊 cyclShift 𝐿) ≠ (𝑊 cyclShift 𝐾))) |