![]() |
Metamath Proof Explorer |
< Previous
Next >
Nearby theorems |
|
Mirrors > Home > MPE Home > Th. List > ccatlen | Structured version Visualization version GIF version |
Description: The length of a concatenated word. (Contributed by Stefan O'Rear, 15-Aug-2015.) (Revised by JJ, 1-Jan-2024.) |
Ref | Expression |
---|---|
ccatlen | ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → (♯‘(𝑆 ++ 𝑇)) = ((♯‘𝑆) + (♯‘𝑇))) |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | ccatfval 14505 | . . 3 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → (𝑆 ++ 𝑇) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) | |
2 | 1 | fveq2d 6882 | . 2 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → (♯‘(𝑆 ++ 𝑇)) = (♯‘(𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))))) |
3 | fvex 6891 | . . . . 5 ⊢ (𝑆‘𝑥) ∈ V | |
4 | fvex 6891 | . . . . 5 ⊢ (𝑇‘(𝑥 − (♯‘𝑆))) ∈ V | |
5 | 3, 4 | ifex 4572 | . . . 4 ⊢ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))) ∈ V |
6 | eqid 2731 | . . . 4 ⊢ (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) | |
7 | 5, 6 | fnmpti 6680 | . . 3 ⊢ (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) Fn (0..^((♯‘𝑆) + (♯‘𝑇))) |
8 | hashfn 14317 | . . 3 ⊢ ((𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) Fn (0..^((♯‘𝑆) + (♯‘𝑇))) → (♯‘(𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) = (♯‘(0..^((♯‘𝑆) + (♯‘𝑇))))) | |
9 | 7, 8 | mp1i 13 | . 2 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → (♯‘(𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) = (♯‘(0..^((♯‘𝑆) + (♯‘𝑇))))) |
10 | lencl 14465 | . . . 4 ⊢ (𝑆 ∈ Word 𝐴 → (♯‘𝑆) ∈ ℕ0) | |
11 | lencl 14465 | . . . 4 ⊢ (𝑇 ∈ Word 𝐵 → (♯‘𝑇) ∈ ℕ0) | |
12 | nn0addcl 12489 | . . . 4 ⊢ (((♯‘𝑆) ∈ ℕ0 ∧ (♯‘𝑇) ∈ ℕ0) → ((♯‘𝑆) + (♯‘𝑇)) ∈ ℕ0) | |
13 | 10, 11, 12 | syl2an 596 | . . 3 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → ((♯‘𝑆) + (♯‘𝑇)) ∈ ℕ0) |
14 | hashfzo0 14372 | . . 3 ⊢ (((♯‘𝑆) + (♯‘𝑇)) ∈ ℕ0 → (♯‘(0..^((♯‘𝑆) + (♯‘𝑇)))) = ((♯‘𝑆) + (♯‘𝑇))) | |
15 | 13, 14 | syl 17 | . 2 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → (♯‘(0..^((♯‘𝑆) + (♯‘𝑇)))) = ((♯‘𝑆) + (♯‘𝑇))) |
16 | 2, 9, 15 | 3eqtrd 2775 | 1 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → (♯‘(𝑆 ++ 𝑇)) = ((♯‘𝑆) + (♯‘𝑇))) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 ∧ wa 396 = wceq 1541 ∈ wcel 2106 ifcif 4522 ↦ cmpt 5224 Fn wfn 6527 ‘cfv 6532 (class class class)co 7393 0cc0 11092 + caddc 11095 − cmin 11426 ℕ0cn0 12454 ..^cfzo 13609 ♯chash 14272 Word cword 14446 ++ cconcat 14502 |
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 5278 ax-sep 5292 ax-nul 5299 ax-pow 5356 ax-pr 5420 ax-un 7708 ax-cnex 11148 ax-resscn 11149 ax-1cn 11150 ax-icn 11151 ax-addcl 11152 ax-addrcl 11153 ax-mulcl 11154 ax-mulrcl 11155 ax-mulcom 11156 ax-addass 11157 ax-mulass 11158 ax-distr 11159 ax-i2m1 11160 ax-1ne0 11161 ax-1rid 11162 ax-rnegex 11163 ax-rrecex 11164 ax-cnre 11165 ax-pre-lttri 11166 ax-pre-lttrn 11167 ax-pre-ltadd 11168 ax-pre-mulgt0 11169 |
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 3376 df-rab 3432 df-v 3475 df-sbc 3774 df-csb 3890 df-dif 3947 df-un 3949 df-in 3951 df-ss 3961 df-pss 3963 df-nul 4319 df-if 4523 df-pw 4598 df-sn 4623 df-pr 4625 df-op 4629 df-uni 4902 df-int 4944 df-iun 4992 df-br 5142 df-opab 5204 df-mpt 5225 df-tr 5259 df-id 5567 df-eprel 5573 df-po 5581 df-so 5582 df-fr 5624 df-we 5626 df-xp 5675 df-rel 5676 df-cnv 5677 df-co 5678 df-dm 5679 df-rn 5680 df-res 5681 df-ima 5682 df-pred 6289 df-ord 6356 df-on 6357 df-lim 6358 df-suc 6359 df-iota 6484 df-fun 6534 df-fn 6535 df-f 6536 df-f1 6537 df-fo 6538 df-f1o 6539 df-fv 6540 df-riota 7349 df-ov 7396 df-oprab 7397 df-mpo 7398 df-om 7839 df-1st 7957 df-2nd 7958 df-frecs 8248 df-wrecs 8279 df-recs 8353 df-rdg 8392 df-1o 8448 df-er 8686 df-en 8923 df-dom 8924 df-sdom 8925 df-fin 8926 df-card 9916 df-pnf 11232 df-mnf 11233 df-xr 11234 df-ltxr 11235 df-le 11236 df-sub 11428 df-neg 11429 df-nn 12195 df-n0 12455 df-z 12541 df-uz 12805 df-fz 13467 df-fzo 13610 df-hash 14273 df-word 14447 df-concat 14503 |
This theorem is referenced by: ccat0 14508 elfzelfzccat 14512 ccatsymb 14514 ccatass 14520 lswccatn0lsw 14523 ccatws1len 14552 ccat2s1len 14555 ccatswrd 14600 swrdccat2 14601 ccatpfx 14633 pfxccat1 14634 lenrevpfxcctswrd 14644 ccatopth 14648 ccatopth2 14649 swrdccatfn 14656 swrdccatin2 14661 pfxccatin12lem2c 14662 spllen 14686 splfv1 14687 splfv2a 14688 splval2 14689 revccat 14698 cshwlen 14731 cats1len 14793 gsumsgrpccat 18696 psgnuni 19331 efginvrel2 19559 efgsval2 19565 efgsp1 19569 efgredleme 19575 efgredlemc 19577 efgcpbllemb 19587 pgpfaclem1 19910 psgnghm 21066 wwlksnext 29012 wwlksnextbi 29013 clwwlkccatlem 29107 clwlkclwwlk2 29121 clwwlkel 29164 clwwlkwwlksb 29172 clwwlknccat 29181 ccatf1 31986 splfv3 31993 cycpmco2lem3 32158 cycpmco2lem4 32159 cycpmco2lem5 32160 cycpmco2lem6 32161 cycpmco2 32163 ofcccat 33385 signstfvn 33411 signstfvp 33413 signstfvc 33416 signsvfn 33424 signshf 33430 lpadlen2 33524 elmrsubrn 34342 ccatcan2d 40876 frlmfzoccat 40886 |
Copyright terms: Public domain | W3C validator |