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

Theorem cshwshashlem1 17314
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 2960 . . . . . . 7 ((𝑊‘𝑖) ≠ (𝑊‘0) ↔ ¬ (𝑊‘𝑖) = (𝑊‘0))
21rexbii 3113 . . . . . 6 (∃𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0) ↔ ∃𝑖 ∈ (0..^(♯‘𝑊)) ¬ (𝑊‘𝑖) = (𝑊‘0))
3 rexnal 3118 . . . . . 6 (∃𝑖 ∈ (0..^(♯‘𝑊)) ¬ (𝑊‘𝑖) = (𝑊‘0) ↔ ¬ ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0))
42, 3bitri 278 . . . . 5 (∃𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0) ↔ ¬ ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0))
5 simpll 779 . . . . . . . . . . 11 (((𝜑 ∧ 𝐿 ∈ (1..^(♯‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → 𝜑)
6 fzo0ss1 13862 . . . . . . . . . . . . . 14 (1..^(♯‘𝑊)) ⊆ (0..^(♯‘𝑊))
7 fzossfz 13851 . . . . . . . . . . . . . 14 (0..^(♯‘𝑊)) ⊆ (0...(♯‘𝑊))
86, 7sstri 3922 . . . . . . . . . . . . 13 (1..^(♯‘𝑊)) ⊆ (0...(♯‘𝑊))
98sseli 3909 . . . . . . . . . . . 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 13694 . . . . . . . . . . . . . . . . . 18 (𝐿 ∈ (0...(♯‘𝑊)) → 𝐿 ∈ ℤ)
1716adantl 487 . . . . . . . . . . . . . . . . 17 (((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ 𝐿 ∈ (0...(♯‘𝑊))) → 𝐿 ∈ ℤ)
18 cshwsidrepswmod0 17313 . . . . . . . . . . . . . . . . 17 ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ ∧ 𝐿 ∈ ℤ) → ((𝑊 cyclShift 𝐿) = 𝑊 → ((𝐿 mod (♯‘𝑊)) = 0 ∨ 𝑊 = ((𝑊‘0) repeatS (♯‘𝑊)))))
1913, 15, 17, 18syl3anc 1399 . . . . . . . . . . . . . . . 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 13882 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((𝐿 ≠ (♯‘𝑊) ∧ 𝐿 ∈ (0...(♯‘𝑊))) → 𝐿 ∈ (0..^(♯‘𝑊)))
25 zmodidfzoimp 14079 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (𝐿 ∈ (0..^(♯‘𝑊)) → (𝐿 mod (♯‘𝑊)) = 𝐿)
26 eqtr2 2784 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 3042 . . . . . . . . . . . . . . . . . 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 14971 . . . . . . . . . . . . . . . . . . 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 1455 . . . . . . . . . . . 12 ((𝐿 = 0 ∨ 𝐿 = (♯‘𝑊) ∨ 𝑊 = ((𝑊‘0) repeatS (♯‘𝑊))) → ((𝜑 ∧ 𝐿 ∈ (0...(♯‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (♯‘𝑊) ∨ ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0))))
6148, 60mpcom 39 . . . . . . . . . . 11 ((𝜑 ∧ 𝐿 ∈ (0...(♯‘𝑊)) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (♯‘𝑊) ∨ ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)))
625, 10, 11, 61syl3anc 1399 . . . . . . . . . 10 (((𝜑 ∧ 𝐿 ∈ (1..^(♯‘𝑊))) ∧ (𝑊 cyclShift 𝐿) = 𝑊) → (𝐿 = 0 ∨ 𝐿 = (♯‘𝑊) ∨ ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) = (𝑊‘0)))
63 elfzo1 13885 . . . . . . . . . . . . . 14 (𝐿 ∈ (1..^(♯‘𝑊)) ↔ (𝐿 ∈ ℕ ∧ (♯‘𝑊) ∈ ℕ ∧ 𝐿 < (♯‘𝑊)))
64 nnne0 12410 . . . . . . . . . . . . . . . 16 (𝐿 ∈ ℕ → 𝐿 ≠ 0)
65 df-ne 2960 . . . . . . . . . . . . . . . . 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 12380 . . . . . . . . . . . . . . . . 17 (𝐿 ∈ ℕ → 𝐿 ∈ ℝ)
74 ltne 11444 . . . . . . . . . . . . . . . . 17 ((𝐿 ∈ ℝ ∧ 𝐿 < (♯‘𝑊)) → (♯‘𝑊) ≠ 𝐿)
7573, 74sylan 592 . . . . . . . . . . . . . . . 16 ((𝐿 ∈ ℕ ∧ 𝐿 < (♯‘𝑊)) → (♯‘𝑊) ≠ 𝐿)
76 df-ne 2960 . . . . . . . . . . . . . . . . 17 ((♯‘𝑊) ≠ 𝐿 ↔ ¬ (♯‘𝑊) = 𝐿)
77 eqcom 2770 . . . . . . . . . . . . . . . . . 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 1455 . . . . . . . . . 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 3042 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 2147   ≠ wne 2959  ∀wral 3080  ∃wrex 3090   class class class wbr 5106  ‘cfv 6564  (class class class)co 7449  ℝcr 11236  0cc0 11237  1c1 11238   < clt 11380  ℕcn 12373  ℤcz 12731  ...cfz 13677  ..^cfzo 13826   mod cmo 14047  ♯chash 14513  Word cword 14697   repeatS creps 14959   cyclShift ccsh 14979  ℙcprime 16887
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 1945  ax-6 2002  ax-7 2043  ax-8 2149  ax-9 2157  ax-10 2180  ax-11 2197  ax-12 2216  ax-ext 2735  ax-rep 5236  ax-sep 5253  ax-nul 5264  ax-pow 5332  ax-pr 5396  ax-un 7781  ax-cnex 11293  ax-resscn 11294  ax-1cn 11295  ax-icn 11296  ax-addcl 11297  ax-addrcl 11298  ax-mulcl 11299  ax-mulrcl 11300  ax-mulcom 11301  ax-addass 11302  ax-mulass 11303  ax-distr 11304  ax-i2m1 11305  ax-1ne0 11306  ax-1rid 11307  ax-rnegex 11308  ax-rrecex 11309  ax-cnre 11310  ax-pre-lttri 11311  ax-pre-lttrn 11312  ax-pre-ltadd 11313  ax-pre-mulgt0 11314  ax-pre-sup 11315
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 2102  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2839  df-nfc 2913  df-ne 2960  df-nel 3066  df-ral 3081  df-rex 3091  df-rmo 3369  df-reu 3370  df-rab 3417  df-v 3456  df-sbc 3743  df-csb 3852  df-ss 3901  df-pss 4017  df-dif 4050  df-in 4094  df-un 4154  df-nul 4282  df-if 4486  df-pw 4562  df-sn 4589  df-pr 4591  df-op 4839  df-uni 4871  df-int 4911  df-iun 4956  df-br 5107  df-opab 5172  df-mpt 5191  df-tr 5217  df-id 5551  df-eprel 5556  df-po 5564  df-so 5565  df-fr 5609  df-we 5611  df-xp 5662  df-rel 5663  df-cnv 5664  df-co 5665  df-dm 5666  df-rn 5667  df-res 5668  df-ima 5669  df-pred 6328  df-ord 6389  df-on 6390  df-lim 6391  df-suc 6392  df-iota 6518  df-fun 6566  df-fn 6567  df-f 6568  df-f1 6569  df-fo 6570  df-f1o 6571  df-fv 6572  df-riota 7406  df-ov 7452  df-oprab 7453  df-mpo 7454  df-om 7910  df-1st 8033  df-2nd 8034  df-frecs 8335  df-wrecs 8366  df-recs 8415  df-rdg 8454  df-1o 8512  df-2o 8513  df-oadd 8516  df-er 8753  df-en 9010  df-dom 9011  df-sdom 9012  df-fin 9013  df-sup 9469  df-inf 9470  df-dju 10017  df-card 10055  df-pnf 11382  df-mnf 11383  df-xr 11384  df-ltxr 11385  df-le 11386  df-sub 11580  df-neg 11581  df-div 12012  df-nn 12374  df-2 12443  df-3 12444  df-n0 12645  df-xnn0 12718  df-z 12732  df-uz 13004  df-rp 13159  df-fz 13678  df-fzo 13827  df-fl 13970  df-mod 14048  df-seq 14183  df-exp 14243  df-hash 14514  df-word 14698  df-concat 14755  df-substr 14829  df-pfx 14861  df-reps 14960  df-csh 14980  df-cj 15307  df-re 15308  df-im 15309  df-sqrt 15443  df-abs 15444  df-dvds 16464  df-gcd 16706  df-prm 16888  df-phi 16984
This theorem is used by:  cshwshashlem2  17315
  Copyright terms: Public domain W3C validator