Mathbox for Thierry Arnoux < Previous   Next > Nearby theorems Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  cshf1o Structured version   Visualization version   GIF version

Theorem cshf1o 30770
 Description: Condition for the cyclic shift to be a bijection. (Contributed by Thierry Arnoux, 4-Oct-2023.)
Assertion
Ref Expression
cshf1o ((𝑊 ∈ Word 𝐷𝑊:dom 𝑊1-1𝐷𝑁 ∈ ℤ) → (𝑊 cyclShift 𝑁):dom 𝑊1-1-onto→ran 𝑊)

Proof of Theorem cshf1o
StepHypRef Expression
1 cshwrnid 30769 . . 3 ((𝑊 ∈ Word 𝐷𝑁 ∈ ℤ) → ran (𝑊 cyclShift 𝑁) = ran 𝑊)
213adant2 1128 . 2 ((𝑊 ∈ Word 𝐷𝑊:dom 𝑊1-1𝐷𝑁 ∈ ℤ) → ran (𝑊 cyclShift 𝑁) = ran 𝑊)
3 wrddm 13933 . . . . 5 (𝑊 ∈ Word 𝐷 → dom 𝑊 = (0..^(♯‘𝑊)))
433ad2ant1 1130 . . . 4 ((𝑊 ∈ Word 𝐷𝑊:dom 𝑊1-1𝐷𝑁 ∈ ℤ) → dom 𝑊 = (0..^(♯‘𝑊)))
5 simp2 1134 . . . . . 6 ((𝑊 ∈ Word 𝐷𝑊:dom 𝑊1-1𝐷𝑁 ∈ ℤ) → 𝑊:dom 𝑊1-1𝐷)
6 f1eq2 6561 . . . . . . 7 (dom 𝑊 = (0..^(♯‘𝑊)) → (𝑊:dom 𝑊1-1𝐷𝑊:(0..^(♯‘𝑊))–1-1𝐷))
76biimpa 480 . . . . . 6 ((dom 𝑊 = (0..^(♯‘𝑊)) ∧ 𝑊:dom 𝑊1-1𝐷) → 𝑊:(0..^(♯‘𝑊))–1-1𝐷)
84, 5, 7syl2anc 587 . . . . 5 ((𝑊 ∈ Word 𝐷𝑊:dom 𝑊1-1𝐷𝑁 ∈ ℤ) → 𝑊:(0..^(♯‘𝑊))–1-1𝐷)
9 simp3 1135 . . . . 5 ((𝑊 ∈ Word 𝐷𝑊:dom 𝑊1-1𝐷𝑁 ∈ ℤ) → 𝑁 ∈ ℤ)
10 eqid 2758 . . . . . 6 (𝑊 cyclShift 𝑁) = (𝑊 cyclShift 𝑁)
11 cshf1 14232 . . . . . 6 ((𝑊:(0..^(♯‘𝑊))–1-1𝐷𝑁 ∈ ℤ ∧ (𝑊 cyclShift 𝑁) = (𝑊 cyclShift 𝑁)) → (𝑊 cyclShift 𝑁):(0..^(♯‘𝑊))–1-1𝐷)
1210, 11mp3an3 1447 . . . . 5 ((𝑊:(0..^(♯‘𝑊))–1-1𝐷𝑁 ∈ ℤ) → (𝑊 cyclShift 𝑁):(0..^(♯‘𝑊))–1-1𝐷)
138, 9, 12syl2anc 587 . . . 4 ((𝑊 ∈ Word 𝐷𝑊:dom 𝑊1-1𝐷𝑁 ∈ ℤ) → (𝑊 cyclShift 𝑁):(0..^(♯‘𝑊))–1-1𝐷)
14 f1eq2 6561 . . . . 5 (dom 𝑊 = (0..^(♯‘𝑊)) → ((𝑊 cyclShift 𝑁):dom 𝑊1-1𝐷 ↔ (𝑊 cyclShift 𝑁):(0..^(♯‘𝑊))–1-1𝐷))
1514biimpar 481 . . . 4 ((dom 𝑊 = (0..^(♯‘𝑊)) ∧ (𝑊 cyclShift 𝑁):(0..^(♯‘𝑊))–1-1𝐷) → (𝑊 cyclShift 𝑁):dom 𝑊1-1𝐷)
164, 13, 15syl2anc 587 . . 3 ((𝑊 ∈ Word 𝐷𝑊:dom 𝑊1-1𝐷𝑁 ∈ ℤ) → (𝑊 cyclShift 𝑁):dom 𝑊1-1𝐷)
17 f1f1orn 6618 . . 3 ((𝑊 cyclShift 𝑁):dom 𝑊1-1𝐷 → (𝑊 cyclShift 𝑁):dom 𝑊1-1-onto→ran (𝑊 cyclShift 𝑁))
1816, 17syl 17 . 2 ((𝑊 ∈ Word 𝐷𝑊:dom 𝑊1-1𝐷𝑁 ∈ ℤ) → (𝑊 cyclShift 𝑁):dom 𝑊1-1-onto→ran (𝑊 cyclShift 𝑁))
19 f1oeq3 6597 . . 3 (ran (𝑊 cyclShift 𝑁) = ran 𝑊 → ((𝑊 cyclShift 𝑁):dom 𝑊1-1-onto→ran (𝑊 cyclShift 𝑁) ↔ (𝑊 cyclShift 𝑁):dom 𝑊1-1-onto→ran 𝑊))
2019biimpa 480 . 2 ((ran (𝑊 cyclShift 𝑁) = ran 𝑊 ∧ (𝑊 cyclShift 𝑁):dom 𝑊1-1-onto→ran (𝑊 cyclShift 𝑁)) → (𝑊 cyclShift 𝑁):dom 𝑊1-1-onto→ran 𝑊)
212, 18, 20syl2anc 587 1 ((𝑊 ∈ Word 𝐷𝑊:dom 𝑊1-1𝐷𝑁 ∈ ℤ) → (𝑊 cyclShift 𝑁):dom 𝑊1-1-onto→ran 𝑊)
 Colors of variables: wff setvar class Syntax hints:   → wi 4   ∧ w3a 1084   = wceq 1538   ∈ wcel 2111  dom cdm 5528  ran crn 5529  –1-1→wf1 6337  –1-1-onto→wf1o 6339  ‘cfv 6340  (class class class)co 7156  0cc0 10588  ℤcz 12033  ..^cfzo 13095  ♯chash 13753  Word cword 13926   cyclShift ccsh 14210 This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1911  ax-6 1970  ax-7 2015  ax-8 2113  ax-9 2121  ax-10 2142  ax-11 2158  ax-12 2175  ax-ext 2729  ax-rep 5160  ax-sep 5173  ax-nul 5180  ax-pow 5238  ax-pr 5302  ax-un 7465  ax-cnex 10644  ax-resscn 10645  ax-1cn 10646  ax-icn 10647  ax-addcl 10648  ax-addrcl 10649  ax-mulcl 10650  ax-mulrcl 10651  ax-mulcom 10652  ax-addass 10653  ax-mulass 10654  ax-distr 10655  ax-i2m1 10656  ax-1ne0 10657  ax-1rid 10658  ax-rnegex 10659  ax-rrecex 10660  ax-cnre 10661  ax-pre-lttri 10662  ax-pre-lttrn 10663  ax-pre-ltadd 10664  ax-pre-mulgt0 10665  ax-pre-sup 10666 This theorem depends on definitions:  df-bi 210  df-an 400  df-or 845  df-3or 1085  df-3an 1086  df-tru 1541  df-fal 1551  df-ex 1782  df-nf 1786  df-sb 2070  df-mo 2557  df-eu 2588  df-clab 2736  df-cleq 2750  df-clel 2830  df-nfc 2901  df-ne 2952  df-nel 3056  df-ral 3075  df-rex 3076  df-reu 3077  df-rmo 3078  df-rab 3079  df-v 3411  df-sbc 3699  df-csb 3808  df-dif 3863  df-un 3865  df-in 3867  df-ss 3877  df-pss 3879  df-nul 4228  df-if 4424  df-pw 4499  df-sn 4526  df-pr 4528  df-tp 4530  df-op 4532  df-uni 4802  df-int 4842  df-iun 4888  df-br 5037  df-opab 5099  df-mpt 5117  df-tr 5143  df-id 5434  df-eprel 5439  df-po 5447  df-so 5448  df-fr 5487  df-we 5489  df-xp 5534  df-rel 5535  df-cnv 5536  df-co 5537  df-dm 5538  df-rn 5539  df-res 5540  df-ima 5541  df-pred 6131  df-ord 6177  df-on 6178  df-lim 6179  df-suc 6180  df-iota 6299  df-fun 6342  df-fn 6343  df-f 6344  df-f1 6345  df-fo 6346  df-f1o 6347  df-fv 6348  df-riota 7114  df-ov 7159  df-oprab 7160  df-mpo 7161  df-om 7586  df-1st 7699  df-2nd 7700  df-wrecs 7963  df-recs 8024  df-rdg 8062  df-1o 8118  df-er 8305  df-en 8541  df-dom 8542  df-sdom 8543  df-fin 8544  df-sup 8952  df-inf 8953  df-card 9414  df-pnf 10728  df-mnf 10729  df-xr 10730  df-ltxr 10731  df-le 10732  df-sub 10923  df-neg 10924  df-div 11349  df-nn 11688  df-2 11750  df-n0 11948  df-z 12034  df-uz 12296  df-rp 12444  df-fz 12953  df-fzo 13096  df-fl 13224  df-mod 13300  df-hash 13754  df-word 13927  df-concat 13983  df-substr 14063  df-pfx 14093  df-csh 14211 This theorem is referenced by:  cycpmconjslem2  30960
 Copyright terms: Public domain W3C validator