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 1140 | . . 3 ⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝑁 ∈ (0...𝐿)) → (𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉)) | |
2 | elfznn0 12988 | . . . . . 6 ⊢ (𝑁 ∈ (0...𝐿) → 𝑁 ∈ ℕ0) | |
3 | 0elfz 12992 | . . . . . 6 ⊢ (𝑁 ∈ ℕ0 → 0 ∈ (0...𝑁)) | |
4 | 2, 3 | syl 17 | . . . . 5 ⊢ (𝑁 ∈ (0...𝐿) → 0 ∈ (0...𝑁)) |
5 | swrdccatin2.l | . . . . . . . 8 ⊢ 𝐿 = (♯‘𝐴) | |
6 | 5 | oveq2i 7156 | . . . . . . 7 ⊢ (0...𝐿) = (0...(♯‘𝐴)) |
7 | 6 | eleq2i 2901 | . . . . . 6 ⊢ (𝑁 ∈ (0...𝐿) ↔ 𝑁 ∈ (0...(♯‘𝐴))) |
8 | 7 | biimpi 217 | . . . . 5 ⊢ (𝑁 ∈ (0...𝐿) → 𝑁 ∈ (0...(♯‘𝐴))) |
9 | 4, 8 | jca 512 | . . . 4 ⊢ (𝑁 ∈ (0...𝐿) → (0 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝐴)))) |
10 | 9 | 3ad2ant3 1127 | . . 3 ⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝑁 ∈ (0...𝐿)) → (0 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝐴)))) |
11 | swrdccatin1 14075 | . . 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 13914 | . . . . 5 ⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → (𝐴 ++ 𝐵) ∈ Word 𝑉) | |
14 | 13 | 3adant3 1124 | . . . 4 ⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝑁 ∈ (0...𝐿)) → (𝐴 ++ 𝐵) ∈ Word 𝑉) |
15 | 2 | 3ad2ant3 1127 | . . . 4 ⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝑁 ∈ (0...𝐿)) → 𝑁 ∈ ℕ0) |
16 | 14, 15 | jca 512 | . . 3 ⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝑁 ∈ (0...𝐿)) → ((𝐴 ++ 𝐵) ∈ Word 𝑉 ∧ 𝑁 ∈ ℕ0)) |
17 | pfxval 14023 | . . 3 ⊢ (((𝐴 ++ 𝐵) ∈ Word 𝑉 ∧ 𝑁 ∈ ℕ0) → ((𝐴 ++ 𝐵) prefix 𝑁) = ((𝐴 ++ 𝐵) substr 〈0, 𝑁〉)) | |
18 | 16, 17 | syl 17 | . 2 ⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝑁 ∈ (0...𝐿)) → ((𝐴 ++ 𝐵) prefix 𝑁) = ((𝐴 ++ 𝐵) substr 〈0, 𝑁〉)) |
19 | pfxval 14023 | . . . 4 ⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝑁 ∈ ℕ0) → (𝐴 prefix 𝑁) = (𝐴 substr 〈0, 𝑁〉)) | |
20 | 2, 19 | sylan2 592 | . . 3 ⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝑁 ∈ (0...𝐿)) → (𝐴 prefix 𝑁) = (𝐴 substr 〈0, 𝑁〉)) |
21 | 20 | 3adant2 1123 | . 2 ⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝑁 ∈ (0...𝐿)) → (𝐴 prefix 𝑁) = (𝐴 substr 〈0, 𝑁〉)) |
22 | 12, 18, 21 | 3eqtr4d 2863 | 1 ⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝑁 ∈ (0...𝐿)) → ((𝐴 ++ 𝐵) prefix 𝑁) = (𝐴 prefix 𝑁)) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 ∧ wa 396 ∧ w3a 1079 = wceq 1528 ∈ wcel 2105 〈cop 4563 ‘cfv 6348 (class class class)co 7145 0cc0 10525 ℕ0cn0 11885 ...cfz 12880 ♯chash 13678 Word cword 13849 ++ cconcat 13910 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-oadd 8095 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-concat 13911 df-substr 13991 df-pfx 14021 |
This theorem is referenced by: pfxccat3a 14088 pfxccatid 14091 |
Copyright terms: Public domain | W3C validator |