| 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 14579 | . . 3 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → (𝑆 ++ 𝑇) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) | |
| 2 | 1 | fveq2d 6865 | . 2 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → (♯‘(𝑆 ++ 𝑇)) = (♯‘(𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))))) |
| 3 | fvex 6874 | . . . . 5 ⊢ (𝑆‘𝑥) ∈ V | |
| 4 | fvex 6874 | . . . . 5 ⊢ (𝑇‘(𝑥 − (♯‘𝑆))) ∈ V | |
| 5 | 3, 4 | ifex 4528 | . . . 4 ⊢ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))) ∈ V |
| 6 | eqid 2761 | . . . 4 ⊢ (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) | |
| 7 | 5, 6 | fnmpti 6658 | . . 3 ⊢ (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) Fn (0..^((♯‘𝑆) + (♯‘𝑇))) |
| 8 | hashfn 14381 | . . 3 ⊢ ((𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) Fn (0..^((♯‘𝑆) + (♯‘𝑇))) → (♯‘(𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) = (♯‘(0..^((♯‘𝑆) + (♯‘𝑇))))) | |
| 9 | 7, 8 | mp1i 13 | . 2 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → (♯‘(𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) = (♯‘(0..^((♯‘𝑆) + (♯‘𝑇))))) |
| 10 | lencl 14539 | . . . 4 ⊢ (𝑆 ∈ Word 𝐴 → (♯‘𝑆) ∈ ℕ0) | |
| 11 | lencl 14539 | . . . 4 ⊢ (𝑇 ∈ Word 𝐵 → (♯‘𝑇) ∈ ℕ0) | |
| 12 | nn0addcl 12509 | . . . 4 ⊢ (((♯‘𝑆) ∈ ℕ0 ∧ (♯‘𝑇) ∈ ℕ0) → ((♯‘𝑆) + (♯‘𝑇)) ∈ ℕ0) | |
| 13 | 10, 11, 12 | syl2an 605 | . . 3 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → ((♯‘𝑆) + (♯‘𝑇)) ∈ ℕ0) |
| 14 | hashfzo0 14436 | . . 3 ⊢ (((♯‘𝑆) + (♯‘𝑇)) ∈ ℕ0 → (♯‘(0..^((♯‘𝑆) + (♯‘𝑇)))) = ((♯‘𝑆) + (♯‘𝑇))) | |
| 15 | 13, 14 | syl 17 | . 2 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → (♯‘(0..^((♯‘𝑆) + (♯‘𝑇)))) = ((♯‘𝑆) + (♯‘𝑇))) |
| 16 | 2, 9, 15 | 3eqtrd 2800 | 1 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → (♯‘(𝑆 ++ 𝑇)) = ((♯‘𝑆) + (♯‘𝑇))) |
| Colors of variables: wff setvar class |
| Syntax hints: → wi 4 ∧ wa 399 = wceq 1559 ∈ wcel 2141 ifcif 4477 ↦ cmpt 5178 Fn wfn 6510 ‘cfv 6515 (class class class)co 7390 0cc0 11066 + caddc 11069 − cmin 11407 ℕ0cn0 12474 ..^cfzo 13652 ♯chash 14336 Word cword 14519 ++ cconcat 14576 |
| This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1814 ax-4 1828 ax-5 1929 ax-6 1986 ax-7 2027 ax-8 2143 ax-9 2151 ax-10 2174 ax-11 2190 ax-12 2211 ax-ext 2733 ax-rep 5224 ax-sep 5243 ax-nul 5253 ax-pow 5319 ax-pr 5387 ax-un 7712 ax-cnex 11122 ax-resscn 11123 ax-1cn 11124 ax-icn 11125 ax-addcl 11126 ax-addrcl 11127 ax-mulcl 11128 ax-mulrcl 11129 ax-mulcom 11130 ax-addass 11131 ax-mulass 11132 ax-distr 11133 ax-i2m1 11134 ax-1ne0 11135 ax-1rid 11136 ax-rnegex 11137 ax-rrecex 11138 ax-cnre 11139 ax-pre-lttri 11140 ax-pre-lttrn 11141 ax-pre-ltadd 11142 ax-pre-mulgt0 11143 |
| This theorem depends on definitions: df-bi 209 df-an 400 df-or 859 df-3or 1098 df-3an 1099 df-tru 1562 df-fal 1572 df-ex 1799 df-nf 1803 df-sb 2090 df-mo 2565 df-eu 2595 df-clab 2740 df-cleq 2753 df-clel 2836 df-nfc 2910 df-ne 2957 df-nel 3061 df-ral 3076 df-rex 3086 df-reu 3367 df-rab 3414 df-v 3455 df-sbc 3743 df-csb 3851 df-dif 3905 df-un 3907 df-in 3909 df-ss 3919 df-pss 3922 df-nul 4284 df-if 4478 df-pw 4554 df-sn 4580 df-pr 4582 df-op 4586 df-uni 4863 df-int 4903 df-iun 4948 df-br 5098 df-opab 5160 df-mpt 5179 df-tr 5205 df-id 5538 df-eprel 5543 df-po 5551 df-so 5552 df-fr 5596 df-we 5598 df-xp 5649 df-rel 5650 df-cnv 5651 df-co 5652 df-dm 5653 df-rn 5654 df-res 5655 df-ima 5656 df-pred 6282 df-ord 6343 df-on 6344 df-lim 6345 df-suc 6346 df-iota 6471 df-fun 6517 df-fn 6518 df-f 6519 df-f1 6520 df-fo 6521 df-f1o 6522 df-fv 6523 df-riota 7347 df-ov 7393 df-oprab 7394 df-mpo 7395 df-om 7841 df-1st 7964 df-2nd 7965 df-frecs 8255 df-wrecs 8286 df-recs 8335 df-rdg 8374 df-1o 8430 df-er 8671 df-en 8921 df-dom 8922 df-sdom 8923 df-fin 8924 df-card 9890 df-pnf 11211 df-mnf 11212 df-xr 11213 df-ltxr 11214 df-le 11215 df-sub 11409 df-neg 11410 df-nn 12204 df-n0 12475 df-z 12562 df-uz 12833 df-fz 13506 df-fzo 13653 df-hash 14337 df-word 14520 df-concat 14577 |
| This theorem is referenced by: ccat0 14582 elfzelfzccat 14586 ccatdmss 14588 ccatsymb 14589 ccatass 14595 lswccatn0lsw 14598 ccatws1len 14627 ccat2s1len 14630 ccatswrd 14675 swrdccat2 14676 ccatpfx 14707 pfxccat1 14708 lenrevpfxcctswrd 14718 ccatopth 14722 ccatopth2 14723 swrdccatfn 14730 swrdccatin2 14735 pfxccatin12lem2c 14736 spllen 14760 splfv1 14761 splfv2a 14762 splval2 14763 revccat 14772 cshwlen 14805 cats1len 14866 chnccat 18648 gsumsgrpccat 18864 psgnuni 19529 efginvrel2 19757 efgsval2 19763 efgsp1 19767 efgredleme 19773 efgredlemc 19775 efgcpbllemb 19785 pgpfaclem1 20113 psgnghm 21619 wwlksnext 30049 wwlksnextbi 30050 clwwlkccatlem 30147 clwlkclwwlk2 30161 clwwlkel 30204 clwwlkwwlksb 30212 clwwlknccat 30221 ccatf1 33087 splfv3 33096 gsumwrd2dccatlem 33217 cycpmco2lem3 33268 cycpmco2lem4 33269 cycpmco2lem5 33270 cycpmco2lem6 33271 cycpmco2 33273 ofcccat 34800 signstfvn 34823 signstfvp 34825 signstfvc 34828 signsvfn 34836 signshf 34842 lpadlen2 34938 elmrsubrn 35830 ccatcan2d 42827 frlmfzoccat 43087 |
| Copyright terms: Public domain | W3C validator |