![]() |
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.) |
Ref | Expression |
---|---|
ccatlen | ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → (♯‘(𝑆 ++ 𝑇)) = ((♯‘𝑆) + (♯‘𝑇))) |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | ccatfval 13590 | . . 3 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → (𝑆 ++ 𝑇) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) | |
2 | 1 | fveq2d 6414 | . 2 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → (♯‘(𝑆 ++ 𝑇)) = (♯‘(𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))))) |
3 | fvex 6423 | . . . . 5 ⊢ (𝑆‘𝑥) ∈ V | |
4 | fvex 6423 | . . . . 5 ⊢ (𝑇‘(𝑥 − (♯‘𝑆))) ∈ V | |
5 | 3, 4 | ifex 4324 | . . . 4 ⊢ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))) ∈ V |
6 | eqid 2798 | . . . 4 ⊢ (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) | |
7 | 5, 6 | fnmpti 6232 | . . 3 ⊢ (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) Fn (0..^((♯‘𝑆) + (♯‘𝑇))) |
8 | hashfn 13411 | . . 3 ⊢ ((𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) Fn (0..^((♯‘𝑆) + (♯‘𝑇))) → (♯‘(𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) = (♯‘(0..^((♯‘𝑆) + (♯‘𝑇))))) | |
9 | 7, 8 | mp1i 13 | . 2 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → (♯‘(𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) = (♯‘(0..^((♯‘𝑆) + (♯‘𝑇))))) |
10 | lencl 13550 | . . . 4 ⊢ (𝑆 ∈ Word 𝐵 → (♯‘𝑆) ∈ ℕ0) | |
11 | lencl 13550 | . . . 4 ⊢ (𝑇 ∈ Word 𝐵 → (♯‘𝑇) ∈ ℕ0) | |
12 | nn0addcl 11614 | . . . 4 ⊢ (((♯‘𝑆) ∈ ℕ0 ∧ (♯‘𝑇) ∈ ℕ0) → ((♯‘𝑆) + (♯‘𝑇)) ∈ ℕ0) | |
13 | 10, 11, 12 | syl2an 590 | . . 3 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → ((♯‘𝑆) + (♯‘𝑇)) ∈ ℕ0) |
14 | hashfzo0 13463 | . . 3 ⊢ (((♯‘𝑆) + (♯‘𝑇)) ∈ ℕ0 → (♯‘(0..^((♯‘𝑆) + (♯‘𝑇)))) = ((♯‘𝑆) + (♯‘𝑇))) | |
15 | 13, 14 | syl 17 | . 2 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → (♯‘(0..^((♯‘𝑆) + (♯‘𝑇)))) = ((♯‘𝑆) + (♯‘𝑇))) |
16 | 2, 9, 15 | 3eqtrd 2836 | 1 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → (♯‘(𝑆 ++ 𝑇)) = ((♯‘𝑆) + (♯‘𝑇))) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 ∧ wa 385 = wceq 1653 ∈ wcel 2157 ifcif 4276 ↦ cmpt 4921 Fn wfn 6095 ‘cfv 6100 (class class class)co 6877 0cc0 10223 + caddc 10226 − cmin 10555 ℕ0cn0 11577 ..^cfzo 12717 ♯chash 13367 Word cword 13531 ++ cconcat 13587 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1891 ax-4 1905 ax-5 2006 ax-6 2072 ax-7 2107 ax-8 2159 ax-9 2166 ax-10 2185 ax-11 2200 ax-12 2213 ax-13 2377 ax-ext 2776 ax-rep 4963 ax-sep 4974 ax-nul 4982 ax-pow 5034 ax-pr 5096 ax-un 7182 ax-cnex 10279 ax-resscn 10280 ax-1cn 10281 ax-icn 10282 ax-addcl 10283 ax-addrcl 10284 ax-mulcl 10285 ax-mulrcl 10286 ax-mulcom 10287 ax-addass 10288 ax-mulass 10289 ax-distr 10290 ax-i2m1 10291 ax-1ne0 10292 ax-1rid 10293 ax-rnegex 10294 ax-rrecex 10295 ax-cnre 10296 ax-pre-lttri 10297 ax-pre-lttrn 10298 ax-pre-ltadd 10299 ax-pre-mulgt0 10300 |
This theorem depends on definitions: df-bi 199 df-an 386 df-or 875 df-3or 1109 df-3an 1110 df-tru 1657 df-ex 1876 df-nf 1880 df-sb 2065 df-mo 2591 df-eu 2609 df-clab 2785 df-cleq 2791 df-clel 2794 df-nfc 2929 df-ne 2971 df-nel 3074 df-ral 3093 df-rex 3094 df-reu 3095 df-rab 3097 df-v 3386 df-sbc 3633 df-csb 3728 df-dif 3771 df-un 3773 df-in 3775 df-ss 3782 df-pss 3784 df-nul 4115 df-if 4277 df-pw 4350 df-sn 4368 df-pr 4370 df-tp 4372 df-op 4374 df-uni 4628 df-int 4667 df-iun 4711 df-br 4843 df-opab 4905 df-mpt 4922 df-tr 4945 df-id 5219 df-eprel 5224 df-po 5232 df-so 5233 df-fr 5270 df-we 5272 df-xp 5317 df-rel 5318 df-cnv 5319 df-co 5320 df-dm 5321 df-rn 5322 df-res 5323 df-ima 5324 df-pred 5897 df-ord 5943 df-on 5944 df-lim 5945 df-suc 5946 df-iota 6063 df-fun 6102 df-fn 6103 df-f 6104 df-f1 6105 df-fo 6106 df-f1o 6107 df-fv 6108 df-riota 6838 df-ov 6880 df-oprab 6881 df-mpt2 6882 df-om 7299 df-1st 7400 df-2nd 7401 df-wrecs 7644 df-recs 7706 df-rdg 7744 df-1o 7798 df-oadd 7802 df-er 7981 df-en 8195 df-dom 8196 df-sdom 8197 df-fin 8198 df-card 9050 df-pnf 10364 df-mnf 10365 df-xr 10366 df-ltxr 10367 df-le 10368 df-sub 10557 df-neg 10558 df-nn 11312 df-n0 11578 df-z 11664 df-uz 11928 df-fz 12578 df-fzo 12718 df-hash 13368 df-word 13532 df-concat 13588 |
This theorem is referenced by: ccat0 13593 elfzelfzccat 13597 ccatsymb 13599 ccatass 13605 lswccatn0lsw 13608 ccatws1len 13637 ccatws1lenOLD 13638 ccat2s1len 13642 ccatswrd 13707 swrdccat1OLD 13708 swrdccat2 13709 ccatpfx 13741 pfxccat1 13742 lenrevpfxcctswrd 13758 lenrevcctswrdOLD 13759 ccatopth 13765 ccatopthOLD 13766 ccatopth2 13767 swrdccatfn 13781 swrdccatin2 13787 swrdccatin12lem2c 13788 pfxccatin12 13792 swrdccatin12OLD 13793 spllen 13827 spllenOLD 13828 splfv1 13829 splfv1OLD 13830 splfv2a 13831 splfv2aOLD 13832 splval2 13833 splval2OLD 13834 revccat 13843 cshwlen 13881 cats1len 13942 gsumccat 17690 psgnuni 18229 efginvrel2 18450 efgsval2 18456 efgsp1 18460 efgredleme 18467 efgredlemc 18469 efgcpbllemb 18480 pgpfaclem1 18793 psgnghm 20244 wlklenvclwlk 26897 wwlksnext 27155 wwlksnextbi 27156 wwlksnextbiOLD 27157 clwwlkccatlem 27275 clwlkclwwlk2 27290 clwlkclwwlk2OLD 27291 clwwlkel 27348 clwwlkwwlksb 27363 clwwlknccat 27374 ofcccat 31131 signstfvn 31157 signstfvp 31160 signstfvc 31163 signsvfn 31172 signshf 31178 elmrsubrn 31927 |
Copyright terms: Public domain | W3C validator |