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

Theorem cshwshashlem1 15640
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 2782 . . . . . . 7 ((𝑊𝑖) ≠ (𝑊‘0) ↔ ¬ (𝑊𝑖) = (𝑊‘0))
21rexbii 3023 . . . . . 6 (∃𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) ≠ (𝑊‘0) ↔ ∃𝑖 ∈ (0..^(#‘𝑊)) ¬ (𝑊𝑖) = (𝑊‘0))
3 rexnal 2978 . . . . . 6 (∃𝑖 ∈ (0..^(#‘𝑊)) ¬ (𝑊𝑖) = (𝑊‘0) ↔ ¬ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0))
42, 3bitri 263 . . . . 5 (∃𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) ≠ (𝑊‘0) ↔ ¬ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0))
5 simpll 786 . . . . . . . . . . 11 (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → 𝜑)
6 fzo0ss1 12367 . . . . . . . . . . . . . 14 (1..^(#‘𝑊)) ⊆ (0..^(#‘𝑊))
7 fzossfz 12357 . . . . . . . . . . . . . 14 (0..^(#‘𝑊)) ⊆ (0...(#‘𝑊))
86, 7sstri 3577 . . . . . . . . . . . . 13 (1..^(#‘𝑊)) ⊆ (0...(#‘𝑊))
98sseli 3564 . . . . . . . . . . . 12 (𝐿 ∈ (1..^(#‘𝑊)) → 𝐿 ∈ (0...(#‘𝑊)))
109ad2antlr 759 . . . . . . . . . . 11 (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → 𝐿 ∈ (0...(#‘𝑊)))
11 simpr 476 . . . . . . . . . . 11 (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝑊 cyclShift 𝐿) = 𝑊)
12 cshwshash.0 . . . . . . . . . . . . 13 (𝜑 → (𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ))
13 simpll 786 . . . . . . . . . . . . . . . . 17 (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊))) → 𝑊 ∈ Word 𝑉)
14 simpr 476 . . . . . . . . . . . . . . . . . 18 ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) → (#‘𝑊) ∈ ℙ)
1514adantr 480 . . . . . . . . . . . . . . . . 17 (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊))) → (#‘𝑊) ∈ ℙ)
16 elfzelz 12213 . . . . . . . . . . . . . . . . . 18 (𝐿 ∈ (0...(#‘𝑊)) → 𝐿 ∈ ℤ)
1716adantl 481 . . . . . . . . . . . . . . . . 17 (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊))) → 𝐿 ∈ ℤ)
18 cshwsidrepswmod0 15639 . . . . . . . . . . . . . . . . 17 ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ ∧ 𝐿 ∈ ℤ) → ((𝑊 cyclShift 𝐿) = 𝑊 → ((𝐿 mod (#‘𝑊)) = 0 ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊)))))
1913, 15, 17, 18syl3anc 1318 . . . . . . . . . . . . . . . 16 (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊))) → ((𝑊 cyclShift 𝐿) = 𝑊 → ((𝐿 mod (#‘𝑊)) = 0 ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊)))))
2019ex 449 . . . . . . . . . . . . . . 15 ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) → (𝐿 ∈ (0...(#‘𝑊)) → ((𝑊 cyclShift 𝐿) = 𝑊 → ((𝐿 mod (#‘𝑊)) = 0 ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))))))
21203imp 1249 . . . . . . . . . . . . . 14 (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → ((𝐿 mod (#‘𝑊)) = 0 ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))))
22 olc 398 . . . . . . . . . . . . . . . . . . . 20 (𝐿 = (#‘𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊)))
2322a1d 25 . . . . . . . . . . . . . . . . . . 19 (𝐿 = (#‘𝑊) → (((𝐿 mod (#‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊)) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊))))
24 fzofzim 12382 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((𝐿 ≠ (#‘𝑊) ∧ 𝐿 ∈ (0...(#‘𝑊))) → 𝐿 ∈ (0..^(#‘𝑊)))
25 zmodidfzoimp 12562 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (𝐿 ∈ (0..^(#‘𝑊)) → (𝐿 mod (#‘𝑊)) = 𝐿)
26 eqtr2 2630 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 93 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝐿 ∈ (0...(#‘𝑊)) → ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) → ((𝐿 mod (#‘𝑊)) = 0 → (𝐿 ≠ (#‘𝑊) → 𝐿 = 0))))
3332impcom 445 . . . . . . . . . . . . . . . . . . . . . . . 24 (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊))) → ((𝐿 mod (#‘𝑊)) = 0 → (𝐿 ≠ (#‘𝑊) → 𝐿 = 0)))
34333adant3 1074 . . . . . . . . . . . . . . . . . . . . . . 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 2865 . . . . . . . . . . . . . . . . . 18 (((𝐿 mod (#‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊)) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊)))
4039orcd 406 . . . . . . . . . . . . . . . . 17 (((𝐿 mod (#‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊)) → ((𝐿 = 0 ∨ 𝐿 = (#‘𝑊)) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))))
41 df-3or 1032 . . . . . . . . . . . . . . . . 17 ((𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))) ↔ ((𝐿 = 0 ∨ 𝐿 = (#‘𝑊)) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))))
4240, 41sylibr 223 . . . . . . . . . . . . . . . 16 (((𝐿 mod (#‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊)) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))))
4342ex 449 . . . . . . . . . . . . . . 15 ((𝐿 mod (#‘𝑊)) = 0 → (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊)))))
44 3mix3 1225 . . . . . . . . . . . . . . . 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 37 . . . . . . . . . . . . 13 (((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))))
4812, 47syl3an1 1351 . . . . . . . . . . . 12 ((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))))
49 3mix1 1223 . . . . . . . . . . . . . 14 (𝐿 = 0 → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
5049a1d 25 . . . . . . . . . . . . 13 (𝐿 = 0 → ((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0))))
51 3mix2 1224 . . . . . . . . . . . . . 14 (𝐿 = (#‘𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
5251a1d 25 . . . . . . . . . . . . 13 (𝐿 = (#‘𝑊) → ((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0))))
53 repswsymballbi 13378 . . . . . . . . . . . . . . . . . . 19 (𝑊 ∈ Word 𝑉 → (𝑊 = ((𝑊‘0) repeatS (#‘𝑊)) ↔ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
5453adantr 480 . . . . . . . . . . . . . . . . . 18 ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) ∈ ℙ) → (𝑊 = ((𝑊‘0) repeatS (#‘𝑊)) ↔ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
5512, 54syl 17 . . . . . . . . . . . . . . . . 17 (𝜑 → (𝑊 = ((𝑊‘0) repeatS (#‘𝑊)) ↔ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
56553ad2ant1 1075 . . . . . . . . . . . . . . . 16 ((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝑊 = ((𝑊‘0) repeatS (#‘𝑊)) ↔ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
5756biimpa 500 . . . . . . . . . . . . . . 15 (((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) ∧ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))) → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0))
58573mix3d 1231 . . . . . . . . . . . . . 14 (((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) ∧ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
5958expcom 450 . . . . . . . . . . . . 13 (𝑊 = ((𝑊‘0) repeatS (#‘𝑊)) → ((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0))))
6050, 52, 593jaoi 1383 . . . . . . . . . . . 12 ((𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (#‘𝑊))) → ((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0))))
6148, 60mpcom 37 . . . . . . . . . . 11 ((𝜑𝐿 ∈ (0...(#‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
625, 10, 11, 61syl3anc 1318 . . . . . . . . . 10 (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
63 elfzo1 12385 . . . . . . . . . . . . . 14 (𝐿 ∈ (1..^(#‘𝑊)) ↔ (𝐿 ∈ ℕ ∧ (#‘𝑊) ∈ ℕ ∧ 𝐿 < (#‘𝑊)))
64 nnne0 10930 . . . . . . . . . . . . . . . 16 (𝐿 ∈ ℕ → 𝐿 ≠ 0)
65 df-ne 2782 . . . . . . . . . . . . . . . . 17 (𝐿 ≠ 0 ↔ ¬ 𝐿 = 0)
66 pm2.21 119 . . . . . . . . . . . . . . . . 17 𝐿 = 0 → (𝐿 = 0 → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
6765, 66sylbi 206 . . . . . . . . . . . . . . . 16 (𝐿 ≠ 0 → (𝐿 = 0 → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
6864, 67syl 17 . . . . . . . . . . . . . . 15 (𝐿 ∈ ℕ → (𝐿 = 0 → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
69683ad2ant1 1075 . . . . . . . . . . . . . 14 ((𝐿 ∈ ℕ ∧ (#‘𝑊) ∈ ℕ ∧ 𝐿 < (#‘𝑊)) → (𝐿 = 0 → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
7063, 69sylbi 206 . . . . . . . . . . . . 13 (𝐿 ∈ (1..^(#‘𝑊)) → (𝐿 = 0 → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
7170ad2antlr 759 . . . . . . . . . . . 12 (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
7271com12 32 . . . . . . . . . . 11 (𝐿 = 0 → (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
73 nnre 10904 . . . . . . . . . . . . . . . . 17 (𝐿 ∈ ℕ → 𝐿 ∈ ℝ)
74 ltne 10013 . . . . . . . . . . . . . . . . 17 ((𝐿 ∈ ℝ ∧ 𝐿 < (#‘𝑊)) → (#‘𝑊) ≠ 𝐿)
7573, 74sylan 487 . . . . . . . . . . . . . . . 16 ((𝐿 ∈ ℕ ∧ 𝐿 < (#‘𝑊)) → (#‘𝑊) ≠ 𝐿)
76 df-ne 2782 . . . . . . . . . . . . . . . . 17 ((#‘𝑊) ≠ 𝐿 ↔ ¬ (#‘𝑊) = 𝐿)
77 eqcom 2617 . . . . . . . . . . . . . . . . . 18 (𝐿 = (#‘𝑊) ↔ (#‘𝑊) = 𝐿)
78 pm2.21 119 . . . . . . . . . . . . . . . . . 18 (¬ (#‘𝑊) = 𝐿 → ((#‘𝑊) = 𝐿 → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
7977, 78syl5bi 231 . . . . . . . . . . . . . . . . 17 (¬ (#‘𝑊) = 𝐿 → (𝐿 = (#‘𝑊) → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
8076, 79sylbi 206 . . . . . . . . . . . . . . . 16 ((#‘𝑊) ≠ 𝐿 → (𝐿 = (#‘𝑊) → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
8175, 80syl 17 . . . . . . . . . . . . . . 15 ((𝐿 ∈ ℕ ∧ 𝐿 < (#‘𝑊)) → (𝐿 = (#‘𝑊) → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
82813adant2 1073 . . . . . . . . . . . . . 14 ((𝐿 ∈ ℕ ∧ (#‘𝑊) ∈ ℕ ∧ 𝐿 < (#‘𝑊)) → (𝐿 = (#‘𝑊) → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
8363, 82sylbi 206 . . . . . . . . . . . . 13 (𝐿 ∈ (1..^(#‘𝑊)) → (𝐿 = (#‘𝑊) → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
8483ad2antlr 759 . . . . . . . . . . . 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 1383 . . . . . . . . . 10 ((𝐿 = 0 ∨ 𝐿 = (#‘𝑊) ∨ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)) → (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0)))
8862, 87mpcom 37 . . . . . . . . 9 (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0))
8988pm2.24d 146 . . . . . . . 8 (((𝜑𝐿 ∈ (1..^(#‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (¬ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0) → (𝑊 cyclShift 𝐿) ≠ 𝑊))
9089exp31 628 . . . . . . 7 (𝜑 → (𝐿 ∈ (1..^(#‘𝑊)) → ((𝑊 cyclShift 𝐿) = 𝑊 → (¬ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0) → (𝑊 cyclShift 𝐿) ≠ 𝑊))))
9190com34 89 . . . . . 6 (𝜑 → (𝐿 ∈ (1..^(#‘𝑊)) → (¬ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0) → ((𝑊 cyclShift 𝐿) = 𝑊 → (𝑊 cyclShift 𝐿) ≠ 𝑊))))
9291com23 84 . . . . 5 (𝜑 → (¬ ∀𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) = (𝑊‘0) → (𝐿 ∈ (1..^(#‘𝑊)) → ((𝑊 cyclShift 𝐿) = 𝑊 → (𝑊 cyclShift 𝐿) ≠ 𝑊))))
934, 92syl5bi 231 . . . 4 (𝜑 → (∃𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) ≠ (𝑊‘0) → (𝐿 ∈ (1..^(#‘𝑊)) → ((𝑊 cyclShift 𝐿) = 𝑊 → (𝑊 cyclShift 𝐿) ≠ 𝑊))))
94933imp 1249 . . 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 2865 1 ((𝜑 ∧ ∃𝑖 ∈ (0..^(#‘𝑊))(𝑊𝑖) ≠ (𝑊‘0) ∧ 𝐿 ∈ (1..^(#‘𝑊))) → (𝑊 cyclShift 𝐿) ≠ 𝑊)
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 195  wo 382  wa 383  w3o 1030  w3a 1031   = wceq 1475  wcel 1977  wne 2780  wral 2896  wrex 2897   class class class wbr 4583  cfv 5804  (class class class)co 6549  cr 9814  0cc0 9815  1c1 9816   < clt 9953  cn 10897  cz 11254  ...cfz 12197  ..^cfzo 12334   mod cmo 12530  #chash 12979  Word cword 13146   repeatS creps 13153   cyclShift ccsh 13385  cprime 15223
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1713  ax-4 1728  ax-5 1827  ax-6 1875  ax-7 1922  ax-8 1979  ax-9 1986  ax-10 2006  ax-11 2021  ax-12 2034  ax-13 2234  ax-ext 2590  ax-rep 4699  ax-sep 4709  ax-nul 4717  ax-pow 4769  ax-pr 4833  ax-un 6847  ax-cnex 9871  ax-resscn 9872  ax-1cn 9873  ax-icn 9874  ax-addcl 9875  ax-addrcl 9876  ax-mulcl 9877  ax-mulrcl 9878  ax-mulcom 9879  ax-addass 9880  ax-mulass 9881  ax-distr 9882  ax-i2m1 9883  ax-1ne0 9884  ax-1rid 9885  ax-rnegex 9886  ax-rrecex 9887  ax-cnre 9888  ax-pre-lttri 9889  ax-pre-lttrn 9890  ax-pre-ltadd 9891  ax-pre-mulgt0 9892  ax-pre-sup 9893
This theorem depends on definitions:  df-bi 196  df-or 384  df-an 385  df-3or 1032  df-3an 1033  df-tru 1478  df-ex 1696  df-nf 1701  df-sb 1868  df-eu 2462  df-mo 2463  df-clab 2597  df-cleq 2603  df-clel 2606  df-nfc 2740  df-ne 2782  df-nel 2783  df-ral 2901  df-rex 2902  df-reu 2903  df-rmo 2904  df-rab 2905  df-v 3175  df-sbc 3403  df-csb 3500  df-dif 3543  df-un 3545  df-in 3547  df-ss 3554  df-pss 3556  df-nul 3875  df-if 4037  df-pw 4110  df-sn 4126  df-pr 4128  df-tp 4130  df-op 4132  df-uni 4373  df-int 4411  df-iun 4457  df-br 4584  df-opab 4644  df-mpt 4645  df-tr 4681  df-eprel 4949  df-id 4953  df-po 4959  df-so 4960  df-fr 4997  df-we 4999  df-xp 5044  df-rel 5045  df-cnv 5046  df-co 5047  df-dm 5048  df-rn 5049  df-res 5050  df-ima 5051  df-pred 5597  df-ord 5643  df-on 5644  df-lim 5645  df-suc 5646  df-iota 5768  df-fun 5806  df-fn 5807  df-f 5808  df-f1 5809  df-fo 5810  df-f1o 5811  df-fv 5812  df-riota 6511  df-ov 6552  df-oprab 6553  df-mpt2 6554  df-om 6958  df-1st 7059  df-2nd 7060  df-wrecs 7294  df-recs 7355  df-rdg 7393  df-1o 7447  df-2o 7448  df-oadd 7451  df-er 7629  df-map 7746  df-en 7842  df-dom 7843  df-sdom 7844  df-fin 7845  df-sup 8231  df-inf 8232  df-card 8648  df-cda 8873  df-pnf 9955  df-mnf 9956  df-xr 9957  df-ltxr 9958  df-le 9959  df-sub 10147  df-neg 10148  df-div 10564  df-nn 10898  df-2 10956  df-3 10957  df-n0 11170  df-xnn0 11241  df-z 11255  df-uz 11564  df-rp 11709  df-fz 12198  df-fzo 12335  df-fl 12455  df-mod 12531  df-seq 12664  df-exp 12723  df-hash 12980  df-word 13154  df-concat 13156  df-substr 13158  df-reps 13161  df-csh 13386  df-cj 13687  df-re 13688  df-im 13689  df-sqrt 13823  df-abs 13824  df-dvds 14822  df-gcd 15055  df-prm 15224  df-phi 15309
This theorem is referenced by:  cshwshashlem2  15641
  Copyright terms: Public domain W3C validator