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

Theorem cshwshashlem1 17266
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 2957 . . . . . . 7 ((𝑊‘𝑖) ≠ (𝑊‘0) ↔ ¬ (𝑊‘𝑖) = (𝑊‘0))
21rexbii 3110 . . . . . 6 (∃𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0) ↔ ∃𝑖 ∈ (0..^(♯‘𝑊)) ¬ (𝑊‘𝑖) = (𝑊‘0))
3 rexnal 3115 . . . . . 6 (∃𝑖 ∈ (0..^(♯‘𝑊)) ¬ (𝑊‘𝑖) = (𝑊‘0) ↔ ¬ ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0))
42, 3bitri 278 . . . . 5 (∃𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0) ↔ ¬ ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0))
5 simpll 779 . . . . . . . . . . 11 (((𝜑 ∧ 𝐿 ∈ (1..^(♯‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → 𝜑)
6 fzo0ss1 13817 . . . . . . . . . . . . . 14 (1..^(♯‘𝑊)) ⊆ (0..^(♯‘𝑊))
7 fzossfz 13806 . . . . . . . . . . . . . 14 (0..^(♯‘𝑊)) ⊆ (0...(♯‘𝑊))
86, 7sstri 3940 . . . . . . . . . . . . 13 (1..^(♯‘𝑊)) ⊆ (0...(♯‘𝑊))
98sseli 3927 . . . . . . . . . . . 12 (𝐿 ∈ (1..^(♯‘𝑊)) → 𝐿 ∈ (0...(♯‘𝑊)))
109ad2antlr 740 . . . . . . . . . . 11 (((𝜑 ∧ 𝐿 ∈ (1..^(♯‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → 𝐿 ∈ (0...(♯‘𝑊)))
11 simpr 490 . . . . . . . . . . 11 (((𝜑 ∧ 𝐿 ∈ (1..^(♯‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝑊 cyclShift 𝐿) = 𝑊)
12 cshwshash.0 . . . . . . . . . . . . 13 (𝜑 → (𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ))
13 simpll 779 . . . . . . . . . . . . . . . . 17 (((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(♯‘𝑊))) → 𝑊 ∈ Word 𝑉)
14 simpr 490 . . . . . . . . . . . . . . . . . 18 ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) → (♯‘𝑊) ∈ ℙ)
1514adantr 486 . . . . . . . . . . . . . . . . 17 (((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(♯‘𝑊))) → (♯‘𝑊) ∈ ℙ)
16 elfzelz 13649 . . . . . . . . . . . . . . . . . 18 (𝐿 ∈ (0...(♯‘𝑊)) → 𝐿 ∈ ℤ)
1716adantl 487 . . . . . . . . . . . . . . . . 17 (((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(♯‘𝑊))) → 𝐿 ∈ ℤ)
18 cshwsidrepswmod0 17265 . . . . . . . . . . . . . . . . 17 ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ ∧ 𝐿 ∈ ℤ) → ((𝑊 cyclShift 𝐿) = 𝑊 → ((𝐿 mod (♯‘𝑊)) = 0 ∨ 𝑊 = ((𝑊‘0) repeatS (♯‘𝑊)))))
1913, 15, 17, 18syl3anc 1398 . . . . . . . . . . . . . . . 16 (((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(♯‘𝑊))) → ((𝑊 cyclShift 𝐿) = 𝑊 → ((𝐿 mod (♯‘𝑊)) = 0 ∨ 𝑊 = ((𝑊‘0) repeatS (♯‘𝑊)))))
2019ex 418 . . . . . . . . . . . . . . 15 ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) → (𝐿 ∈ (0...(♯‘𝑊)) → ((𝑊 cyclShift 𝐿) = 𝑊 → ((𝐿 mod (♯‘𝑊)) = 0 ∨ 𝑊 = ((𝑊‘0) repeatS (♯‘𝑊))))))
21203imp 1128 . . . . . . . . . . . . . 14 (((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(♯‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → ((𝐿 mod (♯‘𝑊)) = 0 ∨ 𝑊 = ((𝑊‘0) repeatS (♯‘𝑊))))
22 olc 882 . . . . . . . . . . . . . . . . . . . 20 (𝐿 = (♯‘𝑊) → (𝐿 = 0 ∨ 𝐿 = (♯‘𝑊)))
2322a1d 26 . . . . . . . . . . . . . . . . . . 19 (𝐿 = (♯‘𝑊) → (((𝐿 mod (♯‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(♯‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊)) → (𝐿 = 0 ∨ 𝐿 = (♯‘𝑊))))
24 fzofzim 13837 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((𝐿 ≠ (♯‘𝑊) ∧ 𝐿 ∈ (0...(♯‘𝑊))) → 𝐿 ∈ (0..^(♯‘𝑊)))
25 zmodidfzoimp 14034 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (𝐿 ∈ (0..^(♯‘𝑊)) → (𝐿 mod (♯‘𝑊)) = 𝐿)
26 eqtr2 2782 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (((𝐿 mod (♯‘𝑊)) = 𝐿 ∧ (𝐿 mod (♯‘𝑊)) = 0) → 𝐿 = 0)
2726a1d 26 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (((𝐿 mod (♯‘𝑊)) = 𝐿 ∧ (𝐿 mod (♯‘𝑊)) = 0) → ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) → 𝐿 = 0))
2827ex 418 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ((𝐿 mod (♯‘𝑊)) = 𝐿 → ((𝐿 mod (♯‘𝑊)) = 0 → ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) → 𝐿 = 0)))
2925, 28syl 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (𝐿 ∈ (0..^(♯‘𝑊)) → ((𝐿 mod (♯‘𝑊)) = 0 → ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) → 𝐿 = 0)))
3024, 29syl 18 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ((𝐿 ≠ (♯‘𝑊) ∧ 𝐿 ∈ (0...(♯‘𝑊))) → ((𝐿 mod (♯‘𝑊)) = 0 → ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) → 𝐿 = 0)))
3130expcom 419 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝐿 ∈ (0...(♯‘𝑊)) → (𝐿 ≠ (♯‘𝑊) → ((𝐿 mod (♯‘𝑊)) = 0 → ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) → 𝐿 = 0))))
3231com24 96 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝐿 ∈ (0...(♯‘𝑊)) → ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) → ((𝐿 mod (♯‘𝑊)) = 0 → (𝐿 ≠ (♯‘𝑊) → 𝐿 = 0))))
3332impcom 413 . . . . . . . . . . . . . . . . . . . . . . . 24 (((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(♯‘𝑊))) → ((𝐿 mod (♯‘𝑊)) = 0 → (𝐿 ≠ (♯‘𝑊) → 𝐿 = 0)))
34333adant3 1150 . . . . . . . . . . . . . . . . . . . . . . 23 (((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(♯‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → ((𝐿 mod (♯‘𝑊)) = 0 → (𝐿 ≠ (♯‘𝑊) → 𝐿 = 0)))
3534impcom 413 . . . . . . . . . . . . . . . . . . . . . 22 (((𝐿 mod (♯‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(♯‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊)) → (𝐿 ≠ (♯‘𝑊) → 𝐿 = 0))
3635impcom 413 . . . . . . . . . . . . . . . . . . . . 21 ((𝐿 ≠ (♯‘𝑊) ∧ ((𝐿 mod (♯‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(♯‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊))) → 𝐿 = 0)
3736orcd 887 . . . . . . . . . . . . . . . . . . . 20 ((𝐿 ≠ (♯‘𝑊) ∧ ((𝐿 mod (♯‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(♯‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊))) → (𝐿 = 0 ∨ 𝐿 = (♯‘𝑊)))
3837ex 418 . . . . . . . . . . . . . . . . . . 19 (𝐿 ≠ (♯‘𝑊) → (((𝐿 mod (♯‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(♯‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊)) → (𝐿 = 0 ∨ 𝐿 = (♯‘𝑊))))
3923, 38pm2.61ine 3039 . . . . . . . . . . . . . . . . . 18 (((𝐿 mod (♯‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(♯‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊)) → (𝐿 = 0 ∨ 𝐿 = (♯‘𝑊)))
4039orcd 887 . . . . . . . . . . . . . . . . 17 (((𝐿 mod (♯‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(♯‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊)) → ((𝐿 = 0 ∨ 𝐿 = (♯‘𝑊)) ∨ 𝑊 = ((𝑊‘0) repeatS (♯‘𝑊))))
41 df-3or 1104 . . . . . . . . . . . . . . . . 17 ((𝐿 = 0 ∨ 𝐿 = (♯‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (♯‘𝑊))) ↔ ((𝐿 = 0 ∨ 𝐿 = (♯‘𝑊)) ∨ 𝑊 = ((𝑊‘0) repeatS (♯‘𝑊))))
4240, 41sylibr 237 . . . . . . . . . . . . . . . 16 (((𝐿 mod (♯‘𝑊)) = 0 ∧ ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(♯‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊)) → (𝐿 = 0 ∨ 𝐿 = (♯‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (♯‘𝑊))))
4342ex 418 . . . . . . . . . . . . . . 15 ((𝐿 mod (♯‘𝑊)) = 0 → (((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(♯‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (♯‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (♯‘𝑊)))))
44 3mix3 1351 . . . . . . . . . . . . . . . 16 (𝑊 = ((𝑊‘0) repeatS (♯‘𝑊)) → (𝐿 = 0 ∨ 𝐿 = (♯‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (♯‘𝑊))))
4544a1d 26 . . . . . . . . . . . . . . 15 (𝑊 = ((𝑊‘0) repeatS (♯‘𝑊)) → (((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(♯‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (♯‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (♯‘𝑊)))))
4643, 45jaoi 871 . . . . . . . . . . . . . 14 (((𝐿 mod (♯‘𝑊)) = 0 ∨ 𝑊 = ((𝑊‘0) repeatS (♯‘𝑊))) → (((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(♯‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (♯‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (♯‘𝑊)))))
4721, 46mpcom 39 . . . . . . . . . . . . 13 (((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(♯‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (♯‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (♯‘𝑊))))
4812, 47syl3an1 1181 . . . . . . . . . . . 12 ((𝜑 ∧ 𝐿 ∈ (0...(♯‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (♯‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (♯‘𝑊))))
49 3mix1 1349 . . . . . . . . . . . . . 14 (𝐿 = 0 → (𝐿 = 0 ∨ 𝐿 = (♯‘𝑊) ∨ ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)))
5049a1d 26 . . . . . . . . . . . . 13 (𝐿 = 0 → ((𝜑 ∧ 𝐿 ∈ (0...(♯‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (♯‘𝑊) ∨ ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0))))
51 3mix2 1350 . . . . . . . . . . . . . 14 (𝐿 = (♯‘𝑊) → (𝐿 = 0 ∨ 𝐿 = (♯‘𝑊) ∨ ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)))
5251a1d 26 . . . . . . . . . . . . 13 (𝐿 = (♯‘𝑊) → ((𝜑 ∧ 𝐿 ∈ (0...(♯‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (♯‘𝑊) ∨ ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0))))
53 repswsymballbi 14924 . . . . . . . . . . . . . . . . . . 19 (𝑊 ∈ Word 𝑉 → (𝑊 = ((𝑊‘0) repeatS (♯‘𝑊)) ↔ ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)))
5453adantr 486 . . . . . . . . . . . . . . . . . 18 ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) → (𝑊 = ((𝑊‘0) repeatS (♯‘𝑊)) ↔ ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)))
5512, 54syl 18 . . . . . . . . . . . . . . . . 17 (𝜑 → (𝑊 = ((𝑊‘0) repeatS (♯‘𝑊)) ↔ ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)))
56553ad2ant1 1151 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ 𝐿 ∈ (0...(♯‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝑊 = ((𝑊‘0) repeatS (♯‘𝑊)) ↔ ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)))
5756biimpa 482 . . . . . . . . . . . . . . 15 (((𝜑 ∧ 𝐿 ∈ (0...(♯‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) ∧ 𝑊 = ((𝑊‘0) repeatS (♯‘𝑊))) → ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0))
58573mix3d 1357 . . . . . . . . . . . . . 14 (((𝜑 ∧ 𝐿 ∈ (0...(♯‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) ∧ 𝑊 = ((𝑊‘0) repeatS (♯‘𝑊))) → (𝐿 = 0 ∨ 𝐿 = (♯‘𝑊) ∨ ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)))
5958expcom 419 . . . . . . . . . . . . 13 (𝑊 = ((𝑊‘0) repeatS (♯‘𝑊)) → ((𝜑 ∧ 𝐿 ∈ (0...(♯‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (♯‘𝑊) ∨ ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0))))
6050, 52, 593jaoi 1454 . . . . . . . . . . . 12 ((𝐿 = 0 ∨ 𝐿 = (♯‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (♯‘𝑊))) → ((𝜑 ∧ 𝐿 ∈ (0...(♯‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (♯‘𝑊) ∨ ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0))))
6148, 60mpcom 39 . . . . . . . . . . 11 ((𝜑 ∧ 𝐿 ∈ (0...(♯‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (♯‘𝑊) ∨ ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)))
625, 10, 11, 61syl3anc 1398 . . . . . . . . . 10 (((𝜑 ∧ 𝐿 ∈ (1..^(♯‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (♯‘𝑊) ∨ ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)))
63 elfzo1 13840 . . . . . . . . . . . . . 14 (𝐿 ∈ (1..^(♯‘𝑊)) ↔ (𝐿 ∈ ℕ ∧ (♯‘𝑊) ∈ ℕ ∧ 𝐿 < (♯‘𝑊)))
64 nnne0 12365 . . . . . . . . . . . . . . . 16 (𝐿 ∈ ℕ → 𝐿 ≠ 0)
65 df-ne 2957 . . . . . . . . . . . . . . . . 17 (𝐿 ≠ 0 ↔ ¬ 𝐿 = 0)
66 pm2.21 124 . . . . . . . . . . . . . . . . 17 (¬ 𝐿 = 0 → (𝐿 = 0 → ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)))
6765, 66sylbi 220 . . . . . . . . . . . . . . . 16 (𝐿 ≠ 0 → (𝐿 = 0 → ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)))
6864, 67syl 18 . . . . . . . . . . . . . . 15 (𝐿 ∈ ℕ → (𝐿 = 0 → ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)))
69683ad2ant1 1151 . . . . . . . . . . . . . 14 ((𝐿 ∈ ℕ ∧ (♯‘𝑊) ∈ ℕ ∧ 𝐿 < (♯‘𝑊)) → (𝐿 = 0 → ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)))
7063, 69sylbi 220 . . . . . . . . . . . . 13 (𝐿 ∈ (1..^(♯‘𝑊)) → (𝐿 = 0 → ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)))
7170ad2antlr 740 . . . . . . . . . . . 12 (((𝜑 ∧ 𝐿 ∈ (1..^(♯‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 → ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)))
7271com12 33 . . . . . . . . . . 11 (𝐿 = 0 → (((𝜑 ∧ 𝐿 ∈ (1..^(♯‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)))
73 nnre 12335 . . . . . . . . . . . . . . . . 17 (𝐿 ∈ ℕ → 𝐿 ∈ ℝ)
74 ltne 11400 . . . . . . . . . . . . . . . . 17 ((𝐿 ∈ ℝ ∧ 𝐿 < (♯‘𝑊)) → (♯‘𝑊) ≠ 𝐿)
7573, 74sylan 592 . . . . . . . . . . . . . . . 16 ((𝐿 ∈ ℕ ∧ 𝐿 < (♯‘𝑊)) → (♯‘𝑊) ≠ 𝐿)
76 df-ne 2957 . . . . . . . . . . . . . . . . 17 ((♯‘𝑊) ≠ 𝐿 ↔ ¬ (♯‘𝑊) = 𝐿)
77 eqcom 2768 . . . . . . . . . . . . . . . . . 18 (𝐿 = (♯‘𝑊) ↔ (♯‘𝑊) = 𝐿)
78 pm2.21 124 . . . . . . . . . . . . . . . . . 18 (¬ (♯‘𝑊) = 𝐿 → ((♯‘𝑊) = 𝐿 → ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)))
7977, 78biimtrid 245 . . . . . . . . . . . . . . . . 17 (¬ (♯‘𝑊) = 𝐿 → (𝐿 = (♯‘𝑊) → ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)))
8076, 79sylbi 220 . . . . . . . . . . . . . . . 16 ((♯‘𝑊) ≠ 𝐿 → (𝐿 = (♯‘𝑊) → ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)))
8175, 80syl 18 . . . . . . . . . . . . . . 15 ((𝐿 ∈ ℕ ∧ 𝐿 < (♯‘𝑊)) → (𝐿 = (♯‘𝑊) → ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)))
82813adant2 1149 . . . . . . . . . . . . . 14 ((𝐿 ∈ ℕ ∧ (♯‘𝑊) ∈ ℕ ∧ 𝐿 < (♯‘𝑊)) → (𝐿 = (♯‘𝑊) → ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)))
8363, 82sylbi 220 . . . . . . . . . . . . 13 (𝐿 ∈ (1..^(♯‘𝑊)) → (𝐿 = (♯‘𝑊) → ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)))
8483ad2antlr 740 . . . . . . . . . . . 12 (((𝜑 ∧ 𝐿 ∈ (1..^(♯‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = (♯‘𝑊) → ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)))
8584com12 33 . . . . . . . . . . 11 (𝐿 = (♯‘𝑊) → (((𝜑 ∧ 𝐿 ∈ (1..^(♯‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)))
86 ax-1 6 . . . . . . . . . . 11 (∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0) → (((𝜑 ∧ 𝐿 ∈ (1..^(♯‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)))
8772, 85, 863jaoi 1454 . . . . . . . . . 10 ((𝐿 = 0 ∨ 𝐿 = (♯‘𝑊) ∨ ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)) → (((𝜑 ∧ 𝐿 ∈ (1..^(♯‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)))
8862, 87mpcom 39 . . . . . . . . 9 (((𝜑 ∧ 𝐿 ∈ (1..^(♯‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0))
8988pm2.24d 152 . . . . . . . 8 (((𝜑 ∧ 𝐿 ∈ (1..^(♯‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (¬ ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0) → (𝑊 cyclShift 𝐿) ≠ 𝑊))
9089exp31 425 . . . . . . 7 (𝜑 → (𝐿 ∈ (1..^(♯‘𝑊)) → ((𝑊 cyclShift 𝐿) = 𝑊 → (¬ ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0) → (𝑊 cyclShift 𝐿) ≠ 𝑊))))
9190com34 92 . . . . . 6 (𝜑 → (𝐿 ∈ (1..^(♯‘𝑊)) → (¬ ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0) → ((𝑊 cyclShift 𝐿) = 𝑊 → (𝑊 cyclShift 𝐿) ≠ 𝑊))))
9291com23 87 . . . . 5 (𝜑 → (¬ ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0) → (𝐿 ∈ (1..^(♯‘𝑊)) → ((𝑊 cyclShift 𝐿) = 𝑊 → (𝑊 cyclShift 𝐿) ≠ 𝑊))))
934, 92biimtrid 245 . . . 4 (𝜑 → (∃𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0) → (𝐿 ∈ (1..^(♯‘𝑊)) → ((𝑊 cyclShift 𝐿) = 𝑊 → (𝑊 cyclShift 𝐿) ≠ 𝑊))))
94933imp 1128 . . 3 ((𝜑 ∧ ∃𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0) ∧ 𝐿 ∈ (1..^(♯‘𝑊))) → ((𝑊 cyclShift 𝐿) = 𝑊 → (𝑊 cyclShift 𝐿) ≠ 𝑊))
9594com12 33 . 2 ((𝑊 cyclShift 𝐿) = 𝑊 → ((𝜑 ∧ ∃𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0) ∧ 𝐿 ∈ (1..^(♯‘𝑊))) → (𝑊 cyclShift 𝐿) ≠ 𝑊))
96 ax-1 6 . 2 ((𝑊 cyclShift 𝐿) ≠ 𝑊 → ((𝜑 ∧ ∃𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0) ∧ 𝐿 ∈ (1..^(♯‘𝑊))) → (𝑊 cyclShift 𝐿) ≠ 𝑊))
9795, 96pm2.61ine 3039 1 ((𝜑 ∧ ∃𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0) ∧ 𝐿 ∈ (1..^(♯‘𝑊))) → (𝑊 cyclShift 𝐿) ≠ 𝑊)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  ¬ wn 3   → wi 4   ↔ wb 209   ∧ wa 401   ∨ wo 861   ∨ w3o 1102   ∧ w3a 1103   = wceq 1570   ∈ wcel 2145   ≠ wne 2956  ∀wral 3077  ∃wrex 3087   class class class wbr 5103  ‘cfv 6537  (class class class)co 7418  ℝcr 11192  0cc0 11193  1c1 11194   < clt 11336  ℕcn 12328  ℤcz 12686  ...cfz 13632  ..^cfzo 13781   mod cmo 14002  ♯chash 14467  Word cword 14651   repeatS creps 14912   cyclShift ccsh 14932  ℙcprime 16839
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2213  ax-ext 2733  ax-rep 5232  ax-sep 5249  ax-nul 5260  ax-pow 5327  ax-pr 5391  ax-un 7749  ax-cnex 11249  ax-resscn 11250  ax-1cn 11251  ax-icn 11252  ax-addcl 11253  ax-addrcl 11254  ax-mulcl 11255  ax-mulrcl 11256  ax-mulcom 11257  ax-addass 11258  ax-mulass 11259  ax-distr 11260  ax-i2m1 11261  ax-1ne0 11262  ax-1rid 11263  ax-rnegex 11264  ax-rrecex 11265  ax-cnre 11266  ax-pre-lttri 11267  ax-pre-lttrn 11268  ax-pre-ltadd 11269  ax-pre-mulgt0 11270  ax-pre-sup 11271
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2565  df-eu 2595  df-clab 2740  df-cleq 2753  df-clel 2836  df-nfc 2910  df-ne 2957  df-nel 3063  df-ral 3078  df-rex 3088  df-rmo 3366  df-reu 3367  df-rab 3414  df-v 3453  df-sbc 3740  df-csb 3848  df-dif 3902  df-un 3904  df-in 3906  df-ss 3916  df-pss 3919  df-nul 4280  df-if 4483  df-pw 4559  df-sn 4585  df-pr 4587  df-op 4591  df-uni 4868  df-int 4908  df-iun 4953  df-br 5104  df-opab 5168  df-mpt 5187  df-tr 5213  df-id 5546  df-eprel 5551  df-po 5559  df-so 5560  df-fr 5604  df-we 5606  df-xp 5657  df-rel 5658  df-cnv 5659  df-co 5660  df-dm 5661  df-rn 5662  df-res 5663  df-ima 5664  df-pred 6303  df-ord 6364  df-on 6365  df-lim 6366  df-suc 6367  df-iota 6493  df-fun 6539  df-fn 6540  df-f 6541  df-f1 6542  df-fo 6543  df-f1o 6544  df-fv 6545  df-riota 7375  df-ov 7421  df-oprab 7422  df-mpo 7423  df-om 7876  df-1st 7999  df-2nd 8000  df-frecs 8292  df-wrecs 8323  df-recs 8372  df-rdg 8411  df-1o 8469  df-2o 8470  df-oadd 8473  df-er 8710  df-en 8967  df-dom 8968  df-sdom 8969  df-fin 8970  df-sup 9427  df-inf 9428  df-dju 9975  df-card 10013  df-pnf 11338  df-mnf 11339  df-xr 11340  df-ltxr 11341  df-le 11342  df-sub 11536  df-neg 11537  df-div 11967  df-nn 12329  df-2 12398  df-3 12399  df-n0 12600  df-xnn0 12673  df-z 12687  df-uz 12959  df-rp 13114  df-fz 13633  df-fzo 13782  df-fl 13925  df-mod 14003  df-seq 14138  df-exp 14198  df-hash 14468  df-word 14652  df-concat 14709  df-substr 14782  df-pfx 14814  df-reps 14913  df-csh 14933  df-cj 15259  df-re 15260  df-im 15261  df-sqrt 15395  df-abs 15396  df-dvds 16416  df-gcd 16658  df-prm 16840  df-phi 16936
This theorem is used by:  cshwshashlem2  17267
  Copyright terms: Public domain W3C validator