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

Theorem cshwshashlem1 15796
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 2794 . . . . . . 7 ((𝑊𝑖) ≠ (𝑊‘0) ↔ ¬ (𝑊𝑖) = (𝑊‘0))
21rexbii 3039 . . . . . 6 (∃𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) ≠ (𝑊‘0) ↔ ∃𝑖 ∈ (0..^(#‘𝑊)) ¬ (𝑊𝑖) = (𝑊‘0))
3 rexnal 2994 . . . . . 6 (∃𝑖 ∈ (0..^(#‘𝑊)) ¬ (𝑊𝑖) = (𝑊‘0) ↔ ¬ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0))
42, 3bitri 264 . . . . 5 (∃𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) ≠ (𝑊‘0) ↔ ¬ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0))
5 simpll 790 . . . . . . . . . . 11 (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → 𝜑)
6 fzo0ss1 12494 . . . . . . . . . . . . . 14 (1..^(#‘𝑊)) ⊆ (0..^(#‘𝑊))
7 fzossfz 12484 . . . . . . . . . . . . . 14 (0..^(#‘𝑊)) ⊆ (0...(#‘𝑊))
86, 7sstri 3610 . . . . . . . . . . . . 13 (1..^(#‘𝑊)) ⊆ (0...(#‘𝑊))
98sseli 3597 . . . . . . . . . . . 12 (𝐿 ∈ (1..^(#‘𝑊)) → 𝐿 ∈ (0...(#‘𝑊)))
109ad2antlr 763 . . . . . . . . . . 11 (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → 𝐿 ∈ (0...(#‘𝑊)))
11 simpr 477 . . . . . . . . . . 11 (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝑊 cyclShift 𝐿) = 𝑊)
12 cshwshash.0 . . . . . . . . . . . . 13 (𝜑 → (𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ))
13 simpll 790 . . . . . . . . . . . . . . . . 17 (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊))) → 𝑊 ∈ Word 𝑉)
14 simpr 477 . . . . . . . . . . . . . . . . . 18 ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) → (#‘𝑊) ∈ ℙ)
1514adantr 481 . . . . . . . . . . . . . . . . 17 (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊))) → (#‘𝑊) ∈ ℙ)
16 elfzelz 12339 . . . . . . . . . . . . . . . . . 18 (𝐿 ∈ (0...(#‘𝑊)) → 𝐿 ∈ ℤ)
1716adantl 482 . . . . . . . . . . . . . . . . 17 (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊))) → 𝐿 ∈ ℤ)
18 cshwsidrepswmod0 15795 . . . . . . . . . . . . . . . . 17 ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ ∧ 𝐿 ∈ ℤ) → ((𝑊 cyclShift 𝐿) = 𝑊 → ((𝐿 mod (#‘𝑊)) = 0 ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊)))))
1913, 15, 17, 18syl3anc 1325 . . . . . . . . . . . . . . . 16 (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊))) → ((𝑊 cyclShift 𝐿) = 𝑊 → ((𝐿 mod (#‘𝑊)) = 0 ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊)))))
2019ex 450 . . . . . . . . . . . . . . 15 ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) → (𝐿 ∈ (0...(#‘𝑊)) → ((𝑊 cyclShift 𝐿) = 𝑊 → ((𝐿 mod (#‘𝑊)) = 0 ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))))))
21203imp 1255 . . . . . . . . . . . . . 14 (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → ((𝐿 mod (#‘𝑊)) = 0 ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))))
22 olc 399 . . . . . . . . . . . . . . . . . . . 20 (𝐿 = (#‘𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊)))
2322a1d 25 . . . . . . . . . . . . . . . . . . 19 (𝐿 = (#‘𝑊) → (((𝐿 mod (#‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊)) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊))))
24 fzofzim 12510 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((𝐿 ≠ (#‘𝑊) ∧ 𝐿 ∈ (0...(#‘𝑊))) → 𝐿 ∈ (0..^(#‘𝑊)))
25 zmodidfzoimp 12695 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (𝐿 ∈ (0..^(#‘𝑊)) → (𝐿 mod (#‘𝑊)) = 𝐿)
26 eqtr2 2641 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (((𝐿 mod (#‘𝑊)) = 𝐿 ∧ (𝐿 mod (#‘𝑊)) = 0) → 𝐿 = 0)
2726a1d 25 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (((𝐿 mod (#‘𝑊)) = 𝐿 ∧ (𝐿 mod (#‘𝑊)) = 0) → ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) → 𝐿 = 0))
2827ex 450 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 451 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝐿 ∈ (0...(#‘𝑊)) → (𝐿 ≠ (#‘𝑊) → ((𝐿 mod (#‘𝑊)) = 0 → ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) → 𝐿 = 0))))
3231com24 95 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝐿 ∈ (0...(#‘𝑊)) → ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) → ((𝐿 mod (#‘𝑊)) = 0 → (𝐿 ≠ (#‘𝑊) → 𝐿 = 0))))
3332impcom 446 . . . . . . . . . . . . . . . . . . . . . . . 24 (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊))) → ((𝐿 mod (#‘𝑊)) = 0 → (𝐿 ≠ (#‘𝑊) → 𝐿 = 0)))
34333adant3 1080 . . . . . . . . . . . . . . . . . . . . . . 23 (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → ((𝐿 mod (#‘𝑊)) = 0 → (𝐿 ≠ (#‘𝑊) → 𝐿 = 0)))
3534impcom 446 . . . . . . . . . . . . . . . . . . . . . 22 (((𝐿 mod (#‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊)) → (𝐿 ≠ (#‘𝑊) → 𝐿 = 0))
3635impcom 446 . . . . . . . . . . . . . . . . . . . . 21 ((𝐿 ≠ (#‘𝑊) ∧ ((𝐿 mod (#‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊))) → 𝐿 = 0)
3736orcd 407 . . . . . . . . . . . . . . . . . . . 20 ((𝐿 ≠ (#‘𝑊) ∧ ((𝐿 mod (#‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊))) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊)))
3837ex 450 . . . . . . . . . . . . . . . . . . 19 (𝐿 ≠ (#‘𝑊) → (((𝐿 mod (#‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊)) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊))))
3923, 38pm2.61ine 2876 . . . . . . . . . . . . . . . . . 18 (((𝐿 mod (#‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊)) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊)))
4039orcd 407 . . . . . . . . . . . . . . . . 17 (((𝐿 mod (#‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊)) → ((𝐿 = 0 ∨ 𝐿 = (#‘𝑊)) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))))
41 df-3or 1038 . . . . . . . . . . . . . . . . 17 ((𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))) ↔ ((𝐿 = 0 ∨ 𝐿 = (#‘𝑊)) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))))
4240, 41sylibr 224 . . . . . . . . . . . . . . . 16 (((𝐿 mod (#‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊)) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))))
4342ex 450 . . . . . . . . . . . . . . 15 ((𝐿 mod (#‘𝑊)) = 0 → (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊)))))
44 3mix3 1231 . . . . . . . . . . . . . . . 16 (𝑊 = ((𝑊‘0) repeatS (#‘𝑊)) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))))
4544a1d 25 . . . . . . . . . . . . . . 15 (𝑊 = ((𝑊‘0) repeatS (#‘𝑊)) → (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊)))))
4643, 45jaoi 394 . . . . . . . . . . . . . 14 (((𝐿 mod (#‘𝑊)) = 0 ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))) → (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊)))))
4721, 46mpcom 38 . . . . . . . . . . . . 13 (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))))
4812, 47syl3an1 1358 . . . . . . . . . . . 12 ((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))))
49 3mix1 1229 . . . . . . . . . . . . . 14 (𝐿 = 0 → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
5049a1d 25 . . . . . . . . . . . . 13 (𝐿 = 0 → ((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0))))
51 3mix2 1230 . . . . . . . . . . . . . 14 (𝐿 = (#‘𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
5251a1d 25 . . . . . . . . . . . . 13 (𝐿 = (#‘𝑊) → ((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0))))
53 repswsymballbi 13521 . . . . . . . . . . . . . . . . . . 19 (𝑊 ∈ Word 𝑉 → (𝑊 = ((𝑊‘0) repeatS (#‘𝑊)) ↔ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
5453adantr 481 . . . . . . . . . . . . . . . . . 18 ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) → (𝑊 = ((𝑊‘0) repeatS (#‘𝑊)) ↔ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
5512, 54syl 17 . . . . . . . . . . . . . . . . 17 (𝜑 → (𝑊 = ((𝑊‘0) repeatS (#‘𝑊)) ↔ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
56553ad2ant1 1081 . . . . . . . . . . . . . . . 16 ((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝑊 = ((𝑊‘0) repeatS (#‘𝑊)) ↔ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
5756biimpa 501 . . . . . . . . . . . . . . 15 (((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) ∧ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))) → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0))
58573mix3d 1237 . . . . . . . . . . . . . 14 (((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) ∧ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
5958expcom 451 . . . . . . . . . . . . 13 (𝑊 = ((𝑊‘0) repeatS (#‘𝑊)) → ((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0))))
6050, 52, 593jaoi 1390 . . . . . . . . . . . 12 ((𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))) → ((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0))))
6148, 60mpcom 38 . . . . . . . . . . 11 ((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
625, 10, 11, 61syl3anc 1325 . . . . . . . . . 10 (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
63 elfzo1 12513 . . . . . . . . . . . . . 14 (𝐿 ∈ (1..^(#‘𝑊)) ↔ (𝐿 ∈ ℕ ∧ (#‘𝑊) ∈ ℕ ∧ 𝐿 < (#‘𝑊)))
64 nnne0 11050 . . . . . . . . . . . . . . . 16 (𝐿 ∈ ℕ → 𝐿 ≠ 0)
65 df-ne 2794 . . . . . . . . . . . . . . . . 17 (𝐿 ≠ 0 ↔ ¬ 𝐿 = 0)
66 pm2.21 120 . . . . . . . . . . . . . . . . 17 𝐿 = 0 → (𝐿 = 0 → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
6765, 66sylbi 207 . . . . . . . . . . . . . . . 16 (𝐿 ≠ 0 → (𝐿 = 0 → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
6864, 67syl 17 . . . . . . . . . . . . . . 15 (𝐿 ∈ ℕ → (𝐿 = 0 → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
69683ad2ant1 1081 . . . . . . . . . . . . . 14 ((𝐿 ∈ ℕ ∧ (#‘𝑊) ∈ ℕ ∧ 𝐿 < (#‘𝑊)) → (𝐿 = 0 → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
7063, 69sylbi 207 . . . . . . . . . . . . 13 (𝐿 ∈ (1..^(#‘𝑊)) → (𝐿 = 0 → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
7170ad2antlr 763 . . . . . . . . . . . 12 (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
7271com12 32 . . . . . . . . . . 11 (𝐿 = 0 → (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
73 nnre 11024 . . . . . . . . . . . . . . . . 17 (𝐿 ∈ ℕ → 𝐿 ∈ ℝ)
74 ltne 10131 . . . . . . . . . . . . . . . . 17 ((𝐿 ∈ ℝ ∧ 𝐿 < (#‘𝑊)) → (#‘𝑊) ≠ 𝐿)
7573, 74sylan 488 . . . . . . . . . . . . . . . 16 ((𝐿 ∈ ℕ ∧ 𝐿 < (#‘𝑊)) → (#‘𝑊) ≠ 𝐿)
76 df-ne 2794 . . . . . . . . . . . . . . . . 17 ((#‘𝑊) ≠ 𝐿 ↔ ¬ (#‘𝑊) = 𝐿)
77 eqcom 2628 . . . . . . . . . . . . . . . . . 18 (𝐿 = (#‘𝑊) ↔ (#‘𝑊) = 𝐿)
78 pm2.21 120 . . . . . . . . . . . . . . . . . 18 (¬ (#‘𝑊) = 𝐿 → ((#‘𝑊) = 𝐿 → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
7977, 78syl5bi 232 . . . . . . . . . . . . . . . . 17 (¬ (#‘𝑊) = 𝐿 → (𝐿 = (#‘𝑊) → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
8076, 79sylbi 207 . . . . . . . . . . . . . . . 16 ((#‘𝑊) ≠ 𝐿 → (𝐿 = (#‘𝑊) → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
8175, 80syl 17 . . . . . . . . . . . . . . 15 ((𝐿 ∈ ℕ ∧ 𝐿 < (#‘𝑊)) → (𝐿 = (#‘𝑊) → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
82813adant2 1079 . . . . . . . . . . . . . 14 ((𝐿 ∈ ℕ ∧ (#‘𝑊) ∈ ℕ ∧ 𝐿 < (#‘𝑊)) → (𝐿 = (#‘𝑊) → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
8363, 82sylbi 207 . . . . . . . . . . . . 13 (𝐿 ∈ (1..^(#‘𝑊)) → (𝐿 = (#‘𝑊) → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
8483ad2antlr 763 . . . . . . . . . . . 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 1390 . . . . . . . . . 10 ((𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)) → (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
8862, 87mpcom 38 . . . . . . . . 9 (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0))
8988pm2.24d 147 . . . . . . . 8 (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (¬ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0) → (𝑊 cyclShift 𝐿) ≠ 𝑊))
9089exp31 630 . . . . . . 7 (𝜑 → (𝐿 ∈ (1..^(#‘𝑊)) → ((𝑊 cyclShift 𝐿) = 𝑊 → (¬ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0) → (𝑊 cyclShift 𝐿) ≠ 𝑊))))
9190com34 91 . . . . . 6 (𝜑 → (𝐿 ∈ (1..^(#‘𝑊)) → (¬ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0) → ((𝑊 cyclShift 𝐿) = 𝑊 → (𝑊 cyclShift 𝐿) ≠ 𝑊))))
9291com23 86 . . . . 5 (𝜑 → (¬ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0) → (𝐿 ∈ (1..^(#‘𝑊)) → ((𝑊 cyclShift 𝐿) = 𝑊 → (𝑊 cyclShift 𝐿) ≠ 𝑊))))
934, 92syl5bi 232 . . . 4 (𝜑 → (∃𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) ≠ (𝑊‘0) → (𝐿 ∈ (1..^(#‘𝑊)) → ((𝑊 cyclShift 𝐿) = 𝑊 → (𝑊 cyclShift 𝐿) ≠ 𝑊))))
94933imp 1255 . . 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 2876 1 ((𝜑 ∧ ∃𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) ≠ (𝑊‘0) ∧ 𝐿 ∈ (1..^(#‘𝑊))) → (𝑊 cyclShift 𝐿) ≠ 𝑊)
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 196  wo 383  wa 384  w3o 1036  w3a 1037   = wceq 1482  wcel 1989  wne 2793  wral 2911  wrex 2912   class class class wbr 4651  cfv 5886  (class class class)co 6647  cr 9932  0cc0 9933  1c1 9934   < clt 10071  cn 11017  cz 11374  ...cfz 12323  ..^cfzo 12461   mod cmo 12663  #chash 13112  Word cword 13286   repeatS creps 13293   cyclShift ccsh 13528  cprime 15379
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1721  ax-4 1736  ax-5 1838  ax-6 1887  ax-7 1934  ax-8 1991  ax-9 1998  ax-10 2018  ax-11 2033  ax-12 2046  ax-13 2245  ax-ext 2601  ax-rep 4769  ax-sep 4779  ax-nul 4787  ax-pow 4841  ax-pr 4904  ax-un 6946  ax-cnex 9989  ax-resscn 9990  ax-1cn 9991  ax-icn 9992  ax-addcl 9993  ax-addrcl 9994  ax-mulcl 9995  ax-mulrcl 9996  ax-mulcom 9997  ax-addass 9998  ax-mulass 9999  ax-distr 10000  ax-i2m1 10001  ax-1ne0 10002  ax-1rid 10003  ax-rnegex 10004  ax-rrecex 10005  ax-cnre 10006  ax-pre-lttri 10007  ax-pre-lttrn 10008  ax-pre-ltadd 10009  ax-pre-mulgt0 10010  ax-pre-sup 10011
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3or 1038  df-3an 1039  df-tru 1485  df-ex 1704  df-nf 1709  df-sb 1880  df-eu 2473  df-mo 2474  df-clab 2608  df-cleq 2614  df-clel 2617  df-nfc 2752  df-ne 2794  df-nel 2897  df-ral 2916  df-rex 2917  df-reu 2918  df-rmo 2919  df-rab 2920  df-v 3200  df-sbc 3434  df-csb 3532  df-dif 3575  df-un 3577  df-in 3579  df-ss 3586  df-pss 3588  df-nul 3914  df-if 4085  df-pw 4158  df-sn 4176  df-pr 4178  df-tp 4180  df-op 4182  df-uni 4435  df-int 4474  df-iun 4520  df-br 4652  df-opab 4711  df-mpt 4728  df-tr 4751  df-id 5022  df-eprel 5027  df-po 5033  df-so 5034  df-fr 5071  df-we 5073  df-xp 5118  df-rel 5119  df-cnv 5120  df-co 5121  df-dm 5122  df-rn 5123  df-res 5124  df-ima 5125  df-pred 5678  df-ord 5724  df-on 5725  df-lim 5726  df-suc 5727  df-iota 5849  df-fun 5888  df-fn 5889  df-f 5890  df-f1 5891  df-fo 5892  df-f1o 5893  df-fv 5894  df-riota 6608  df-ov 6650  df-oprab 6651  df-mpt2 6652  df-om 7063  df-1st 7165  df-2nd 7166  df-wrecs 7404  df-recs 7465  df-rdg 7503  df-1o 7557  df-2o 7558  df-oadd 7561  df-er 7739  df-map 7856  df-en 7953  df-dom 7954  df-sdom 7955  df-fin 7956  df-sup 8345  df-inf 8346  df-card 8762  df-cda 8987  df-pnf 10073  df-mnf 10074  df-xr 10075  df-ltxr 10076  df-le 10077  df-sub 10265  df-neg 10266  df-div 10682  df-nn 11018  df-2 11076  df-3 11077  df-n0 11290  df-xnn0 11361  df-z 11375  df-uz 11685  df-rp 11830  df-fz 12324  df-fzo 12462  df-fl 12588  df-mod 12664  df-seq 12797  df-exp 12856  df-hash 13113  df-word 13294  df-concat 13296  df-substr 13298  df-reps 13301  df-csh 13529  df-cj 13833  df-re 13834  df-im 13835  df-sqrt 13969  df-abs 13970  df-dvds 14978  df-gcd 15211  df-prm 15380  df-phi 15465
This theorem is referenced by:  cshwshashlem2  15797
  Copyright terms: Public domain W3C validator