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

Theorem pfxco 14754
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 13559 . . . . . 6 (𝑁 ∈ (0...(♯‘𝑊)) → 𝑁 ∈ ℕ0)
213ad2ant2 1134 . . . . 5 ((𝑊 ∈ Word 𝐴𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴𝐵) → 𝑁 ∈ ℕ0)
3 0elfz 13563 . . . . 5 (𝑁 ∈ ℕ0 → 0 ∈ (0...𝑁))
42, 3syl 17 . . . 4 ((𝑊 ∈ Word 𝐴𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴𝐵) → 0 ∈ (0...𝑁))
5 simp2 1137 . . . 4 ((𝑊 ∈ Word 𝐴𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴𝐵) → 𝑁 ∈ (0...(♯‘𝑊)))
64, 5jca 512 . . 3 ((𝑊 ∈ Word 𝐴𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴𝐵) → (0 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))))
7 swrdco 14753 . . 3 ((𝑊 ∈ Word 𝐴 ∧ (0 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝐹:𝐴𝐵) → (𝐹 ∘ (𝑊 substr ⟨0, 𝑁⟩)) = ((𝐹𝑊) substr ⟨0, 𝑁⟩))
86, 7syld3an2 1411 . 2 ((𝑊 ∈ Word 𝐴𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴𝐵) → (𝐹 ∘ (𝑊 substr ⟨0, 𝑁⟩)) = ((𝐹𝑊) substr ⟨0, 𝑁⟩))
9 pfxval 14588 . . . . 5 ((𝑊 ∈ Word 𝐴𝑁 ∈ ℕ0) → (𝑊 prefix 𝑁) = (𝑊 substr ⟨0, 𝑁⟩))
101, 9sylan2 593 . . . 4 ((𝑊 ∈ Word 𝐴𝑁 ∈ (0...(♯‘𝑊))) → (𝑊 prefix 𝑁) = (𝑊 substr ⟨0, 𝑁⟩))
1110coeq2d 5838 . . 3 ((𝑊 ∈ Word 𝐴𝑁 ∈ (0...(♯‘𝑊))) → (𝐹 ∘ (𝑊 prefix 𝑁)) = (𝐹 ∘ (𝑊 substr ⟨0, 𝑁⟩)))
12113adant3 1132 . 2 ((𝑊 ∈ Word 𝐴𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴𝐵) → (𝐹 ∘ (𝑊 prefix 𝑁)) = (𝐹 ∘ (𝑊 substr ⟨0, 𝑁⟩)))
13 ffun 6691 . . . . . . . 8 (𝐹:𝐴𝐵 → Fun 𝐹)
1413anim2i 617 . . . . . . 7 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝑊 ∈ Word 𝐴 ∧ Fun 𝐹))
1514ancomd 462 . . . . . 6 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (Fun 𝐹𝑊 ∈ Word 𝐴))
16153adant2 1131 . . . . 5 ((𝑊 ∈ Word 𝐴𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴𝐵) → (Fun 𝐹𝑊 ∈ Word 𝐴))
17 cofunexg 7901 . . . . 5 ((Fun 𝐹𝑊 ∈ Word 𝐴) → (𝐹𝑊) ∈ V)
1816, 17syl 17 . . . 4 ((𝑊 ∈ Word 𝐴𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴𝐵) → (𝐹𝑊) ∈ V)
1918, 2jca 512 . . 3 ((𝑊 ∈ Word 𝐴𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴𝐵) → ((𝐹𝑊) ∈ V ∧ 𝑁 ∈ ℕ0))
20 pfxval 14588 . . 3 (((𝐹𝑊) ∈ V ∧ 𝑁 ∈ ℕ0) → ((𝐹𝑊) prefix 𝑁) = ((𝐹𝑊) substr ⟨0, 𝑁⟩))
2119, 20syl 17 . 2 ((𝑊 ∈ Word 𝐴𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴𝐵) → ((𝐹𝑊) prefix 𝑁) = ((𝐹𝑊) substr ⟨0, 𝑁⟩))
228, 12, 213eqtr4d 2781 1 ((𝑊 ∈ Word 𝐴𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴𝐵) → (𝐹 ∘ (𝑊 prefix 𝑁)) = ((𝐹𝑊) prefix 𝑁))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 396  w3a 1087   = wceq 1541  wcel 2106  Vcvv 3459  cop 4612  ccom 5657  Fun wfun 6510  wf 6512  cfv 6516  (class class class)co 7377  0cc0 11075  0cn0 12437  ...cfz 13449  chash 14255  Word cword 14429   substr csubstr 14555   prefix cpfx 14585
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 1913  ax-6 1971  ax-7 2011  ax-8 2108  ax-9 2116  ax-10 2137  ax-11 2154  ax-12 2171  ax-ext 2702  ax-rep 5262  ax-sep 5276  ax-nul 5283  ax-pow 5340  ax-pr 5404  ax-un 7692  ax-cnex 11131  ax-resscn 11132  ax-1cn 11133  ax-icn 11134  ax-addcl 11135  ax-addrcl 11136  ax-mulcl 11137  ax-mulrcl 11138  ax-mulcom 11139  ax-addass 11140  ax-mulass 11141  ax-distr 11142  ax-i2m1 11143  ax-1ne0 11144  ax-1rid 11145  ax-rnegex 11146  ax-rrecex 11147  ax-cnre 11148  ax-pre-lttri 11149  ax-pre-lttrn 11150  ax-pre-ltadd 11151  ax-pre-mulgt0 11152
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 846  df-3or 1088  df-3an 1089  df-tru 1544  df-fal 1554  df-ex 1782  df-nf 1786  df-sb 2068  df-mo 2533  df-eu 2562  df-clab 2709  df-cleq 2723  df-clel 2809  df-nfc 2884  df-ne 2940  df-nel 3046  df-ral 3061  df-rex 3070  df-reu 3365  df-rab 3419  df-v 3461  df-sbc 3758  df-csb 3874  df-dif 3931  df-un 3933  df-in 3935  df-ss 3945  df-pss 3947  df-nul 4303  df-if 4507  df-pw 4582  df-sn 4607  df-pr 4609  df-op 4613  df-uni 4886  df-int 4928  df-iun 4976  df-br 5126  df-opab 5188  df-mpt 5209  df-tr 5243  df-id 5551  df-eprel 5557  df-po 5565  df-so 5566  df-fr 5608  df-we 5610  df-xp 5659  df-rel 5660  df-cnv 5661  df-co 5662  df-dm 5663  df-rn 5664  df-res 5665  df-ima 5666  df-pred 6273  df-ord 6340  df-on 6341  df-lim 6342  df-suc 6343  df-iota 6468  df-fun 6518  df-fn 6519  df-f 6520  df-f1 6521  df-fo 6522  df-f1o 6523  df-fv 6524  df-riota 7333  df-ov 7380  df-oprab 7381  df-mpo 7382  df-om 7823  df-1st 7941  df-2nd 7942  df-frecs 8232  df-wrecs 8263  df-recs 8337  df-rdg 8376  df-1o 8432  df-er 8670  df-en 8906  df-dom 8907  df-sdom 8908  df-fin 8909  df-card 9899  df-pnf 11215  df-mnf 11216  df-xr 11217  df-ltxr 11218  df-le 11219  df-sub 11411  df-neg 11412  df-nn 12178  df-n0 12438  df-z 12524  df-uz 12788  df-fz 13450  df-fzo 13593  df-hash 14256  df-word 14430  df-substr 14556  df-pfx 14586
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator