![]() |
Metamath Proof Explorer |
< Previous
Next >
Nearby theorems |
|
Mirrors > Home > MPE Home > Th. List > pfxco | Structured version Visualization version GIF version |
Description: Mapping of words commutes with the prefix operation. (Contributed by AV, 15-May-2020.) |
Ref | Expression |
---|---|
pfxco | ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴⟶𝐵) → (𝐹 ∘ (𝑊 prefix 𝑁)) = ((𝐹 ∘ 𝑊) prefix 𝑁)) |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | elfznn0 12728 | . . . . . 6 ⊢ (𝑁 ∈ (0...(♯‘𝑊)) → 𝑁 ∈ ℕ0) | |
2 | 1 | 3ad2ant2 1170 | . . . . 5 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴⟶𝐵) → 𝑁 ∈ ℕ0) |
3 | 0elfz 12732 | . . . . 5 ⊢ (𝑁 ∈ ℕ0 → 0 ∈ (0...𝑁)) | |
4 | 2, 3 | syl 17 | . . . 4 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴⟶𝐵) → 0 ∈ (0...𝑁)) |
5 | simp2 1173 | . . . 4 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴⟶𝐵) → 𝑁 ∈ (0...(♯‘𝑊))) | |
6 | 4, 5 | jca 509 | . . 3 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴⟶𝐵) → (0 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊)))) |
7 | swrdco 13959 | . . 3 ⊢ ((𝑊 ∈ Word 𝐴 ∧ (0 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝐹:𝐴⟶𝐵) → (𝐹 ∘ (𝑊 substr 〈0, 𝑁〉)) = ((𝐹 ∘ 𝑊) substr 〈0, 𝑁〉)) | |
8 | 6, 7 | syld3an2 1537 | . 2 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴⟶𝐵) → (𝐹 ∘ (𝑊 substr 〈0, 𝑁〉)) = ((𝐹 ∘ 𝑊) substr 〈0, 𝑁〉)) |
9 | pfxval 13753 | . . . . 5 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑁 ∈ ℕ0) → (𝑊 prefix 𝑁) = (𝑊 substr 〈0, 𝑁〉)) | |
10 | 1, 9 | sylan2 588 | . . . 4 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑁 ∈ (0...(♯‘𝑊))) → (𝑊 prefix 𝑁) = (𝑊 substr 〈0, 𝑁〉)) |
11 | 10 | coeq2d 5518 | . . 3 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑁 ∈ (0...(♯‘𝑊))) → (𝐹 ∘ (𝑊 prefix 𝑁)) = (𝐹 ∘ (𝑊 substr 〈0, 𝑁〉))) |
12 | 11 | 3adant3 1168 | . 2 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴⟶𝐵) → (𝐹 ∘ (𝑊 prefix 𝑁)) = (𝐹 ∘ (𝑊 substr 〈0, 𝑁〉))) |
13 | ffun 6282 | . . . . . . . 8 ⊢ (𝐹:𝐴⟶𝐵 → Fun 𝐹) | |
14 | 13 | anim2i 612 | . . . . . . 7 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐹:𝐴⟶𝐵) → (𝑊 ∈ Word 𝐴 ∧ Fun 𝐹)) |
15 | 14 | ancomd 455 | . . . . . 6 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐹:𝐴⟶𝐵) → (Fun 𝐹 ∧ 𝑊 ∈ Word 𝐴)) |
16 | 15 | 3adant2 1167 | . . . . 5 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴⟶𝐵) → (Fun 𝐹 ∧ 𝑊 ∈ Word 𝐴)) |
17 | cofunexg 7393 | . . . . 5 ⊢ ((Fun 𝐹 ∧ 𝑊 ∈ Word 𝐴) → (𝐹 ∘ 𝑊) ∈ V) | |
18 | 16, 17 | syl 17 | . . . 4 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴⟶𝐵) → (𝐹 ∘ 𝑊) ∈ V) |
19 | 18, 2 | jca 509 | . . 3 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴⟶𝐵) → ((𝐹 ∘ 𝑊) ∈ V ∧ 𝑁 ∈ ℕ0)) |
20 | pfxval 13753 | . . 3 ⊢ (((𝐹 ∘ 𝑊) ∈ V ∧ 𝑁 ∈ ℕ0) → ((𝐹 ∘ 𝑊) prefix 𝑁) = ((𝐹 ∘ 𝑊) substr 〈0, 𝑁〉)) | |
21 | 19, 20 | syl 17 | . 2 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴⟶𝐵) → ((𝐹 ∘ 𝑊) prefix 𝑁) = ((𝐹 ∘ 𝑊) substr 〈0, 𝑁〉)) |
22 | 8, 12, 21 | 3eqtr4d 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 |