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

Theorem pfxco 13960
Description: Mapping of words commutes with the prefix operation. (Contributed by AV, 15-May-2020.)
Assertion
Ref Expression
pfxco ((𝑊 ∈ Word 𝐴𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴𝐵) → (𝐹 ∘ (𝑊 prefix 𝑁)) = ((𝐹𝑊) prefix 𝑁))

Proof of Theorem pfxco
StepHypRef Expression
1 elfznn0 12728 . . . . . 6 (𝑁 ∈ (0...(♯‘𝑊)) → 𝑁 ∈ ℕ0)
213ad2ant2 1170 . . . . 5 ((𝑊 ∈ Word 𝐴𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴𝐵) → 𝑁 ∈ ℕ0)
3 0elfz 12732 . . . . 5 (𝑁 ∈ ℕ0 → 0 ∈ (0...𝑁))
42, 3syl 17 . . . 4 ((𝑊 ∈ Word 𝐴𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴𝐵) → 0 ∈ (0...𝑁))
5 simp2 1173 . . . 4 ((𝑊 ∈ Word 𝐴𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴𝐵) → 𝑁 ∈ (0...(♯‘𝑊)))
64, 5jca 509 . . 3 ((𝑊 ∈ Word 𝐴𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴𝐵) → (0 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))))
7 swrdco 13959 . . 3 ((𝑊 ∈ Word 𝐴 ∧ (0 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝐹:𝐴𝐵) → (𝐹 ∘ (𝑊 substr ⟨0, 𝑁⟩)) = ((𝐹𝑊) substr ⟨0, 𝑁⟩))
86, 7syld3an2 1537 . 2 ((𝑊 ∈ Word 𝐴𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴𝐵) → (𝐹 ∘ (𝑊 substr ⟨0, 𝑁⟩)) = ((𝐹𝑊) substr ⟨0, 𝑁⟩))
9 pfxval 13753 . . . . 5 ((𝑊 ∈ Word 𝐴𝑁 ∈ ℕ0) → (𝑊 prefix 𝑁) = (𝑊 substr ⟨0, 𝑁⟩))
101, 9sylan2 588 . . . 4 ((𝑊 ∈ Word 𝐴𝑁 ∈ (0...(♯‘𝑊))) → (𝑊 prefix 𝑁) = (𝑊 substr ⟨0, 𝑁⟩))
1110coeq2d 5518 . . 3 ((𝑊 ∈ Word 𝐴𝑁 ∈ (0...(♯‘𝑊))) → (𝐹 ∘ (𝑊 prefix 𝑁)) = (𝐹 ∘ (𝑊 substr ⟨0, 𝑁⟩)))
12113adant3 1168 . 2 ((𝑊 ∈ Word 𝐴𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴𝐵) → (𝐹 ∘ (𝑊 prefix 𝑁)) = (𝐹 ∘ (𝑊 substr ⟨0, 𝑁⟩)))
13 ffun 6282 . . . . . . . 8 (𝐹:𝐴𝐵 → Fun 𝐹)
1413anim2i 612 . . . . . . 7 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝑊 ∈ Word 𝐴 ∧ Fun 𝐹))
1514ancomd 455 . . . . . 6 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (Fun 𝐹𝑊 ∈ Word 𝐴))
16153adant2 1167 . . . . 5 ((𝑊 ∈ Word 𝐴𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴𝐵) → (Fun 𝐹𝑊 ∈ Word 𝐴))
17 cofunexg 7393 . . . . 5 ((Fun 𝐹𝑊 ∈ Word 𝐴) → (𝐹𝑊) ∈ V)
1816, 17syl 17 . . . 4 ((𝑊 ∈ Word 𝐴𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴𝐵) → (𝐹𝑊) ∈ V)
1918, 2jca 509 . . 3 ((𝑊 ∈ Word 𝐴𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴𝐵) → ((𝐹𝑊) ∈ V ∧ 𝑁 ∈ ℕ0))
20 pfxval 13753 . . 3 (((𝐹𝑊) ∈ V ∧ 𝑁 ∈ ℕ0) → ((𝐹𝑊) prefix 𝑁) = ((𝐹𝑊) substr ⟨0, 𝑁⟩))
2119, 20syl 17 . 2 ((𝑊 ∈ Word 𝐴𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴𝐵) → ((𝐹𝑊) prefix 𝑁) = ((𝐹𝑊) substr ⟨0, 𝑁⟩))
228, 12, 213eqtr4d 2872 1 ((𝑊 ∈ Word 𝐴𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴𝐵) → (𝐹 ∘ (𝑊 prefix 𝑁)) = ((𝐹𝑊) prefix 𝑁))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 386  w3a 1113   = wceq 1658  wcel 2166  Vcvv 3415  cop 4404  ccom 5347  Fun wfun 6118  wf 6120  cfv 6124  (class class class)co 6906  0cc0 10253  0cn0 11619  ...cfz 12620  chash 13411  Word cword 13575   substr csubstr 13701   prefix cpfx 13750
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1896  ax-4 1910  ax-5 2011  ax-6 2077  ax-7 2114  ax-8 2168  ax-9 2175  ax-10 2194  ax-11 2209  ax-12 2222  ax-13 2391  ax-ext 2804  ax-rep 4995  ax-sep 5006  ax-nul 5014  ax-pow 5066  ax-pr 5128  ax-un 7210  ax-cnex 10309  ax-resscn 10310  ax-1cn 10311  ax-icn 10312  ax-addcl 10313  ax-addrcl 10314  ax-mulcl 10315  ax-mulrcl 10316  ax-mulcom 10317  ax-addass 10318  ax-mulass 10319  ax-distr 10320  ax-i2m1 10321  ax-1ne0 10322  ax-1rid 10323  ax-rnegex 10324  ax-rrecex 10325  ax-cnre 10326  ax-pre-lttri 10327  ax-pre-lttrn 10328  ax-pre-ltadd 10329  ax-pre-mulgt0 10330
This theorem depends on definitions:  df-bi 199  df-an 387  df-or 881  df-3or 1114  df-3an 1115  df-tru 1662  df-ex 1881  df-nf 1885  df-sb 2070  df-mo 2606  df-eu 2641  df-clab 2813  df-cleq 2819  df-clel 2822  df-nfc 2959  df-ne 3001  df-nel 3104  df-ral 3123  df-rex 3124  df-reu 3125  df-rab 3127  df-v 3417  df-sbc 3664  df-csb 3759  df-dif 3802  df-un 3804  df-in 3806  df-ss 3813  df-pss 3815  df-nul 4146  df-if 4308  df-pw 4381  df-sn 4399  df-pr 4401  df-tp 4403  df-op 4405  df-uni 4660  df-int 4699  df-iun 4743  df-br 4875  df-opab 4937  df-mpt 4954  df-tr 4977  df-id 5251  df-eprel 5256  df-po 5264  df-so 5265  df-fr 5302  df-we 5304  df-xp 5349  df-rel 5350  df-cnv 5351  df-co 5352  df-dm 5353  df-rn 5354  df-res 5355  df-ima 5356  df-pred 5921  df-ord 5967  df-on 5968  df-lim 5969  df-suc 5970  df-iota 6087  df-fun 6126  df-fn 6127  df-f 6128  df-f1 6129  df-fo 6130  df-f1o 6131  df-fv 6132  df-riota 6867  df-ov 6909  df-oprab 6910  df-mpt2 6911  df-om 7328  df-1st 7429  df-2nd 7430  df-wrecs 7673  df-recs 7735  df-rdg 7773  df-1o 7827  df-er 8010  df-en 8224  df-dom 8225  df-sdom 8226  df-fin 8227  df-card 9079  df-pnf 10394  df-mnf 10395  df-xr 10396  df-ltxr 10397  df-le 10398  df-sub 10588  df-neg 10589  df-nn 11352  df-n0 11620  df-z 11706  df-uz 11970  df-fz 12621  df-fzo 12762  df-hash 13412  df-word 13576  df-substr 13702  df-pfx 13751
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator