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

Theorem cshwshashlem1 15849
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 2824 . . . . . . 7 ((𝑊𝑖) ≠ (𝑊‘0) ↔ ¬ (𝑊𝑖) = (𝑊‘0))
21rexbii 3070 . . . . . 6 (∃𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) ≠ (𝑊‘0) ↔ ∃𝑖 ∈ (0..^(#‘𝑊)) ¬ (𝑊𝑖) = (𝑊‘0))
3 rexnal 3024 . . . . . 6 (∃𝑖 ∈ (0..^(#‘𝑊)) ¬ (𝑊𝑖) = (𝑊‘0) ↔ ¬ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0))
42, 3bitri 264 . . . . 5 (∃𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) ≠ (𝑊‘0) ↔ ¬ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0))
5 simpll 805 . . . . . . . . . . 11 (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → 𝜑)
6 fzo0ss1 12537 . . . . . . . . . . . . . 14 (1..^(#‘𝑊)) ⊆ (0..^(#‘𝑊))
7 fzossfz 12527 . . . . . . . . . . . . . 14 (0..^(#‘𝑊)) ⊆ (0...(#‘𝑊))
86, 7sstri 3645 . . . . . . . . . . . . 13 (1..^(#‘𝑊)) ⊆ (0...(#‘𝑊))
98sseli 3632 . . . . . . . . . . . 12 (𝐿 ∈ (1..^(#‘𝑊)) → 𝐿 ∈ (0...(#‘𝑊)))
109ad2antlr 763 . . . . . . . . . . 11 (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → 𝐿 ∈ (0...(#‘𝑊)))
11 simpr 476 . . . . . . . . . . 11 (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝑊 cyclShift 𝐿) = 𝑊)
12 cshwshash.0 . . . . . . . . . . . . 13 (𝜑 → (𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ))
13 simpll 805 . . . . . . . . . . . . . . . . 17 (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊))) → 𝑊 ∈ Word 𝑉)
14 simpr 476 . . . . . . . . . . . . . . . . . 18 ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) → (#‘𝑊) ∈ ℙ)
1514adantr 480 . . . . . . . . . . . . . . . . 17 (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊))) → (#‘𝑊) ∈ ℙ)
16 elfzelz 12380 . . . . . . . . . . . . . . . . . 18 (𝐿 ∈ (0...(#‘𝑊)) → 𝐿 ∈ ℤ)
1716adantl 481 . . . . . . . . . . . . . . . . 17 (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊))) → 𝐿 ∈ ℤ)
18 cshwsidrepswmod0 15848 . . . . . . . . . . . . . . . . 17 ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ ∧ 𝐿 ∈ ℤ) → ((𝑊 cyclShift 𝐿) = 𝑊 → ((𝐿 mod (#‘𝑊)) = 0 ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊)))))
1913, 15, 17, 18syl3anc 1366 . . . . . . . . . . . . . . . 16 (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊))) → ((𝑊 cyclShift 𝐿) = 𝑊 → ((𝐿 mod (#‘𝑊)) = 0 ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊)))))
2019ex 449 . . . . . . . . . . . . . . 15 ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) → (𝐿 ∈ (0...(#‘𝑊)) → ((𝑊 cyclShift 𝐿) = 𝑊 → ((𝐿 mod (#‘𝑊)) = 0 ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))))))
21203imp 1275 . . . . . . . . . . . . . 14 (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → ((𝐿 mod (#‘𝑊)) = 0 ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))))
22 olc 398 . . . . . . . . . . . . . . . . . . . 20 (𝐿 = (#‘𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊)))
2322a1d 25 . . . . . . . . . . . . . . . . . . 19 (𝐿 = (#‘𝑊) → (((𝐿 mod (#‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊)) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊))))
24 fzofzim 12554 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((𝐿 ≠ (#‘𝑊) ∧ 𝐿 ∈ (0...(#‘𝑊))) → 𝐿 ∈ (0..^(#‘𝑊)))
25 zmodidfzoimp 12740 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (𝐿 ∈ (0..^(#‘𝑊)) → (𝐿 mod (#‘𝑊)) = 𝐿)
26 eqtr2 2671 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (((𝐿 mod (#‘𝑊)) = 𝐿 ∧ (𝐿 mod (#‘𝑊)) = 0) → 𝐿 = 0)
2726a1d 25 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (((𝐿 mod (#‘𝑊)) = 𝐿 ∧ (𝐿 mod (#‘𝑊)) = 0) → ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) → 𝐿 = 0))
2827ex 449 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 450 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝐿 ∈ (0...(#‘𝑊)) → (𝐿 ≠ (#‘𝑊) → ((𝐿 mod (#‘𝑊)) = 0 → ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) → 𝐿 = 0))))
3231com24 95 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝐿 ∈ (0...(#‘𝑊)) → ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) → ((𝐿 mod (#‘𝑊)) = 0 → (𝐿 ≠ (#‘𝑊) → 𝐿 = 0))))
3332impcom 445 . . . . . . . . . . . . . . . . . . . . . . . 24 (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊))) → ((𝐿 mod (#‘𝑊)) = 0 → (𝐿 ≠ (#‘𝑊) → 𝐿 = 0)))
34333adant3 1101 . . . . . . . . . . . . . . . . . . . . . . 23 (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → ((𝐿 mod (#‘𝑊)) = 0 → (𝐿 ≠ (#‘𝑊) → 𝐿 = 0)))
3534impcom 445 . . . . . . . . . . . . . . . . . . . . . 22 (((𝐿 mod (#‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊)) → (𝐿 ≠ (#‘𝑊) → 𝐿 = 0))
3635impcom 445 . . . . . . . . . . . . . . . . . . . . 21 ((𝐿 ≠ (#‘𝑊) ∧ ((𝐿 mod (#‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊))) → 𝐿 = 0)
3736orcd 406 . . . . . . . . . . . . . . . . . . . 20 ((𝐿 ≠ (#‘𝑊) ∧ ((𝐿 mod (#‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊))) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊)))
3837ex 449 . . . . . . . . . . . . . . . . . . 19 (𝐿 ≠ (#‘𝑊) → (((𝐿 mod (#‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊)) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊))))
3923, 38pm2.61ine 2906 . . . . . . . . . . . . . . . . . 18 (((𝐿 mod (#‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊)) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊)))
4039orcd 406 . . . . . . . . . . . . . . . . 17 (((𝐿 mod (#‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊)) → ((𝐿 = 0 ∨ 𝐿 = (#‘𝑊)) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))))
41 df-3or 1055 . . . . . . . . . . . . . . . . 17 ((𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))) ↔ ((𝐿 = 0 ∨ 𝐿 = (#‘𝑊)) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))))
4240, 41sylibr 224 . . . . . . . . . . . . . . . 16 (((𝐿 mod (#‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊)) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))))
4342ex 449 . . . . . . . . . . . . . . 15 ((𝐿 mod (#‘𝑊)) = 0 → (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊)))))
44 3mix3 1252 . . . . . . . . . . . . . . . 16 (𝑊 = ((𝑊‘0) repeatS (#‘𝑊)) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))))
4544a1d 25 . . . . . . . . . . . . . . 15 (𝑊 = ((𝑊‘0) repeatS (#‘𝑊)) → (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊)))))
4643, 45jaoi 393 . . . . . . . . . . . . . 14 (((𝐿 mod (#‘𝑊)) = 0 ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))) → (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊)))))
4721, 46mpcom 38 . . . . . . . . . . . . 13 (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))))
4812, 47syl3an1 1399 . . . . . . . . . . . 12 ((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))))
49 3mix1 1250 . . . . . . . . . . . . . 14 (𝐿 = 0 → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
5049a1d 25 . . . . . . . . . . . . 13 (𝐿 = 0 → ((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0))))
51 3mix2 1251 . . . . . . . . . . . . . 14 (𝐿 = (#‘𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
5251a1d 25 . . . . . . . . . . . . 13 (𝐿 = (#‘𝑊) → ((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0))))
53 repswsymballbi 13573 . . . . . . . . . . . . . . . . . . 19 (𝑊 ∈ Word 𝑉 → (𝑊 = ((𝑊‘0) repeatS (#‘𝑊)) ↔ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
5453adantr 480 . . . . . . . . . . . . . . . . . 18 ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) → (𝑊 = ((𝑊‘0) repeatS (#‘𝑊)) ↔ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
5512, 54syl 17 . . . . . . . . . . . . . . . . 17 (𝜑 → (𝑊 = ((𝑊‘0) repeatS (#‘𝑊)) ↔ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
56553ad2ant1 1102 . . . . . . . . . . . . . . . 16 ((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝑊 = ((𝑊‘0) repeatS (#‘𝑊)) ↔ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
5756biimpa 500 . . . . . . . . . . . . . . 15 (((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) ∧ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))) → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0))
58573mix3d 1258 . . . . . . . . . . . . . 14 (((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) ∧ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
5958expcom 450 . . . . . . . . . . . . 13 (𝑊 = ((𝑊‘0) repeatS (#‘𝑊)) → ((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0))))
6050, 52, 593jaoi 1431 . . . . . . . . . . . 12 ((𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))) → ((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0))))
6148, 60mpcom 38 . . . . . . . . . . 11 ((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
625, 10, 11, 61syl3anc 1366 . . . . . . . . . 10 (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
63 elfzo1 12557 . . . . . . . . . . . . . 14 (𝐿 ∈ (1..^(#‘𝑊)) ↔ (𝐿 ∈ ℕ ∧ (#‘𝑊) ∈ ℕ ∧ 𝐿 < (#‘𝑊)))
64 nnne0 11091 . . . . . . . . . . . . . . . 16 (𝐿 ∈ ℕ → 𝐿 ≠ 0)
65 df-ne 2824 . . . . . . . . . . . . . . . . 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 1102 . . . . . . . . . . . . . 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 11065 . . . . . . . . . . . . . . . . 17 (𝐿 ∈ ℕ → 𝐿 ∈ ℝ)
74 ltne 10172 . . . . . . . . . . . . . . . . 17 ((𝐿 ∈ ℝ ∧ 𝐿 < (#‘𝑊)) → (#‘𝑊) ≠ 𝐿)
7573, 74sylan 487 . . . . . . . . . . . . . . . 16 ((𝐿 ∈ ℕ ∧ 𝐿 < (#‘𝑊)) → (#‘𝑊) ≠ 𝐿)
76 df-ne 2824 . . . . . . . . . . . . . . . . 17 ((#‘𝑊) ≠ 𝐿 ↔ ¬ (#‘𝑊) = 𝐿)
77 eqcom 2658 . . . . . . . . . . . . . . . . . 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 1100 . . . . . . . . . . . . . 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 1431 . . . . . . . . . 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 629 . . . . . . 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 1275 . . 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 2906 1 ((𝜑 ∧ ∃𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) ≠ (𝑊‘0) ∧ 𝐿 ∈ (1..^(#‘𝑊))) → (𝑊 cyclShift 𝐿) ≠ 𝑊)
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 196  wo 382  wa 383  w3o 1053  w3a 1054   = wceq 1523  wcel 2030  wne 2823  wral 2941  wrex 2942   class class class wbr 4685  cfv 5926  (class class class)co 6690  cr 9973  0cc0 9974  1c1 9975   < clt 10112  cn 11058  cz 11415  ...cfz 12364  ..^cfzo 12504   mod cmo 12708  #chash 13157  Word cword 13323   repeatS creps 13330   cyclShift ccsh 13580  cprime 15432
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1762  ax-4 1777  ax-5 1879  ax-6 1945  ax-7 1981  ax-8 2032  ax-9 2039  ax-10 2059  ax-11 2074  ax-12 2087  ax-13 2282  ax-ext 2631  ax-rep 4804  ax-sep 4814  ax-nul 4822  ax-pow 4873  ax-pr 4936  ax-un 6991  ax-cnex 10030  ax-resscn 10031  ax-1cn 10032  ax-icn 10033  ax-addcl 10034  ax-addrcl 10035  ax-mulcl 10036  ax-mulrcl 10037  ax-mulcom 10038  ax-addass 10039  ax-mulass 10040  ax-distr 10041  ax-i2m1 10042  ax-1ne0 10043  ax-1rid 10044  ax-rnegex 10045  ax-rrecex 10046  ax-cnre 10047  ax-pre-lttri 10048  ax-pre-lttrn 10049  ax-pre-ltadd 10050  ax-pre-mulgt0 10051  ax-pre-sup 10052
This theorem depends on definitions:  df-bi 197  df-or 384  df-an 385  df-3or 1055  df-3an 1056  df-tru 1526  df-ex 1745  df-nf 1750  df-sb 1938  df-eu 2502  df-mo 2503  df-clab 2638  df-cleq 2644  df-clel 2647  df-nfc 2782  df-ne 2824  df-nel 2927  df-ral 2946  df-rex 2947  df-reu 2948  df-rmo 2949  df-rab 2950  df-v 3233  df-sbc 3469  df-csb 3567  df-dif 3610  df-un 3612  df-in 3614  df-ss 3621  df-pss 3623  df-nul 3949  df-if 4120  df-pw 4193  df-sn 4211  df-pr 4213  df-tp 4215  df-op 4217  df-uni 4469  df-int 4508  df-iun 4554  df-br 4686  df-opab 4746  df-mpt 4763  df-tr 4786  df-id 5053  df-eprel 5058  df-po 5064  df-so 5065  df-fr 5102  df-we 5104  df-xp 5149  df-rel 5150  df-cnv 5151  df-co 5152  df-dm 5153  df-rn 5154  df-res 5155  df-ima 5156  df-pred 5718  df-ord 5764  df-on 5765  df-lim 5766  df-suc 5767  df-iota 5889  df-fun 5928  df-fn 5929  df-f 5930  df-f1 5931  df-fo 5932  df-f1o 5933  df-fv 5934  df-riota 6651  df-ov 6693  df-oprab 6694  df-mpt2 6695  df-om 7108  df-1st 7210  df-2nd 7211  df-wrecs 7452  df-recs 7513  df-rdg 7551  df-1o 7605  df-2o 7606  df-oadd 7609  df-er 7787  df-map 7901  df-en 7998  df-dom 7999  df-sdom 8000  df-fin 8001  df-sup 8389  df-inf 8390  df-card 8803  df-cda 9028  df-pnf 10114  df-mnf 10115  df-xr 10116  df-ltxr 10117  df-le 10118  df-sub 10306  df-neg 10307  df-div 10723  df-nn 11059  df-2 11117  df-3 11118  df-n0 11331  df-xnn0 11402  df-z 11416  df-uz 11726  df-rp 11871  df-fz 12365  df-fzo 12505  df-fl 12633  df-mod 12709  df-seq 12842  df-exp 12901  df-hash 13158  df-word 13331  df-concat 13333  df-substr 13335  df-reps 13338  df-csh 13581  df-cj 13883  df-re 13884  df-im 13885  df-sqrt 14019  df-abs 14020  df-dvds 15028  df-gcd 15264  df-prm 15433  df-phi 15518
This theorem is referenced by:  cshwshashlem2  15850
  Copyright terms: Public domain W3C validator