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

Theorem cshwshash 17079
Description: If a word has a length being a prime number, the size of the set of (different!) words resulting by cyclically shifting the original word equals the length of the original word or 1. (Contributed by AV, 19-May-2018.) (Revised by AV, 10-Nov-2018.)
Hypothesis
Ref Expression
cshwrepswhash1.m 𝑀 = {𝑤 ∈ Word 𝑉 ∣ ∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑤}
Assertion
Ref Expression
cshwshash ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) → ((♯‘𝑀) = (♯‘𝑊) ∨ (♯‘𝑀) = 1))
Distinct variable groups:   𝑛,𝑉,𝑤   𝑛,𝑊,𝑤
Allowed substitution hints:   𝑀(𝑤,𝑛)

Proof of Theorem cshwshash
Dummy variable 𝑖 is distinct from all other variables.
StepHypRef Expression
1 repswsymballbi 14768 . . . . 5 (𝑊 ∈ Word 𝑉 → (𝑊 = ((𝑊‘0) repeatS (♯‘𝑊)) ↔ ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊𝑖) = (𝑊‘0)))
21adantr 479 . . . 4 ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) → (𝑊 = ((𝑊‘0) repeatS (♯‘𝑊)) ↔ ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊𝑖) = (𝑊‘0)))
3 prmnn 16650 . . . . . . . . 9 ((♯‘𝑊) ∈ ℙ → (♯‘𝑊) ∈ ℕ)
43nnge1d 12296 . . . . . . . 8 ((♯‘𝑊) ∈ ℙ → 1 ≤ (♯‘𝑊))
5 wrdsymb1 14541 . . . . . . . 8 ((𝑊 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑊)) → (𝑊‘0) ∈ 𝑉)
64, 5sylan2 591 . . . . . . 7 ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) → (𝑊‘0) ∈ 𝑉)
76adantr 479 . . . . . 6 (((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ 𝑊 = ((𝑊‘0) repeatS (♯‘𝑊))) → (𝑊‘0) ∈ 𝑉)
83ad2antlr 725 . . . . . 6 (((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ 𝑊 = ((𝑊‘0) repeatS (♯‘𝑊))) → (♯‘𝑊) ∈ ℕ)
9 simpr 483 . . . . . 6 (((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ 𝑊 = ((𝑊‘0) repeatS (♯‘𝑊))) → 𝑊 = ((𝑊‘0) repeatS (♯‘𝑊)))
10 cshwrepswhash1.m . . . . . . 7 𝑀 = {𝑤 ∈ Word 𝑉 ∣ ∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑤}
1110cshwrepswhash1 17077 . . . . . 6 (((𝑊‘0) ∈ 𝑉 ∧ (♯‘𝑊) ∈ ℕ ∧ 𝑊 = ((𝑊‘0) repeatS (♯‘𝑊))) → (♯‘𝑀) = 1)
127, 8, 9, 11syl3anc 1368 . . . . 5 (((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ 𝑊 = ((𝑊‘0) repeatS (♯‘𝑊))) → (♯‘𝑀) = 1)
1312ex 411 . . . 4 ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) → (𝑊 = ((𝑊‘0) repeatS (♯‘𝑊)) → (♯‘𝑀) = 1))
142, 13sylbird 259 . . 3 ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) → (∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊𝑖) = (𝑊‘0) → (♯‘𝑀) = 1))
15 olc 866 . . 3 ((♯‘𝑀) = 1 → ((♯‘𝑀) = (♯‘𝑊) ∨ (♯‘𝑀) = 1))
1614, 15syl6com 37 . 2 (∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊𝑖) = (𝑊‘0) → ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) → ((♯‘𝑀) = (♯‘𝑊) ∨ (♯‘𝑀) = 1)))
17 rexnal 3096 . . . 4 (∃𝑖 ∈ (0..^(♯‘𝑊)) ¬ (𝑊𝑖) = (𝑊‘0) ↔ ¬ ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊𝑖) = (𝑊‘0))
18 df-ne 2937 . . . . . 6 ((𝑊𝑖) ≠ (𝑊‘0) ↔ ¬ (𝑊𝑖) = (𝑊‘0))
1918bicomi 223 . . . . 5 (¬ (𝑊𝑖) = (𝑊‘0) ↔ (𝑊𝑖) ≠ (𝑊‘0))
2019rexbii 3090 . . . 4 (∃𝑖 ∈ (0..^(♯‘𝑊)) ¬ (𝑊𝑖) = (𝑊‘0) ↔ ∃𝑖 ∈ (0..^(♯‘𝑊))(𝑊𝑖) ≠ (𝑊‘0))
2117, 20bitr3i 276 . . 3 (¬ ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊𝑖) = (𝑊‘0) ↔ ∃𝑖 ∈ (0..^(♯‘𝑊))(𝑊𝑖) ≠ (𝑊‘0))
2210cshwshashnsame 17078 . . . 4 ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) → (∃𝑖 ∈ (0..^(♯‘𝑊))(𝑊𝑖) ≠ (𝑊‘0) → (♯‘𝑀) = (♯‘𝑊)))
23 orc 865 . . . 4 ((♯‘𝑀) = (♯‘𝑊) → ((♯‘𝑀) = (♯‘𝑊) ∨ (♯‘𝑀) = 1))
2422, 23syl6com 37 . . 3 (∃𝑖 ∈ (0..^(♯‘𝑊))(𝑊𝑖) ≠ (𝑊‘0) → ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) → ((♯‘𝑀) = (♯‘𝑊) ∨ (♯‘𝑀) = 1)))
2521, 24sylbi 216 . 2 (¬ ∀𝑖 ∈ (0..^(♯‘𝑊))(𝑊𝑖) = (𝑊‘0) → ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) → ((♯‘𝑀) = (♯‘𝑊) ∨ (♯‘𝑀) = 1)))
2616, 25pm2.61i 182 1 ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) → ((♯‘𝑀) = (♯‘𝑊) ∨ (♯‘𝑀) = 1))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 205  wa 394  wo 845   = wceq 1533  wcel 2098  wne 2936  wral 3057  wrex 3066  {crab 3428   class class class wbr 5150  cfv 6551  (class class class)co 7424  0cc0 11144  1c1 11145  cle 11285  cn 12248  ..^cfzo 13665  chash 14327  Word cword 14502   repeatS creps 14756   cyclShift ccsh 14776  cprime 16647
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1789  ax-4 1803  ax-5 1905  ax-6 1963  ax-7 2003  ax-8 2100  ax-9 2108  ax-10 2129  ax-11 2146  ax-12 2166  ax-ext 2698  ax-rep 5287  ax-sep 5301  ax-nul 5308  ax-pow 5367  ax-pr 5431  ax-un 7744  ax-inf2 9670  ax-cnex 11200  ax-resscn 11201  ax-1cn 11202  ax-icn 11203  ax-addcl 11204  ax-addrcl 11205  ax-mulcl 11206  ax-mulrcl 11207  ax-mulcom 11208  ax-addass 11209  ax-mulass 11210  ax-distr 11211  ax-i2m1 11212  ax-1ne0 11213  ax-1rid 11214  ax-rnegex 11215  ax-rrecex 11216  ax-cnre 11217  ax-pre-lttri 11218  ax-pre-lttrn 11219  ax-pre-ltadd 11220  ax-pre-mulgt0 11221  ax-pre-sup 11222
This theorem depends on definitions:  df-bi 206  df-an 395  df-or 846  df-3or 1085  df-3an 1086  df-tru 1536  df-fal 1546  df-ex 1774  df-nf 1778  df-sb 2060  df-mo 2529  df-eu 2558  df-clab 2705  df-cleq 2719  df-clel 2805  df-nfc 2880  df-ne 2937  df-nel 3043  df-ral 3058  df-rex 3067  df-rmo 3372  df-reu 3373  df-rab 3429  df-v 3473  df-sbc 3777  df-csb 3893  df-dif 3950  df-un 3952  df-in 3954  df-ss 3964  df-pss 3966  df-nul 4325  df-if 4531  df-pw 4606  df-sn 4631  df-pr 4633  df-op 4637  df-uni 4911  df-int 4952  df-iun 5000  df-disj 5116  df-br 5151  df-opab 5213  df-mpt 5234  df-tr 5268  df-id 5578  df-eprel 5584  df-po 5592  df-so 5593  df-fr 5635  df-se 5636  df-we 5637  df-xp 5686  df-rel 5687  df-cnv 5688  df-co 5689  df-dm 5690  df-rn 5691  df-res 5692  df-ima 5693  df-pred 6308  df-ord 6375  df-on 6376  df-lim 6377  df-suc 6378  df-iota 6503  df-fun 6553  df-fn 6554  df-f 6555  df-f1 6556  df-fo 6557  df-f1o 6558  df-fv 6559  df-isom 6560  df-riota 7380  df-ov 7427  df-oprab 7428  df-mpo 7429  df-om 7875  df-1st 7997  df-2nd 7998  df-frecs 8291  df-wrecs 8322  df-recs 8396  df-rdg 8435  df-1o 8491  df-2o 8492  df-oadd 8495  df-er 8729  df-en 8969  df-dom 8970  df-sdom 8971  df-fin 8972  df-sup 9471  df-inf 9472  df-oi 9539  df-dju 9930  df-card 9968  df-pnf 11286  df-mnf 11287  df-xr 11288  df-ltxr 11289  df-le 11290  df-sub 11482  df-neg 11483  df-div 11908  df-nn 12249  df-2 12311  df-3 12312  df-n0 12509  df-xnn0 12581  df-z 12595  df-uz 12859  df-rp 13013  df-fz 13523  df-fzo 13666  df-fl 13795  df-mod 13873  df-seq 14005  df-exp 14065  df-hash 14328  df-word 14503  df-concat 14559  df-substr 14629  df-pfx 14659  df-reps 14757  df-csh 14777  df-cj 15084  df-re 15085  df-im 15086  df-sqrt 15220  df-abs 15221  df-clim 15470  df-sum 15671  df-dvds 16237  df-gcd 16475  df-prm 16648  df-phi 16740
This theorem is referenced by:  hashecclwwlkn1  29905
  Copyright terms: Public domain W3C validator