| Metamath Proof Explorer |
< Previous
Next >
Nearby theorems |
||
| Mirrors > Home > MPE Home > Th. List > cshwshashnsame | Structured version Visualization version GIF version | ||
| Description: If a word (not consisting of identical symbols) 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. (Contributed by AV, 19-May-2018.) (Revised by AV, 10-Nov-2018.) |
| Ref | Expression |
|---|---|
| cshwrepswhash1.m | ⊢ 𝑀 = {𝑤 ∈ Word 𝑉 ∣ ∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑤} |
| Ref | Expression |
|---|---|
| cshwshashnsame | ⊢ ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) → (∃𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0) → (♯‘𝑀) = (♯‘𝑊))) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | cshwrepswhash1.m | . . . . . 6 ⊢ 𝑀 = {𝑤 ∈ Word 𝑉 ∣ ∃𝑛 ∈ (0..^(♯‘𝑊))(𝑊 cyclShift 𝑛) = 𝑤} | |
| 2 | 1 | cshwsiun 17283 | . . . . 5 ⊢ (𝑊 ∈ Word 𝑉 → 𝑀 = ∪ 𝑛 ∈ (0..^(♯‘𝑊)){(𝑊 cyclShift 𝑛)}) |
| 3 | 2 | ad2antrr 739 | . . . 4 ⊢ (((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ ∃𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0)) → 𝑀 = ∪ 𝑛 ∈ (0..^(♯‘𝑊)){(𝑊 cyclShift 𝑛)}) |
| 4 | 3 | fveq2d 6890 | . . 3 ⊢ (((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ ∃𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0)) → (♯‘𝑀) = (♯‘∪ 𝑛 ∈ (0..^(♯‘𝑊)){(𝑊 cyclShift 𝑛)})) |
| 5 | fzofi 14121 | . . . . 5 ⊢ (0..^(♯‘𝑊)) ∈ Fin | |
| 6 | 5 | a1i 11 | . . . 4 ⊢ (((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ ∃𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0)) → (0..^(♯‘𝑊)) ∈ Fin) |
| 7 | snfi 9075 | . . . . 5 ⊢ {(𝑊 cyclShift 𝑛)} ∈ Fin | |
| 8 | 7 | a1i 11 | . . . 4 ⊢ ((((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ ∃𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0)) ∧ 𝑛 ∈ (0..^(♯‘𝑊))) → {(𝑊 cyclShift 𝑛)} ∈ Fin) |
| 9 | id 23 | . . . . 5 ⊢ ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) → (𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ)) | |
| 10 | 9 | cshwsdisj 17282 | . . . 4 ⊢ (((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ ∃𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0)) → Disj 𝑛 ∈ (0..^(♯‘𝑊)){(𝑊 cyclShift 𝑛)}) |
| 11 | 6, 8, 10 | hashiun 15995 | . . 3 ⊢ (((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ ∃𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0)) → (♯‘∪ 𝑛 ∈ (0..^(♯‘𝑊)){(𝑊 cyclShift 𝑛)}) = Σ𝑛 ∈ (0..^(♯‘𝑊))(♯‘{(𝑊 cyclShift 𝑛)})) |
| 12 | ovex 7454 | . . . . . 6 ⊢ (𝑊 cyclShift 𝑛) ∈ V | |
| 13 | hashsng 14517 | . . . . . 6 ⊢ ((𝑊 cyclShift 𝑛) ∈ V → (♯‘{(𝑊 cyclShift 𝑛)}) = 1) | |
| 14 | 12, 13 | mp1i 14 | . . . . 5 ⊢ (((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ ∃𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0)) → (♯‘{(𝑊 cyclShift 𝑛)}) = 1) |
| 15 | 14 | sumeq2sdv 15876 | . . . 4 ⊢ (((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ ∃𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0)) → Σ𝑛 ∈ (0..^(♯‘𝑊))(♯‘{(𝑊 cyclShift 𝑛)}) = Σ𝑛 ∈ (0..^(♯‘𝑊))1) |
| 16 | 1cnd 11306 | . . . . . . 7 ⊢ ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) → 1 ∈ ℂ) | |
| 17 | fsumconst 15962 | . . . . . . 7 ⊢ (((0..^(♯‘𝑊)) ∈ Fin ∧ 1 ∈ ℂ) → Σ𝑛 ∈ (0..^(♯‘𝑊))1 = ((♯‘(0..^(♯‘𝑊))) · 1)) | |
| 18 | 5, 16, 17 | sylancr 599 | . . . . . 6 ⊢ ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) → Σ𝑛 ∈ (0..^(♯‘𝑊))1 = ((♯‘(0..^(♯‘𝑊))) · 1)) |
| 19 | lencl 14682 | . . . . . . . . 9 ⊢ (𝑊 ∈ Word 𝑉 → (♯‘𝑊) ∈ ℕ0) | |
| 20 | 19 | adantr 486 | . . . . . . . 8 ⊢ ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) → (♯‘𝑊) ∈ ℕ0) |
| 21 | hashfzo0 14579 | . . . . . . . 8 ⊢ ((♯‘𝑊) ∈ ℕ0 → (♯‘(0..^(♯‘𝑊))) = (♯‘𝑊)) | |
| 22 | 20, 21 | syl 18 | . . . . . . 7 ⊢ ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) → (♯‘(0..^(♯‘𝑊))) = (♯‘𝑊)) |
| 23 | 22 | oveq1d 7436 | . . . . . 6 ⊢ ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) → ((♯‘(0..^(♯‘𝑊))) · 1) = ((♯‘𝑊) · 1)) |
| 24 | prmnn 16855 | . . . . . . . . 9 ⊢ ((♯‘𝑊) ∈ ℙ → (♯‘𝑊) ∈ ℕ) | |
| 25 | 24 | nnred 12354 | . . . . . . . 8 ⊢ ((♯‘𝑊) ∈ ℙ → (♯‘𝑊) ∈ ℝ) |
| 26 | 25 | adantl 487 | . . . . . . 7 ⊢ ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) → (♯‘𝑊) ∈ ℝ) |
| 27 | ax-1rid 11274 | . . . . . . 7 ⊢ ((♯‘𝑊) ∈ ℝ → ((♯‘𝑊) · 1) = (♯‘𝑊)) | |
| 28 | 26, 27 | syl 18 | . . . . . 6 ⊢ ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) → ((♯‘𝑊) · 1) = (♯‘𝑊)) |
| 29 | 18, 23, 28 | 3eqtrd 2799 | . . . . 5 ⊢ ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) → Σ𝑛 ∈ (0..^(♯‘𝑊))1 = (♯‘𝑊)) |
| 30 | 29 | adantr 486 | . . . 4 ⊢ (((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ ∃𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0)) → Σ𝑛 ∈ (0..^(♯‘𝑊))1 = (♯‘𝑊)) |
| 31 | 15, 30 | eqtrd 2795 | . . 3 ⊢ (((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ ∃𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0)) → Σ𝑛 ∈ (0..^(♯‘𝑊))(♯‘{(𝑊 cyclShift 𝑛)}) = (♯‘𝑊)) |
| 32 | 4, 11, 31 | 3eqtrd 2799 | . 2 ⊢ (((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) ∧ ∃𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0)) → (♯‘𝑀) = (♯‘𝑊)) |
| 33 | 32 | ex 418 | 1 ⊢ ((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) ∈ ℙ) → (∃𝑖 ∈ (0..^(♯‘𝑊))(𝑊‘𝑖) ≠ (𝑊‘0) → (♯‘𝑀) = (♯‘𝑊))) |
| Colors of variables: wff setvar class |
| This proof depends on syntax axioms: → wi 4 ∧ wa 401 = wceq 1569 ∈ wcel 2144 ≠ wne 2955 ∃wrex 3086 {crab 3412 Vcvv 3450 {csn 4584 ∪ ciun 4950 ‘cfv 6539 (class class class)co 7421 Fincfn 8977 ℂcc 11202 ℝcr 11203 0cc0 11204 1c1 11205 · cmul 11209 ℕ0cn0 12610 ..^cfzo 13792 ♯chash 14478 Word cword 14662 cyclShift ccsh 14944 Σcsu 15859 ℙcprime 16852 |
| This proof depends on axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1827 ax-4 1841 ax-5 1942 ax-6 1999 ax-7 2040 ax-8 2146 ax-9 2154 ax-10 2177 ax-11 2193 ax-12 2212 ax-ext 2732 ax-rep 5231 ax-sep 5248 ax-nul 5259 ax-pow 5326 ax-pr 5390 ax-un 7752 ax-inf2 9646 ax-cnex 11260 ax-resscn 11261 ax-1cn 11262 ax-icn 11263 ax-addcl 11264 ax-addrcl 11265 ax-mulcl 11266 ax-mulrcl 11267 ax-mulcom 11268 ax-addass 11269 ax-mulass 11270 ax-distr 11271 ax-i2m1 11272 ax-1ne0 11273 ax-1rid 11274 ax-rnegex 11275 ax-rrecex 11276 ax-cnre 11277 ax-pre-lttri 11278 ax-pre-lttrn 11279 ax-pre-ltadd 11280 ax-pre-mulgt0 11281 ax-pre-sup 11282 |
| This proof depends on definitions: df-bi 210 df-an 402 df-or 862 df-3or 1104 df-3an 1105 df-tru 1572 df-fal 1582 df-ex 1812 df-nf 1816 df-sb 2099 df-mo 2564 df-eu 2594 df-clab 2739 df-cleq 2752 df-clel 2835 df-nfc 2909 df-ne 2956 df-nel 3062 df-ral 3077 df-rex 3087 df-rmo 3365 df-reu 3366 df-rab 3413 df-v 3452 df-sbc 3739 df-csb 3847 df-ss 3896 df-pss 4014 df-dif 4047 df-in 4091 df-un 4151 df-nul 4279 df-if 4482 df-pw 4558 df-sn 4585 df-pr 4587 df-op 4835 df-uni 4867 df-int 4907 df-iun 4952 df-disj 5070 df-br 5103 df-opab 5167 df-mpt 5186 df-tr 5212 df-id 5545 df-eprel 5550 df-po 5558 df-so 5559 df-fr 5603 df-se 5604 df-we 5605 df-xp 5656 df-rel 5657 df-cnv 5658 df-co 5659 df-dm 5660 df-rn 5661 df-res 5662 df-ima 5663 df-pred 6304 df-ord 6365 df-on 6366 df-lim 6367 df-suc 6368 df-iota 6494 df-fun 6541 df-fn 6542 df-f 6543 df-f1 6544 df-fo 6545 df-f1o 6546 df-fv 6547 df-isom 6548 df-riota 7378 df-ov 7424 df-oprab 7425 df-mpo 7426 df-om 7879 df-1st 8002 df-2nd 8003 df-frecs 8303 df-wrecs 8334 df-recs 8383 df-rdg 8422 df-1o 8480 df-2o 8481 df-oadd 8484 df-er 8721 df-en 8978 df-dom 8979 df-sdom 8980 df-fin 8981 df-sup 9438 df-inf 9439 df-oi 9508 df-dju 9986 df-card 10024 df-pnf 11349 df-mnf 11350 df-xr 11351 df-ltxr 11352 df-le 11353 df-sub 11547 df-neg 11548 df-div 11978 df-nn 12340 df-2 12409 df-3 12410 df-n0 12611 df-xnn0 12684 df-z 12698 df-uz 12970 df-rp 13125 df-fz 13644 df-fzo 13793 df-fl 13936 df-mod 14014 df-seq 14149 df-exp 14209 df-hash 14479 df-word 14663 df-concat 14720 df-substr 14794 df-pfx 14826 df-reps 14925 df-csh 14945 df-cj 15272 df-re 15273 df-im 15274 df-sqrt 15408 df-abs 15409 df-clim 15661 df-sum 15860 df-dvds 16429 df-gcd 16671 df-prm 16853 df-phi 16949 |
| This theorem is used by: cshwshash 17288 umgrhashecclwwlk 30675 |
| Copyright terms: Public domain | W3C validator |