MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  cshwshashlem1 Structured version   Visualization version   GIF version

Theorem cshwshashlem1 15586
Description: If cyclically shifting a word of length being a prime number not consisting of identical symbols by at least one position (and not by as many positions as the length of the word), the result will not be the word itself. (Contributed by AV, 19-May-2018.) (Revised by AV, 8-Jun-2018.) (Revised by AV, 10-Nov-2018.)
Hypothesis
Ref Expression
cshwshash.0 (𝜑 → (𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ))
Assertion
Ref Expression
cshwshashlem1 ((𝜑 ∧ ∃𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) ≠ (𝑊‘0) ∧ 𝐿 ∈ (1..^(#‘𝑊))) → (𝑊 cyclShift 𝐿) ≠ 𝑊)
Distinct variable groups:   𝑖,𝐿   𝑖,𝑉   𝑖,𝑊   𝜑,𝑖

Proof of Theorem cshwshashlem1
StepHypRef Expression
1 df-ne 2781 . . . . . . 7 ((𝑊𝑖) ≠ (𝑊‘0) ↔ ¬ (𝑊𝑖) = (𝑊‘0))
21rexbii 3022 . . . . . 6 (∃𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) ≠ (𝑊‘0) ↔ ∃𝑖 ∈ (0..^(#‘𝑊)) ¬ (𝑊𝑖) = (𝑊‘0))
3 rexnal 2977 . . . . . 6 (∃𝑖 ∈ (0..^(#‘𝑊)) ¬ (𝑊𝑖) = (𝑊‘0) ↔ ¬ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0))
42, 3bitri 262 . . . . 5 (∃𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) ≠ (𝑊‘0) ↔ ¬ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0))
5 simpll 785 . . . . . . . . . . 11 (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → 𝜑)
6 fzo0ss1 12322 . . . . . . . . . . . . . 14 (1..^(#‘𝑊)) ⊆ (0..^(#‘𝑊))
7 fzossfz 12312 . . . . . . . . . . . . . 14 (0..^(#‘𝑊)) ⊆ (0...(#‘𝑊))
86, 7sstri 3576 . . . . . . . . . . . . 13 (1..^(#‘𝑊)) ⊆ (0...(#‘𝑊))
98sseli 3563 . . . . . . . . . . . 12 (𝐿 ∈ (1..^(#‘𝑊)) → 𝐿 ∈ (0...(#‘𝑊)))
109ad2antlr 758 . . . . . . . . . . 11 (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → 𝐿 ∈ (0...(#‘𝑊)))
11 simpr 475 . . . . . . . . . . 11 (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝑊 cyclShift 𝐿) = 𝑊)
12 cshwshash.0 . . . . . . . . . . . . 13 (𝜑 → (𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ))
13 simpll 785 . . . . . . . . . . . . . . . . 17 (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊))) → 𝑊 ∈ Word 𝑉)
14 simpr 475 . . . . . . . . . . . . . . . . . 18 ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) → (#‘𝑊) ∈ ℙ)
1514adantr 479 . . . . . . . . . . . . . . . . 17 (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊))) → (#‘𝑊) ∈ ℙ)
16 elfzelz 12168 . . . . . . . . . . . . . . . . . 18 (𝐿 ∈ (0...(#‘𝑊)) → 𝐿 ∈ ℤ)
1716adantl 480 . . . . . . . . . . . . . . . . 17 (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊))) → 𝐿 ∈ ℤ)
18 cshwsidrepswmod0 15585 . . . . . . . . . . . . . . . . 17 ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ ∧ 𝐿 ∈ ℤ) → ((𝑊 cyclShift 𝐿) = 𝑊 → ((𝐿 mod (#‘𝑊)) = 0 ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊)))))
1913, 15, 17, 18syl3anc 1317 . . . . . . . . . . . . . . . 16 (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊))) → ((𝑊 cyclShift 𝐿) = 𝑊 → ((𝐿 mod (#‘𝑊)) = 0 ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊)))))
2019ex 448 . . . . . . . . . . . . . . 15 ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) → (𝐿 ∈ (0...(#‘𝑊)) → ((𝑊 cyclShift 𝐿) = 𝑊 → ((𝐿 mod (#‘𝑊)) = 0 ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))))))
21203imp 1248 . . . . . . . . . . . . . 14 (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → ((𝐿 mod (#‘𝑊)) = 0 ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))))
22 olc 397 . . . . . . . . . . . . . . . . . . . 20 (𝐿 = (#‘𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊)))
2322a1d 25 . . . . . . . . . . . . . . . . . . 19 (𝐿 = (#‘𝑊) → (((𝐿 mod (#‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊)) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊))))
24 fzofzim 12337 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((𝐿 ≠ (#‘𝑊) ∧ 𝐿 ∈ (0...(#‘𝑊))) → 𝐿 ∈ (0..^(#‘𝑊)))
25 zmodidfzoimp 12517 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (𝐿 ∈ (0..^(#‘𝑊)) → (𝐿 mod (#‘𝑊)) = 𝐿)
26 eqtr2 2629 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (((𝐿 mod (#‘𝑊)) = 𝐿 ∧ (𝐿 mod (#‘𝑊)) = 0) → 𝐿 = 0)
2726a1d 25 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (((𝐿 mod (#‘𝑊)) = 𝐿 ∧ (𝐿 mod (#‘𝑊)) = 0) → ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) → 𝐿 = 0))
2827ex 448 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ((𝐿 mod (#‘𝑊)) = 𝐿 → ((𝐿 mod (#‘𝑊)) = 0 → ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) → 𝐿 = 0)))
2925, 28syl 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (𝐿 ∈ (0..^(#‘𝑊)) → ((𝐿 mod (#‘𝑊)) = 0 → ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) → 𝐿 = 0)))
3024, 29syl 17 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ((𝐿 ≠ (#‘𝑊) ∧ 𝐿 ∈ (0...(#‘𝑊))) → ((𝐿 mod (#‘𝑊)) = 0 → ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) → 𝐿 = 0)))
3130expcom 449 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝐿 ∈ (0...(#‘𝑊)) → (𝐿 ≠ (#‘𝑊) → ((𝐿 mod (#‘𝑊)) = 0 → ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) → 𝐿 = 0))))
3231com24 92 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝐿 ∈ (0...(#‘𝑊)) → ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) → ((𝐿 mod (#‘𝑊)) = 0 → (𝐿 ≠ (#‘𝑊) → 𝐿 = 0))))
3332impcom 444 . . . . . . . . . . . . . . . . . . . . . . . 24 (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊))) → ((𝐿 mod (#‘𝑊)) = 0 → (𝐿 ≠ (#‘𝑊) → 𝐿 = 0)))
34333adant3 1073 . . . . . . . . . . . . . . . . . . . . . . 23 (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → ((𝐿 mod (#‘𝑊)) = 0 → (𝐿 ≠ (#‘𝑊) → 𝐿 = 0)))
3534impcom 444 . . . . . . . . . . . . . . . . . . . . . 22 (((𝐿 mod (#‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊)) → (𝐿 ≠ (#‘𝑊) → 𝐿 = 0))
3635impcom 444 . . . . . . . . . . . . . . . . . . . . 21 ((𝐿 ≠ (#‘𝑊) ∧ ((𝐿 mod (#‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊))) → 𝐿 = 0)
3736orcd 405 . . . . . . . . . . . . . . . . . . . 20 ((𝐿 ≠ (#‘𝑊) ∧ ((𝐿 mod (#‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊))) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊)))
3837ex 448 . . . . . . . . . . . . . . . . . . 19 (𝐿 ≠ (#‘𝑊) → (((𝐿 mod (#‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊)) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊))))
3923, 38pm2.61ine 2864 . . . . . . . . . . . . . . . . . 18 (((𝐿 mod (#‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊)) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊)))
4039orcd 405 . . . . . . . . . . . . . . . . 17 (((𝐿 mod (#‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊)) → ((𝐿 = 0 ∨ 𝐿 = (#‘𝑊)) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))))
41 df-3or 1031 . . . . . . . . . . . . . . . . 17 ((𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))) ↔ ((𝐿 = 0 ∨ 𝐿 = (#‘𝑊)) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))))
4240, 41sylibr 222 . . . . . . . . . . . . . . . 16 (((𝐿 mod (#‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊)) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))))
4342ex 448 . . . . . . . . . . . . . . 15 ((𝐿 mod (#‘𝑊)) = 0 → (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊)))))
44 3mix3 1224 . . . . . . . . . . . . . . . 16 (𝑊 = ((𝑊‘0) repeatS (#‘𝑊)) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))))
4544a1d 25 . . . . . . . . . . . . . . 15 (𝑊 = ((𝑊‘0) repeatS (#‘𝑊)) → (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊)))))
4643, 45jaoi 392 . . . . . . . . . . . . . 14 (((𝐿 mod (#‘𝑊)) = 0 ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))) → (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊)))))
4721, 46mpcom 37 . . . . . . . . . . . . 13 (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))))
4812, 47syl3an1 1350 . . . . . . . . . . . 12 ((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))))
49 3mix1 1222 . . . . . . . . . . . . . 14 (𝐿 = 0 → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
5049a1d 25 . . . . . . . . . . . . 13 (𝐿 = 0 → ((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0))))
51 3mix2 1223 . . . . . . . . . . . . . 14 (𝐿 = (#‘𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
5251a1d 25 . . . . . . . . . . . . 13 (𝐿 = (#‘𝑊) → ((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0))))
53 repswsymballbi 13324 . . . . . . . . . . . . . . . . . . 19 (𝑊 ∈ Word 𝑉 → (𝑊 = ((𝑊‘0) repeatS (#‘𝑊)) ↔ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
5453adantr 479 . . . . . . . . . . . . . . . . . 18 ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) → (𝑊 = ((𝑊‘0) repeatS (#‘𝑊)) ↔ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
5512, 54syl 17 . . . . . . . . . . . . . . . . 17 (𝜑 → (𝑊 = ((𝑊‘0) repeatS (#‘𝑊)) ↔ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
56553ad2ant1 1074 . . . . . . . . . . . . . . . 16 ((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝑊 = ((𝑊‘0) repeatS (#‘𝑊)) ↔ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
5756biimpa 499 . . . . . . . . . . . . . . 15 (((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) ∧ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))) → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0))
58573mix3d 1230 . . . . . . . . . . . . . 14 (((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) ∧ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
5958expcom 449 . . . . . . . . . . . . 13 (𝑊 = ((𝑊‘0) repeatS (#‘𝑊)) → ((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0))))
6050, 52, 593jaoi 1382 . . . . . . . . . . . 12 ((𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))) → ((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0))))
6148, 60mpcom 37 . . . . . . . . . . 11 ((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
625, 10, 11, 61syl3anc 1317 . . . . . . . . . 10 (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
63 elfzo1 12340 . . . . . . . . . . . . . 14 (𝐿 ∈ (1..^(#‘𝑊)) ↔ (𝐿 ∈ ℕ ∧ (#‘𝑊) ∈ ℕ ∧ 𝐿 < (#‘𝑊)))
64 nnne0 10900 . . . . . . . . . . . . . . . 16 (𝐿 ∈ ℕ → 𝐿 ≠ 0)
65 df-ne 2781 . . . . . . . . . . . . . . . . 17 (𝐿 ≠ 0 ↔ ¬ 𝐿 = 0)
66 pm2.21 118 . . . . . . . . . . . . . . . . 17 𝐿 = 0 → (𝐿 = 0 → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
6765, 66sylbi 205 . . . . . . . . . . . . . . . 16 (𝐿 ≠ 0 → (𝐿 = 0 → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
6864, 67syl 17 . . . . . . . . . . . . . . 15 (𝐿 ∈ ℕ → (𝐿 = 0 → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
69683ad2ant1 1074 . . . . . . . . . . . . . 14 ((𝐿 ∈ ℕ ∧ (#‘𝑊) ∈ ℕ ∧ 𝐿 < (#‘𝑊)) → (𝐿 = 0 → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
7063, 69sylbi 205 . . . . . . . . . . . . 13 (𝐿 ∈ (1..^(#‘𝑊)) → (𝐿 = 0 → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
7170ad2antlr 758 . . . . . . . . . . . 12 (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
7271com12 32 . . . . . . . . . . 11 (𝐿 = 0 → (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
73 nnre 10874 . . . . . . . . . . . . . . . . 17 (𝐿 ∈ ℕ → 𝐿 ∈ ℝ)
74 ltne 9985 . . . . . . . . . . . . . . . . 17 ((𝐿 ∈ ℝ ∧ 𝐿 < (#‘𝑊)) → (#‘𝑊) ≠ 𝐿)
7573, 74sylan 486 . . . . . . . . . . . . . . . 16 ((𝐿 ∈ ℕ ∧ 𝐿 < (#‘𝑊)) → (#‘𝑊) ≠ 𝐿)
76 df-ne 2781 . . . . . . . . . . . . . . . . 17 ((#‘𝑊) ≠ 𝐿 ↔ ¬ (#‘𝑊) = 𝐿)
77 eqcom 2616 . . . . . . . . . . . . . . . . . 18 (𝐿 = (#‘𝑊) ↔ (#‘𝑊) = 𝐿)
78 pm2.21 118 . . . . . . . . . . . . . . . . . 18 (¬ (#‘𝑊) = 𝐿 → ((#‘𝑊) = 𝐿 → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
7977, 78syl5bi 230 . . . . . . . . . . . . . . . . 17 (¬ (#‘𝑊) = 𝐿 → (𝐿 = (#‘𝑊) → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
8076, 79sylbi 205 . . . . . . . . . . . . . . . 16 ((#‘𝑊) ≠ 𝐿 → (𝐿 = (#‘𝑊) → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
8175, 80syl 17 . . . . . . . . . . . . . . 15 ((𝐿 ∈ ℕ ∧ 𝐿 < (#‘𝑊)) → (𝐿 = (#‘𝑊) → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
82813adant2 1072 . . . . . . . . . . . . . 14 ((𝐿 ∈ ℕ ∧ (#‘𝑊) ∈ ℕ ∧ 𝐿 < (#‘𝑊)) → (𝐿 = (#‘𝑊) → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
8363, 82sylbi 205 . . . . . . . . . . . . 13 (𝐿 ∈ (1..^(#‘𝑊)) → (𝐿 = (#‘𝑊) → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
8483ad2antlr 758 . . . . . . . . . . . 12 (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = (#‘𝑊) → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
8584com12 32 . . . . . . . . . . 11 (𝐿 = (#‘𝑊) → (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
86 ax-1 6 . . . . . . . . . . 11 (∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0) → (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
8772, 85, 863jaoi 1382 . . . . . . . . . 10 ((𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)) → (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
8862, 87mpcom 37 . . . . . . . . 9 (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0))
8988pm2.24d 145 . . . . . . . 8 (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (¬ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0) → (𝑊 cyclShift 𝐿) ≠ 𝑊))
9089exp31 627 . . . . . . 7 (𝜑 → (𝐿 ∈ (1..^(#‘𝑊)) → ((𝑊 cyclShift 𝐿) = 𝑊 → (¬ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0) → (𝑊 cyclShift 𝐿) ≠ 𝑊))))
9190com34 88 . . . . . 6 (𝜑 → (𝐿 ∈ (1..^(#‘𝑊)) → (¬ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0) → ((𝑊 cyclShift 𝐿) = 𝑊 → (𝑊 cyclShift 𝐿) ≠ 𝑊))))
9291com23 83 . . . . 5 (𝜑 → (¬ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0) → (𝐿 ∈ (1..^(#‘𝑊)) → ((𝑊 cyclShift 𝐿) = 𝑊 → (𝑊 cyclShift 𝐿) ≠ 𝑊))))
934, 92syl5bi 230 . . . 4 (𝜑 → (∃𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) ≠ (𝑊‘0) → (𝐿 ∈ (1..^(#‘𝑊)) → ((𝑊 cyclShift 𝐿) = 𝑊 → (𝑊 cyclShift 𝐿) ≠ 𝑊))))
94933imp 1248 . . 3 ((𝜑 ∧ ∃𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) ≠ (𝑊‘0) ∧ 𝐿 ∈ (1..^(#‘𝑊))) → ((𝑊 cyclShift 𝐿) = 𝑊 → (𝑊 cyclShift 𝐿) ≠ 𝑊))
9594com12 32 . 2 ((𝑊 cyclShift 𝐿) = 𝑊 → ((𝜑 ∧ ∃𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) ≠ (𝑊‘0) ∧ 𝐿 ∈ (1..^(#‘𝑊))) → (𝑊 cyclShift 𝐿) ≠ 𝑊))
96 ax-1 6 . 2 ((𝑊 cyclShift 𝐿) ≠ 𝑊 → ((𝜑 ∧ ∃𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) ≠ (𝑊‘0) ∧ 𝐿 ∈ (1..^(#‘𝑊))) → (𝑊 cyclShift 𝐿) ≠ 𝑊))
9795, 96pm2.61ine 2864 1 ((𝜑 ∧ ∃𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) ≠ (𝑊‘0) ∧ 𝐿 ∈ (1..^(#‘𝑊))) → (𝑊 cyclShift 𝐿) ≠ 𝑊)
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 194  wo 381  wa 382  w3o 1029  w3a 1030   = wceq 1474  wcel 1976  wne 2779  wral 2895  wrex 2896   class class class wbr 4577  cfv 5790  (class class class)co 6527  cr 9791  0cc0 9792  1c1 9793   < clt 9930  cn 10867  cz 11210  ...cfz 12152  ..^cfzo 12289   mod cmo 12485  #chash 12934  Word cword 13092   repeatS creps 13099   cyclShift ccsh 13331  cprime 15169
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1712  ax-4 1727  ax-5 1826  ax-6 1874  ax-7 1921  ax-8 1978  ax-9 1985  ax-10 2005  ax-11 2020  ax-12 2032  ax-13 2232  ax-ext 2589  ax-rep 4693  ax-sep 4703  ax-nul 4712  ax-pow 4764  ax-pr 4828  ax-un 6824  ax-cnex 9848  ax-resscn 9849  ax-1cn 9850  ax-icn 9851  ax-addcl 9852  ax-addrcl 9853  ax-mulcl 9854  ax-mulrcl 9855  ax-mulcom 9856  ax-addass 9857  ax-mulass 9858  ax-distr 9859  ax-i2m1 9860  ax-1ne0 9861  ax-1rid 9862  ax-rnegex 9863  ax-rrecex 9864  ax-cnre 9865  ax-pre-lttri 9866  ax-pre-lttrn 9867  ax-pre-ltadd 9868  ax-pre-mulgt0 9869  ax-pre-sup 9870
This theorem depends on definitions:  df-bi 195  df-or 383  df-an 384  df-3or 1031  df-3an 1032  df-tru 1477  df-ex 1695  df-nf 1700  df-sb 1867  df-eu 2461  df-mo 2462  df-clab 2596  df-cleq 2602  df-clel 2605  df-nfc 2739  df-ne 2781  df-nel 2782  df-ral 2900  df-rex 2901  df-reu 2902  df-rmo 2903  df-rab 2904  df-v 3174  df-sbc 3402  df-csb 3499  df-dif 3542  df-un 3544  df-in 3546  df-ss 3553  df-pss 3555  df-nul 3874  df-if 4036  df-pw 4109  df-sn 4125  df-pr 4127  df-tp 4129  df-op 4131  df-uni 4367  df-int 4405  df-iun 4451  df-br 4578  df-opab 4638  df-mpt 4639  df-tr 4675  df-eprel 4939  df-id 4943  df-po 4949  df-so 4950  df-fr 4987  df-we 4989  df-xp 5034  df-rel 5035  df-cnv 5036  df-co 5037  df-dm 5038  df-rn 5039  df-res 5040  df-ima 5041  df-pred 5583  df-ord 5629  df-on 5630  df-lim 5631  df-suc 5632  df-iota 5754  df-fun 5792  df-fn 5793  df-f 5794  df-f1 5795  df-fo 5796  df-f1o 5797  df-fv 5798  df-riota 6489  df-ov 6530  df-oprab 6531  df-mpt2 6532  df-om 6935  df-1st 7036  df-2nd 7037  df-wrecs 7271  df-recs 7332  df-rdg 7370  df-1o 7424  df-2o 7425  df-oadd 7428  df-er 7606  df-map 7723  df-en 7819  df-dom 7820  df-sdom 7821  df-fin 7822  df-sup 8208  df-inf 8209  df-card 8625  df-cda 8850  df-pnf 9932  df-mnf 9933  df-xr 9934  df-ltxr 9935  df-le 9936  df-sub 10119  df-neg 10120  df-div 10534  df-nn 10868  df-2 10926  df-3 10927  df-n0 11140  df-z 11211  df-uz 11520  df-rp 11665  df-fz 12153  df-fzo 12290  df-fl 12410  df-mod 12486  df-seq 12619  df-exp 12678  df-hash 12935  df-word 13100  df-concat 13102  df-substr 13104  df-reps 13107  df-csh 13332  df-cj 13633  df-re 13634  df-im 13635  df-sqrt 13769  df-abs 13770  df-dvds 14768  df-gcd 15001  df-prm 15170  df-phi 15255
This theorem is referenced by:  cshwshashlem2  15587
  Copyright terms: Public domain W3C validator