![]() |
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 14608 | . . 3 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → (𝑆 ++ 𝑇) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) | |
2 | 1 | fveq2d 6911 | . 2 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → (♯‘(𝑆 ++ 𝑇)) = (♯‘(𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))))) |
3 | fvex 6920 | . . . . 5 ⊢ (𝑆‘𝑥) ∈ V | |
4 | fvex 6920 | . . . . 5 ⊢ (𝑇‘(𝑥 − (♯‘𝑆))) ∈ V | |
5 | 3, 4 | ifex 4581 | . . . 4 ⊢ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))) ∈ V |
6 | eqid 2735 | . . . 4 ⊢ (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) | |
7 | 5, 6 | fnmpti 6712 | . . 3 ⊢ (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) Fn (0..^((♯‘𝑆) + (♯‘𝑇))) |
8 | hashfn 14411 | . . 3 ⊢ ((𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) Fn (0..^((♯‘𝑆) + (♯‘𝑇))) → (♯‘(𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) = (♯‘(0..^((♯‘𝑆) + (♯‘𝑇))))) | |
9 | 7, 8 | mp1i 13 | . 2 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → (♯‘(𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) = (♯‘(0..^((♯‘𝑆) + (♯‘𝑇))))) |
10 | lencl 14568 | . . . 4 ⊢ (𝑆 ∈ Word 𝐴 → (♯‘𝑆) ∈ ℕ0) | |
11 | lencl 14568 | . . . 4 ⊢ (𝑇 ∈ Word 𝐵 → (♯‘𝑇) ∈ ℕ0) | |
12 | nn0addcl 12559 | . . . 4 ⊢ (((♯‘𝑆) ∈ ℕ0 ∧ (♯‘𝑇) ∈ ℕ0) → ((♯‘𝑆) + (♯‘𝑇)) ∈ ℕ0) | |
13 | 10, 11, 12 | syl2an 596 | . . 3 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → ((♯‘𝑆) + (♯‘𝑇)) ∈ ℕ0) |
14 | hashfzo0 14466 | . . 3 ⊢ (((♯‘𝑆) + (♯‘𝑇)) ∈ ℕ0 → (♯‘(0..^((♯‘𝑆) + (♯‘𝑇)))) = ((♯‘𝑆) + (♯‘𝑇))) | |
15 | 13, 14 | syl 17 | . 2 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → (♯‘(0..^((♯‘𝑆) + (♯‘𝑇)))) = ((♯‘𝑆) + (♯‘𝑇))) |
16 | 2, 9, 15 | 3eqtrd 2779 | 1 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → (♯‘(𝑆 ++ 𝑇)) = ((♯‘𝑆) + (♯‘𝑇))) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 ∧ wa 395 = wceq 1537 ∈ wcel 2106 ifcif 4531 ↦ cmpt 5231 Fn wfn 6558 ‘cfv 6563 (class class class)co 7431 0cc0 11153 + caddc 11156 − cmin 11490 ℕ0cn0 12524 ..^cfzo 13691 ♯chash 14366 Word cword 14549 ++ cconcat 14605 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1792 ax-4 1806 ax-5 1908 ax-6 1965 ax-7 2005 ax-8 2108 ax-9 2116 ax-10 2139 ax-11 2155 ax-12 2175 ax-ext 2706 ax-rep 5285 ax-sep 5302 ax-nul 5312 ax-pow 5371 ax-pr 5438 ax-un 7754 ax-cnex 11209 ax-resscn 11210 ax-1cn 11211 ax-icn 11212 ax-addcl 11213 ax-addrcl 11214 ax-mulcl 11215 ax-mulrcl 11216 ax-mulcom 11217 ax-addass 11218 ax-mulass 11219 ax-distr 11220 ax-i2m1 11221 ax-1ne0 11222 ax-1rid 11223 ax-rnegex 11224 ax-rrecex 11225 ax-cnre 11226 ax-pre-lttri 11227 ax-pre-lttrn 11228 ax-pre-ltadd 11229 ax-pre-mulgt0 11230 |
This theorem depends on definitions: df-bi 207 df-an 396 df-or 848 df-3or 1087 df-3an 1088 df-tru 1540 df-fal 1550 df-ex 1777 df-nf 1781 df-sb 2063 df-mo 2538 df-eu 2567 df-clab 2713 df-cleq 2727 df-clel 2814 df-nfc 2890 df-ne 2939 df-nel 3045 df-ral 3060 df-rex 3069 df-reu 3379 df-rab 3434 df-v 3480 df-sbc 3792 df-csb 3909 df-dif 3966 df-un 3968 df-in 3970 df-ss 3980 df-pss 3983 df-nul 4340 df-if 4532 df-pw 4607 df-sn 4632 df-pr 4634 df-op 4638 df-uni 4913 df-int 4952 df-iun 4998 df-br 5149 df-opab 5211 df-mpt 5232 df-tr 5266 df-id 5583 df-eprel 5589 df-po 5597 df-so 5598 df-fr 5641 df-we 5643 df-xp 5695 df-rel 5696 df-cnv 5697 df-co 5698 df-dm 5699 df-rn 5700 df-res 5701 df-ima 5702 df-pred 6323 df-ord 6389 df-on 6390 df-lim 6391 df-suc 6392 df-iota 6516 df-fun 6565 df-fn 6566 df-f 6567 df-f1 6568 df-fo 6569 df-f1o 6570 df-fv 6571 df-riota 7388 df-ov 7434 df-oprab 7435 df-mpo 7436 df-om 7888 df-1st 8013 df-2nd 8014 df-frecs 8305 df-wrecs 8336 df-recs 8410 df-rdg 8449 df-1o 8505 df-er 8744 df-en 8985 df-dom 8986 df-sdom 8987 df-fin 8988 df-card 9977 df-pnf 11295 df-mnf 11296 df-xr 11297 df-ltxr 11298 df-le 11299 df-sub 11492 df-neg 11493 df-nn 12265 df-n0 12525 df-z 12612 df-uz 12877 df-fz 13545 df-fzo 13692 df-hash 14367 df-word 14550 df-concat 14606 |
This theorem is referenced by: ccat0 14611 elfzelfzccat 14615 ccatsymb 14617 ccatass 14623 lswccatn0lsw 14626 ccatws1len 14655 ccat2s1len 14658 ccatswrd 14703 swrdccat2 14704 ccatpfx 14736 pfxccat1 14737 lenrevpfxcctswrd 14747 ccatopth 14751 ccatopth2 14752 swrdccatfn 14759 swrdccatin2 14764 pfxccatin12lem2c 14765 spllen 14789 splfv1 14790 splfv2a 14791 splval2 14792 revccat 14801 cshwlen 14834 cats1len 14896 gsumsgrpccat 18866 psgnuni 19532 efginvrel2 19760 efgsval2 19766 efgsp1 19770 efgredleme 19776 efgredlemc 19778 efgcpbllemb 19788 pgpfaclem1 20116 psgnghm 21616 wwlksnext 29923 wwlksnextbi 29924 clwwlkccatlem 30018 clwlkclwwlk2 30032 clwwlkel 30075 clwwlkwwlksb 30083 clwwlknccat 30092 ccatf1 32918 ccatdmss 32919 splfv3 32928 gsumwrd2dccatlem 33052 cycpmco2lem3 33131 cycpmco2lem4 33132 cycpmco2lem5 33133 cycpmco2lem6 33134 cycpmco2 33136 ofcccat 34537 signstfvn 34563 signstfvp 34565 signstfvc 34568 signsvfn 34576 signshf 34582 lpadlen2 34675 elmrsubrn 35505 ccatcan2d 42271 frlmfzoccat 42492 |
Copyright terms: Public domain | W3C validator |