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 13972 | . . 3 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → (𝑆 ++ 𝑇) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) | |
2 | 1 | fveq2d 6662 | . 2 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → (♯‘(𝑆 ++ 𝑇)) = (♯‘(𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))))) |
3 | fvex 6671 | . . . . 5 ⊢ (𝑆‘𝑥) ∈ V | |
4 | fvex 6671 | . . . . 5 ⊢ (𝑇‘(𝑥 − (♯‘𝑆))) ∈ V | |
5 | 3, 4 | ifex 4470 | . . . 4 ⊢ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))) ∈ V |
6 | eqid 2758 | . . . 4 ⊢ (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) | |
7 | 5, 6 | fnmpti 6474 | . . 3 ⊢ (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) Fn (0..^((♯‘𝑆) + (♯‘𝑇))) |
8 | hashfn 13786 | . . 3 ⊢ ((𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) Fn (0..^((♯‘𝑆) + (♯‘𝑇))) → (♯‘(𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) = (♯‘(0..^((♯‘𝑆) + (♯‘𝑇))))) | |
9 | 7, 8 | mp1i 13 | . 2 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → (♯‘(𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) = (♯‘(0..^((♯‘𝑆) + (♯‘𝑇))))) |
10 | lencl 13932 | . . . 4 ⊢ (𝑆 ∈ Word 𝐴 → (♯‘𝑆) ∈ ℕ0) | |
11 | lencl 13932 | . . . 4 ⊢ (𝑇 ∈ Word 𝐵 → (♯‘𝑇) ∈ ℕ0) | |
12 | nn0addcl 11969 | . . . 4 ⊢ (((♯‘𝑆) ∈ ℕ0 ∧ (♯‘𝑇) ∈ ℕ0) → ((♯‘𝑆) + (♯‘𝑇)) ∈ ℕ0) | |
13 | 10, 11, 12 | syl2an 598 | . . 3 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → ((♯‘𝑆) + (♯‘𝑇)) ∈ ℕ0) |
14 | hashfzo0 13841 | . . 3 ⊢ (((♯‘𝑆) + (♯‘𝑇)) ∈ ℕ0 → (♯‘(0..^((♯‘𝑆) + (♯‘𝑇)))) = ((♯‘𝑆) + (♯‘𝑇))) | |
15 | 13, 14 | syl 17 | . 2 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → (♯‘(0..^((♯‘𝑆) + (♯‘𝑇)))) = ((♯‘𝑆) + (♯‘𝑇))) |
16 | 2, 9, 15 | 3eqtrd 2797 | 1 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → (♯‘(𝑆 ++ 𝑇)) = ((♯‘𝑆) + (♯‘𝑇))) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 ∧ wa 399 = wceq 1538 ∈ wcel 2111 ifcif 4420 ↦ cmpt 5112 Fn wfn 6330 ‘cfv 6335 (class class class)co 7150 0cc0 10575 + caddc 10578 − cmin 10908 ℕ0cn0 11934 ..^cfzo 13082 ♯chash 13740 Word cword 13913 ++ cconcat 13969 |
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 1911 ax-6 1970 ax-7 2015 ax-8 2113 ax-9 2121 ax-10 2142 ax-11 2158 ax-12 2175 ax-ext 2729 ax-rep 5156 ax-sep 5169 ax-nul 5176 ax-pow 5234 ax-pr 5298 ax-un 7459 ax-cnex 10631 ax-resscn 10632 ax-1cn 10633 ax-icn 10634 ax-addcl 10635 ax-addrcl 10636 ax-mulcl 10637 ax-mulrcl 10638 ax-mulcom 10639 ax-addass 10640 ax-mulass 10641 ax-distr 10642 ax-i2m1 10643 ax-1ne0 10644 ax-1rid 10645 ax-rnegex 10646 ax-rrecex 10647 ax-cnre 10648 ax-pre-lttri 10649 ax-pre-lttrn 10650 ax-pre-ltadd 10651 ax-pre-mulgt0 10652 |
This theorem depends on definitions: df-bi 210 df-an 400 df-or 845 df-3or 1085 df-3an 1086 df-tru 1541 df-fal 1551 df-ex 1782 df-nf 1786 df-sb 2070 df-mo 2557 df-eu 2588 df-clab 2736 df-cleq 2750 df-clel 2830 df-nfc 2901 df-ne 2952 df-nel 3056 df-ral 3075 df-rex 3076 df-reu 3077 df-rab 3079 df-v 3411 df-sbc 3697 df-csb 3806 df-dif 3861 df-un 3863 df-in 3865 df-ss 3875 df-pss 3877 df-nul 4226 df-if 4421 df-pw 4496 df-sn 4523 df-pr 4525 df-tp 4527 df-op 4529 df-uni 4799 df-int 4839 df-iun 4885 df-br 5033 df-opab 5095 df-mpt 5113 df-tr 5139 df-id 5430 df-eprel 5435 df-po 5443 df-so 5444 df-fr 5483 df-we 5485 df-xp 5530 df-rel 5531 df-cnv 5532 df-co 5533 df-dm 5534 df-rn 5535 df-res 5536 df-ima 5537 df-pred 6126 df-ord 6172 df-on 6173 df-lim 6174 df-suc 6175 df-iota 6294 df-fun 6337 df-fn 6338 df-f 6339 df-f1 6340 df-fo 6341 df-f1o 6342 df-fv 6343 df-riota 7108 df-ov 7153 df-oprab 7154 df-mpo 7155 df-om 7580 df-1st 7693 df-2nd 7694 df-wrecs 7957 df-recs 8018 df-rdg 8056 df-1o 8112 df-er 8299 df-en 8528 df-dom 8529 df-sdom 8530 df-fin 8531 df-card 9401 df-pnf 10715 df-mnf 10716 df-xr 10717 df-ltxr 10718 df-le 10719 df-sub 10910 df-neg 10911 df-nn 11675 df-n0 11935 df-z 12021 df-uz 12283 df-fz 12940 df-fzo 13083 df-hash 13741 df-word 13914 df-concat 13970 |
This theorem is referenced by: ccat0 13976 elfzelfzccat 13981 ccatsymb 13983 ccatass 13989 lswccatn0lsw 13992 ccatws1len 14021 ccat2s1len 14024 ccatswrd 14077 swrdccat2 14078 ccatpfx 14110 pfxccat1 14111 lenrevpfxcctswrd 14121 ccatopth 14125 ccatopth2 14126 swrdccatfn 14133 swrdccatin2 14138 pfxccatin12lem2c 14139 spllen 14163 splfv1 14164 splfv2a 14165 splval2 14166 revccat 14175 cshwlen 14208 cats1len 14269 gsumsgrpccat 18070 gsumccatOLD 18071 psgnuni 18694 efginvrel2 18920 efgsval2 18926 efgsp1 18930 efgredleme 18936 efgredlemc 18938 efgcpbllemb 18948 pgpfaclem1 19271 psgnghm 20345 wwlksnext 27778 wwlksnextbi 27779 clwwlkccatlem 27873 clwlkclwwlk2 27887 clwwlkel 27930 clwwlkwwlksb 27938 clwwlknccat 27947 ccatf1 30747 splfv3 30754 cycpmco2lem3 30921 cycpmco2lem4 30922 cycpmco2lem5 30923 cycpmco2lem6 30924 cycpmco2 30926 ofcccat 32041 signstfvn 32067 signstfvp 32069 signstfvc 32072 signsvfn 32080 signshf 32086 lpadlen2 32180 elmrsubrn 32998 ccatcan2d 39725 frlmfzoccat 39743 |
Copyright terms: Public domain | W3C validator |