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 12988 | . . . . . 6 ⊢ (𝑁 ∈ (0...(♯‘𝑊)) → 𝑁 ∈ ℕ0) | |
2 | 1 | 3ad2ant2 1126 | . . . . 5 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴⟶𝐵) → 𝑁 ∈ ℕ0) |
3 | 0elfz 12992 | . . . . 5 ⊢ (𝑁 ∈ ℕ0 → 0 ∈ (0...𝑁)) | |
4 | 2, 3 | syl 17 | . . . 4 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴⟶𝐵) → 0 ∈ (0...𝑁)) |
5 | simp2 1129 | . . . 4 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴⟶𝐵) → 𝑁 ∈ (0...(♯‘𝑊))) | |
6 | 4, 5 | jca 512 | . . 3 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴⟶𝐵) → (0 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊)))) |
7 | swrdco 14187 | . . 3 ⊢ ((𝑊 ∈ Word 𝐴 ∧ (0 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝐹:𝐴⟶𝐵) → (𝐹 ∘ (𝑊 substr 〈0, 𝑁〉)) = ((𝐹 ∘ 𝑊) substr 〈0, 𝑁〉)) | |
8 | 6, 7 | syld3an2 1403 | . 2 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴⟶𝐵) → (𝐹 ∘ (𝑊 substr 〈0, 𝑁〉)) = ((𝐹 ∘ 𝑊) substr 〈0, 𝑁〉)) |
9 | pfxval 14023 | . . . . 5 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑁 ∈ ℕ0) → (𝑊 prefix 𝑁) = (𝑊 substr 〈0, 𝑁〉)) | |
10 | 1, 9 | sylan2 592 | . . . 4 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑁 ∈ (0...(♯‘𝑊))) → (𝑊 prefix 𝑁) = (𝑊 substr 〈0, 𝑁〉)) |
11 | 10 | coeq2d 5726 | . . 3 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑁 ∈ (0...(♯‘𝑊))) → (𝐹 ∘ (𝑊 prefix 𝑁)) = (𝐹 ∘ (𝑊 substr 〈0, 𝑁〉))) |
12 | 11 | 3adant3 1124 | . 2 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴⟶𝐵) → (𝐹 ∘ (𝑊 prefix 𝑁)) = (𝐹 ∘ (𝑊 substr 〈0, 𝑁〉))) |
13 | ffun 6510 | . . . . . . . 8 ⊢ (𝐹:𝐴⟶𝐵 → Fun 𝐹) | |
14 | 13 | anim2i 616 | . . . . . . 7 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐹:𝐴⟶𝐵) → (𝑊 ∈ Word 𝐴 ∧ Fun 𝐹)) |
15 | 14 | ancomd 462 | . . . . . 6 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐹:𝐴⟶𝐵) → (Fun 𝐹 ∧ 𝑊 ∈ Word 𝐴)) |
16 | 15 | 3adant2 1123 | . . . . 5 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴⟶𝐵) → (Fun 𝐹 ∧ 𝑊 ∈ Word 𝐴)) |
17 | cofunexg 7639 | . . . . 5 ⊢ ((Fun 𝐹 ∧ 𝑊 ∈ Word 𝐴) → (𝐹 ∘ 𝑊) ∈ V) | |
18 | 16, 17 | syl 17 | . . . 4 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴⟶𝐵) → (𝐹 ∘ 𝑊) ∈ V) |
19 | 18, 2 | jca 512 | . . 3 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴⟶𝐵) → ((𝐹 ∘ 𝑊) ∈ V ∧ 𝑁 ∈ ℕ0)) |
20 | pfxval 14023 | . . 3 ⊢ (((𝐹 ∘ 𝑊) ∈ V ∧ 𝑁 ∈ ℕ0) → ((𝐹 ∘ 𝑊) prefix 𝑁) = ((𝐹 ∘ 𝑊) substr 〈0, 𝑁〉)) | |
21 | 19, 20 | syl 17 | . 2 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴⟶𝐵) → ((𝐹 ∘ 𝑊) prefix 𝑁) = ((𝐹 ∘ 𝑊) substr 〈0, 𝑁〉)) |
22 | 8, 12, 21 | 3eqtr4d 2863 | 1 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝐹:𝐴⟶𝐵) → (𝐹 ∘ (𝑊 prefix 𝑁)) = ((𝐹 ∘ 𝑊) prefix 𝑁)) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 ∧ wa 396 ∧ w3a 1079 = wceq 1528 ∈ wcel 2105 Vcvv 3492 〈cop 4563 ∘ ccom 5552 Fun wfun 6342 ⟶wf 6344 ‘cfv 6348 (class class class)co 7145 0cc0 10525 ℕ0cn0 11885 ...cfz 12880 ♯chash 13678 Word cword 13849 substr csubstr 13990 prefix cpfx 14020 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1787 ax-4 1801 ax-5 1902 ax-6 1961 ax-7 2006 ax-8 2107 ax-9 2115 ax-10 2136 ax-11 2151 ax-12 2167 ax-ext 2790 ax-rep 5181 ax-sep 5194 ax-nul 5201 ax-pow 5257 ax-pr 5320 ax-un 7450 ax-cnex 10581 ax-resscn 10582 ax-1cn 10583 ax-icn 10584 ax-addcl 10585 ax-addrcl 10586 ax-mulcl 10587 ax-mulrcl 10588 ax-mulcom 10589 ax-addass 10590 ax-mulass 10591 ax-distr 10592 ax-i2m1 10593 ax-1ne0 10594 ax-1rid 10595 ax-rnegex 10596 ax-rrecex 10597 ax-cnre 10598 ax-pre-lttri 10599 ax-pre-lttrn 10600 ax-pre-ltadd 10601 ax-pre-mulgt0 10602 |
This theorem depends on definitions: df-bi 208 df-an 397 df-or 842 df-3or 1080 df-3an 1081 df-tru 1531 df-ex 1772 df-nf 1776 df-sb 2061 df-mo 2615 df-eu 2647 df-clab 2797 df-cleq 2811 df-clel 2890 df-nfc 2960 df-ne 3014 df-nel 3121 df-ral 3140 df-rex 3141 df-reu 3142 df-rab 3144 df-v 3494 df-sbc 3770 df-csb 3881 df-dif 3936 df-un 3938 df-in 3940 df-ss 3949 df-pss 3951 df-nul 4289 df-if 4464 df-pw 4537 df-sn 4558 df-pr 4560 df-tp 4562 df-op 4564 df-uni 4831 df-int 4868 df-iun 4912 df-br 5058 df-opab 5120 df-mpt 5138 df-tr 5164 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 7103 df-ov 7148 df-oprab 7149 df-mpo 7150 df-om 7570 df-1st 7678 df-2nd 7679 df-wrecs 7936 df-recs 7997 df-rdg 8035 df-1o 8091 df-er 8278 df-en 8498 df-dom 8499 df-sdom 8500 df-fin 8501 df-card 9356 df-pnf 10665 df-mnf 10666 df-xr 10667 df-ltxr 10668 df-le 10669 df-sub 10860 df-neg 10861 df-nn 11627 df-n0 11886 df-z 11970 df-uz 12232 df-fz 12881 df-fzo 13022 df-hash 13679 df-word 13850 df-substr 13991 df-pfx 14021 |
This theorem is referenced by: (None) |
Copyright terms: Public domain | W3C validator |