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

Theorem cycpmfv1 30774
Description: Value of a cycle function for any element but the last. (Contributed by Thierry Arnoux, 22-Sep-2023.)
Hypotheses
Ref Expression
tocycval.1 𝐶 = (toCyc‘𝐷)
tocycfv.d (𝜑𝐷𝑉)
tocycfv.w (𝜑𝑊 ∈ Word 𝐷)
tocycfv.1 (𝜑𝑊:dom 𝑊1-1𝐷)
cycpmfv1.1 (𝜑𝑁 ∈ (0..^((♯‘𝑊) − 1)))
Assertion
Ref Expression
cycpmfv1 (𝜑 → ((𝐶𝑊)‘(𝑊𝑁)) = (𝑊‘(𝑁 + 1)))

Proof of Theorem cycpmfv1
StepHypRef Expression
1 tocycval.1 . . 3 𝐶 = (toCyc‘𝐷)
2 tocycfv.d . . 3 (𝜑𝐷𝑉)
3 tocycfv.w . . 3 (𝜑𝑊 ∈ Word 𝐷)
4 tocycfv.1 . . 3 (𝜑𝑊:dom 𝑊1-1𝐷)
5 lencl 13877 . . . . . . 7 (𝑊 ∈ Word 𝐷 → (♯‘𝑊) ∈ ℕ0)
63, 5syl 17 . . . . . 6 (𝜑 → (♯‘𝑊) ∈ ℕ0)
76nn0zd 12079 . . . . 5 (𝜑 → (♯‘𝑊) ∈ ℤ)
8 fzossrbm1 13063 . . . . 5 ((♯‘𝑊) ∈ ℤ → (0..^((♯‘𝑊) − 1)) ⊆ (0..^(♯‘𝑊)))
97, 8syl 17 . . . 4 (𝜑 → (0..^((♯‘𝑊) − 1)) ⊆ (0..^(♯‘𝑊)))
10 cycpmfv1.1 . . . 4 (𝜑𝑁 ∈ (0..^((♯‘𝑊) − 1)))
119, 10sseldd 3961 . . 3 (𝜑𝑁 ∈ (0..^(♯‘𝑊)))
121, 2, 3, 4, 11cycpmfvlem 30773 . 2 (𝜑 → ((𝐶𝑊)‘(𝑊𝑁)) = (((𝑊 cyclShift 1) ∘ 𝑊)‘(𝑊𝑁)))
13 df-f1 6353 . . . . 5 (𝑊:dom 𝑊1-1𝐷 ↔ (𝑊:dom 𝑊𝐷 ∧ Fun 𝑊))
144, 13sylib 220 . . . 4 (𝜑 → (𝑊:dom 𝑊𝐷 ∧ Fun 𝑊))
1514simprd 498 . . 3 (𝜑 → Fun 𝑊)
16 wrdfn 13872 . . . . . 6 (𝑊 ∈ Word 𝐷𝑊 Fn (0..^(♯‘𝑊)))
173, 16syl 17 . . . . 5 (𝜑𝑊 Fn (0..^(♯‘𝑊)))
18 fnfvelrn 6841 . . . . 5 ((𝑊 Fn (0..^(♯‘𝑊)) ∧ 𝑁 ∈ (0..^(♯‘𝑊))) → (𝑊𝑁) ∈ ran 𝑊)
1917, 11, 18syl2anc 586 . . . 4 (𝜑 → (𝑊𝑁) ∈ ran 𝑊)
20 df-rn 5559 . . . 4 ran 𝑊 = dom 𝑊
2119, 20eleqtrdi 2922 . . 3 (𝜑 → (𝑊𝑁) ∈ dom 𝑊)
22 fvco 6752 . . 3 ((Fun 𝑊 ∧ (𝑊𝑁) ∈ dom 𝑊) → (((𝑊 cyclShift 1) ∘ 𝑊)‘(𝑊𝑁)) = ((𝑊 cyclShift 1)‘(𝑊‘(𝑊𝑁))))
2315, 21, 22syl2anc 586 . 2 (𝜑 → (((𝑊 cyclShift 1) ∘ 𝑊)‘(𝑊𝑁)) = ((𝑊 cyclShift 1)‘(𝑊‘(𝑊𝑁))))
24 f1f1orn 6619 . . . . . 6 (𝑊:dom 𝑊1-1𝐷𝑊:dom 𝑊1-1-onto→ran 𝑊)
254, 24syl 17 . . . . 5 (𝜑𝑊:dom 𝑊1-1-onto→ran 𝑊)
2617fndmd 6449 . . . . . 6 (𝜑 → dom 𝑊 = (0..^(♯‘𝑊)))
2711, 26eleqtrrd 2915 . . . . 5 (𝜑𝑁 ∈ dom 𝑊)
28 f1ocnvfv1 7026 . . . . 5 ((𝑊:dom 𝑊1-1-onto→ran 𝑊𝑁 ∈ dom 𝑊) → (𝑊‘(𝑊𝑁)) = 𝑁)
2925, 27, 28syl2anc 586 . . . 4 (𝜑 → (𝑊‘(𝑊𝑁)) = 𝑁)
3029fveq2d 6667 . . 3 (𝜑 → ((𝑊 cyclShift 1)‘(𝑊‘(𝑊𝑁))) = ((𝑊 cyclShift 1)‘𝑁))
31 1zzd 12007 . . . 4 (𝜑 → 1 ∈ ℤ)
32 cshwidxmod 14158 . . . 4 ((𝑊 ∈ Word 𝐷 ∧ 1 ∈ ℤ ∧ 𝑁 ∈ (0..^(♯‘𝑊))) → ((𝑊 cyclShift 1)‘𝑁) = (𝑊‘((𝑁 + 1) mod (♯‘𝑊))))
333, 31, 11, 32syl3anc 1366 . . 3 (𝜑 → ((𝑊 cyclShift 1)‘𝑁) = (𝑊‘((𝑁 + 1) mod (♯‘𝑊))))
34 fzo0ss1 13064 . . . . . 6 (1..^(♯‘𝑊)) ⊆ (0..^(♯‘𝑊))
35 fzoaddel2 13090 . . . . . . 7 ((𝑁 ∈ (0..^((♯‘𝑊) − 1)) ∧ (♯‘𝑊) ∈ ℤ ∧ 1 ∈ ℤ) → (𝑁 + 1) ∈ (1..^(♯‘𝑊)))
3610, 7, 31, 35syl3anc 1366 . . . . . 6 (𝜑 → (𝑁 + 1) ∈ (1..^(♯‘𝑊)))
3734, 36sseldi 3958 . . . . 5 (𝜑 → (𝑁 + 1) ∈ (0..^(♯‘𝑊)))
38 zmodidfzoimp 13266 . . . . 5 ((𝑁 + 1) ∈ (0..^(♯‘𝑊)) → ((𝑁 + 1) mod (♯‘𝑊)) = (𝑁 + 1))
3937, 38syl 17 . . . 4 (𝜑 → ((𝑁 + 1) mod (♯‘𝑊)) = (𝑁 + 1))
4039fveq2d 6667 . . 3 (𝜑 → (𝑊‘((𝑁 + 1) mod (♯‘𝑊))) = (𝑊‘(𝑁 + 1)))
4130, 33, 403eqtrd 2859 . 2 (𝜑 → ((𝑊 cyclShift 1)‘(𝑊‘(𝑊𝑁))) = (𝑊‘(𝑁 + 1)))
4212, 23, 413eqtrd 2859 1 (𝜑 → ((𝐶𝑊)‘(𝑊𝑁)) = (𝑊‘(𝑁 + 1)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 398   = wceq 1536  wcel 2113  wss 3929  ccnv 5547  dom cdm 5548  ran crn 5549  ccom 5552  Fun wfun 6342   Fn wfn 6343  wf 6344  1-1wf1 6345  1-1-ontowf1o 6347  cfv 6348  (class class class)co 7149  0cc0 10530  1c1 10531   + caddc 10533  cmin 10863  0cn0 11891  cz 11975  ..^cfzo 13030   mod cmo 13234  chash 13687  Word cword 13858   cyclShift ccsh 14143  toCycctocyc 30767
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1795  ax-4 1809  ax-5 1910  ax-6 1969  ax-7 2014  ax-8 2115  ax-9 2123  ax-10 2144  ax-11 2160  ax-12 2176  ax-ext 2792  ax-rep 5183  ax-sep 5196  ax-nul 5203  ax-pow 5259  ax-pr 5323  ax-un 7454  ax-cnex 10586  ax-resscn 10587  ax-1cn 10588  ax-icn 10589  ax-addcl 10590  ax-addrcl 10591  ax-mulcl 10592  ax-mulrcl 10593  ax-mulcom 10594  ax-addass 10595  ax-mulass 10596  ax-distr 10597  ax-i2m1 10598  ax-1ne0 10599  ax-1rid 10600  ax-rnegex 10601  ax-rrecex 10602  ax-cnre 10603  ax-pre-lttri 10604  ax-pre-lttrn 10605  ax-pre-ltadd 10606  ax-pre-mulgt0 10607  ax-pre-sup 10608
This theorem depends on definitions:  df-bi 209  df-an 399  df-or 844  df-3or 1083  df-3an 1084  df-tru 1539  df-ex 1780  df-nf 1784  df-sb 2069  df-mo 2621  df-eu 2653  df-clab 2799  df-cleq 2813  df-clel 2892  df-nfc 2962  df-ne 3016  df-nel 3123  df-ral 3142  df-rex 3143  df-reu 3144  df-rmo 3145  df-rab 3146  df-v 3493  df-sbc 3769  df-csb 3877  df-dif 3932  df-un 3934  df-in 3936  df-ss 3945  df-pss 3947  df-nul 4285  df-if 4461  df-pw 4534  df-sn 4561  df-pr 4563  df-tp 4565  df-op 4567  df-uni 4832  df-int 4870  df-iun 4914  df-br 5060  df-opab 5122  df-mpt 5140  df-tr 5166  df-id 5453  df-eprel 5458  df-po 5467  df-so 5468  df-fr 5507  df-we 5509  df-xp 5554  df-rel 5555  df-cnv 5556  df-co 5557  df-dm 5558  df-rn 5559  df-res 5560  df-ima 5561  df-pred 6141  df-ord 6187  df-on 6188  df-lim 6189  df-suc 6190  df-iota 6307  df-fun 6350  df-fn 6351  df-f 6352  df-f1 6353  df-fo 6354  df-f1o 6355  df-fv 6356  df-riota 7107  df-ov 7152  df-oprab 7153  df-mpo 7154  df-om 7574  df-1st 7682  df-2nd 7683  df-wrecs 7940  df-recs 8001  df-rdg 8039  df-1o 8095  df-oadd 8099  df-er 8282  df-map 8401  df-en 8503  df-dom 8504  df-sdom 8505  df-fin 8506  df-sup 8899  df-inf 8900  df-card 9361  df-pnf 10670  df-mnf 10671  df-xr 10672  df-ltxr 10673  df-le 10674  df-sub 10865  df-neg 10866  df-div 11291  df-nn 11632  df-2 11694  df-n0 11892  df-z 11976  df-uz 12238  df-rp 12384  df-fz 12890  df-fzo 13031  df-fl 13159  df-mod 13235  df-hash 13688  df-word 13859  df-concat 13916  df-substr 13996  df-pfx 14026  df-csh 14144  df-tocyc 30768
This theorem is referenced by:  cyc2fv1  30782  cycpmco2lem4  30790  cycpmco2lem6  30792  cycpmco2lem7  30793  cycpmco2  30794  cyc3fv1  30798  cyc3fv2  30799  cycpmrn  30804
  Copyright terms: Public domain W3C validator