Metamath Proof Explorer |
< Previous
Next >
Nearby theorems |
||
Mirrors > Home > MPE Home > Th. List > pfxccatpfx1 | Structured version Visualization version GIF version |
Description: A prefix of a concatenation being a prefix of the first concatenated word. (Contributed by AV, 10-May-2020.) |
Ref | Expression |
---|---|
swrdccatin2.l | ⊢ 𝐿 = (♯‘𝐴) |
Ref | Expression |
---|---|
pfxccatpfx1 | ⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝑁 ∈ (0...𝐿)) → ((𝐴 ++ 𝐵) prefix 𝑁) = (𝐴 prefix 𝑁)) |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | 3simpa 1147 | . . 3 ⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝑁 ∈ (0...𝐿)) → (𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉)) | |
2 | elfznn0 13422 | . . . . . 6 ⊢ (𝑁 ∈ (0...𝐿) → 𝑁 ∈ ℕ0) | |
3 | 0elfz 13426 | . . . . . 6 ⊢ (𝑁 ∈ ℕ0 → 0 ∈ (0...𝑁)) | |
4 | 2, 3 | syl 17 | . . . . 5 ⊢ (𝑁 ∈ (0...𝐿) → 0 ∈ (0...𝑁)) |
5 | swrdccatin2.l | . . . . . . . 8 ⊢ 𝐿 = (♯‘𝐴) | |
6 | 5 | oveq2i 7326 | . . . . . . 7 ⊢ (0...𝐿) = (0...(♯‘𝐴)) |
7 | 6 | eleq2i 2829 | . . . . . 6 ⊢ (𝑁 ∈ (0...𝐿) ↔ 𝑁 ∈ (0...(♯‘𝐴))) |
8 | 7 | biimpi 215 | . . . . 5 ⊢ (𝑁 ∈ (0...𝐿) → 𝑁 ∈ (0...(♯‘𝐴))) |
9 | 4, 8 | jca 512 | . . . 4 ⊢ (𝑁 ∈ (0...𝐿) → (0 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝐴)))) |
10 | 9 | 3ad2ant3 1134 | . . 3 ⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝑁 ∈ (0...𝐿)) → (0 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝐴)))) |
11 | swrdccatin1 14510 | . . 3 ⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → ((0 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝐴))) → ((𝐴 ++ 𝐵) substr 〈0, 𝑁〉) = (𝐴 substr 〈0, 𝑁〉))) | |
12 | 1, 10, 11 | sylc 65 | . 2 ⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝑁 ∈ (0...𝐿)) → ((𝐴 ++ 𝐵) substr 〈0, 𝑁〉) = (𝐴 substr 〈0, 𝑁〉)) |
13 | ccatcl 14349 | . . . . 5 ⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → (𝐴 ++ 𝐵) ∈ Word 𝑉) | |
14 | 13 | 3adant3 1131 | . . . 4 ⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝑁 ∈ (0...𝐿)) → (𝐴 ++ 𝐵) ∈ Word 𝑉) |
15 | 2 | 3ad2ant3 1134 | . . . 4 ⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝑁 ∈ (0...𝐿)) → 𝑁 ∈ ℕ0) |
16 | 14, 15 | jca 512 | . . 3 ⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝑁 ∈ (0...𝐿)) → ((𝐴 ++ 𝐵) ∈ Word 𝑉 ∧ 𝑁 ∈ ℕ0)) |
17 | pfxval 14458 | . . 3 ⊢ (((𝐴 ++ 𝐵) ∈ Word 𝑉 ∧ 𝑁 ∈ ℕ0) → ((𝐴 ++ 𝐵) prefix 𝑁) = ((𝐴 ++ 𝐵) substr 〈0, 𝑁〉)) | |
18 | 16, 17 | syl 17 | . 2 ⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝑁 ∈ (0...𝐿)) → ((𝐴 ++ 𝐵) prefix 𝑁) = ((𝐴 ++ 𝐵) substr 〈0, 𝑁〉)) |
19 | pfxval 14458 | . . . 4 ⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝑁 ∈ ℕ0) → (𝐴 prefix 𝑁) = (𝐴 substr 〈0, 𝑁〉)) | |
20 | 2, 19 | sylan2 593 | . . 3 ⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝑁 ∈ (0...𝐿)) → (𝐴 prefix 𝑁) = (𝐴 substr 〈0, 𝑁〉)) |
21 | 20 | 3adant2 1130 | . 2 ⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝑁 ∈ (0...𝐿)) → (𝐴 prefix 𝑁) = (𝐴 substr 〈0, 𝑁〉)) |
22 | 12, 18, 21 | 3eqtr4d 2787 | 1 ⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝑁 ∈ (0...𝐿)) → ((𝐴 ++ 𝐵) prefix 𝑁) = (𝐴 prefix 𝑁)) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 ∧ wa 396 ∧ w3a 1086 = wceq 1540 ∈ wcel 2105 〈cop 4577 ‘cfv 6465 (class class class)co 7315 0cc0 10944 ℕ0cn0 12306 ...cfz 13312 ♯chash 14117 Word cword 14289 ++ cconcat 14345 substr csubstr 14425 prefix cpfx 14455 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1796 ax-4 1810 ax-5 1912 ax-6 1970 ax-7 2010 ax-8 2107 ax-9 2115 ax-10 2136 ax-11 2153 ax-12 2170 ax-ext 2708 ax-rep 5224 ax-sep 5238 ax-nul 5245 ax-pow 5303 ax-pr 5367 ax-un 7628 ax-cnex 11000 ax-resscn 11001 ax-1cn 11002 ax-icn 11003 ax-addcl 11004 ax-addrcl 11005 ax-mulcl 11006 ax-mulrcl 11007 ax-mulcom 11008 ax-addass 11009 ax-mulass 11010 ax-distr 11011 ax-i2m1 11012 ax-1ne0 11013 ax-1rid 11014 ax-rnegex 11015 ax-rrecex 11016 ax-cnre 11017 ax-pre-lttri 11018 ax-pre-lttrn 11019 ax-pre-ltadd 11020 ax-pre-mulgt0 11021 |
This theorem depends on definitions: df-bi 206 df-an 397 df-or 845 df-3or 1087 df-3an 1088 df-tru 1543 df-fal 1553 df-ex 1781 df-nf 1785 df-sb 2067 df-mo 2539 df-eu 2568 df-clab 2715 df-cleq 2729 df-clel 2815 df-nfc 2887 df-ne 2942 df-nel 3048 df-ral 3063 df-rex 3072 df-reu 3351 df-rab 3405 df-v 3443 df-sbc 3727 df-csb 3843 df-dif 3900 df-un 3902 df-in 3904 df-ss 3914 df-pss 3916 df-nul 4268 df-if 4472 df-pw 4547 df-sn 4572 df-pr 4574 df-op 4578 df-uni 4851 df-int 4893 df-iun 4939 df-br 5088 df-opab 5150 df-mpt 5171 df-tr 5205 df-id 5507 df-eprel 5513 df-po 5521 df-so 5522 df-fr 5562 df-we 5564 df-xp 5613 df-rel 5614 df-cnv 5615 df-co 5616 df-dm 5617 df-rn 5618 df-res 5619 df-ima 5620 df-pred 6224 df-ord 6291 df-on 6292 df-lim 6293 df-suc 6294 df-iota 6417 df-fun 6467 df-fn 6468 df-f 6469 df-f1 6470 df-fo 6471 df-f1o 6472 df-fv 6473 df-riota 7272 df-ov 7318 df-oprab 7319 df-mpo 7320 df-om 7758 df-1st 7876 df-2nd 7877 df-frecs 8144 df-wrecs 8175 df-recs 8249 df-rdg 8288 df-1o 8344 df-er 8546 df-en 8782 df-dom 8783 df-sdom 8784 df-fin 8785 df-card 9768 df-pnf 11084 df-mnf 11085 df-xr 11086 df-ltxr 11087 df-le 11088 df-sub 11280 df-neg 11281 df-nn 12047 df-n0 12307 df-z 12393 df-uz 12656 df-fz 13313 df-fzo 13456 df-hash 14118 df-word 14290 df-concat 14346 df-substr 14426 df-pfx 14456 |
This theorem is referenced by: pfxccat3a 14523 pfxccatid 14526 |
Copyright terms: Public domain | W3C validator |