MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  ccatlen Structured version   Visualization version   GIF version

Theorem ccatlen 14278
Description: The length of a concatenated word. (Contributed by Stefan O'Rear, 15-Aug-2015.) (Revised by JJ, 1-Jan-2024.)
Assertion
Ref Expression
ccatlen ((𝑆 ∈ Word 𝐴𝑇 ∈ Word 𝐵) → (♯‘(𝑆 ++ 𝑇)) = ((♯‘𝑆) + (♯‘𝑇)))

Proof of Theorem ccatlen
Dummy variable 𝑥 is distinct from all other variables.
StepHypRef Expression
1 ccatfval 14276 . . 3 ((𝑆 ∈ Word 𝐴𝑇 ∈ Word 𝐵) → (𝑆 ++ 𝑇) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))))
21fveq2d 6778 . 2 ((𝑆 ∈ Word 𝐴𝑇 ∈ Word 𝐵) → (♯‘(𝑆 ++ 𝑇)) = (♯‘(𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))))
3 fvex 6787 . . . . 5 (𝑆𝑥) ∈ V
4 fvex 6787 . . . . 5 (𝑇‘(𝑥 − (♯‘𝑆))) ∈ V
53, 4ifex 4509 . . . 4 if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))) ∈ V
6 eqid 2738 . . . 4 (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))
75, 6fnmpti 6576 . . 3 (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) Fn (0..^((♯‘𝑆) + (♯‘𝑇)))
8 hashfn 14090 . . 3 ((𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) Fn (0..^((♯‘𝑆) + (♯‘𝑇))) → (♯‘(𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) = (♯‘(0..^((♯‘𝑆) + (♯‘𝑇)))))
97, 8mp1i 13 . 2 ((𝑆 ∈ Word 𝐴𝑇 ∈ Word 𝐵) → (♯‘(𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) = (♯‘(0..^((♯‘𝑆) + (♯‘𝑇)))))
10 lencl 14236 . . . 4 (𝑆 ∈ Word 𝐴 → (♯‘𝑆) ∈ ℕ0)
11 lencl 14236 . . . 4 (𝑇 ∈ Word 𝐵 → (♯‘𝑇) ∈ ℕ0)
12 nn0addcl 12268 . . . 4 (((♯‘𝑆) ∈ ℕ0 ∧ (♯‘𝑇) ∈ ℕ0) → ((♯‘𝑆) + (♯‘𝑇)) ∈ ℕ0)
1310, 11, 12syl2an 596 . . 3 ((𝑆 ∈ Word 𝐴𝑇 ∈ Word 𝐵) → ((♯‘𝑆) + (♯‘𝑇)) ∈ ℕ0)
14 hashfzo0 14145 . . 3 (((♯‘𝑆) + (♯‘𝑇)) ∈ ℕ0 → (♯‘(0..^((♯‘𝑆) + (♯‘𝑇)))) = ((♯‘𝑆) + (♯‘𝑇)))
1513, 14syl 17 . 2 ((𝑆 ∈ Word 𝐴𝑇 ∈ Word 𝐵) → (♯‘(0..^((♯‘𝑆) + (♯‘𝑇)))) = ((♯‘𝑆) + (♯‘𝑇)))
162, 9, 153eqtrd 2782 1 ((𝑆 ∈ Word 𝐴𝑇 ∈ Word 𝐵) → (♯‘(𝑆 ++ 𝑇)) = ((♯‘𝑆) + (♯‘𝑇)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 396   = wceq 1539  wcel 2106  ifcif 4459  cmpt 5157   Fn wfn 6428  cfv 6433  (class class class)co 7275  0cc0 10871   + caddc 10874  cmin 11205  0cn0 12233  ..^cfzo 13382  chash 14044  Word cword 14217   ++ cconcat 14273
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1798  ax-4 1812  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 2709  ax-rep 5209  ax-sep 5223  ax-nul 5230  ax-pow 5288  ax-pr 5352  ax-un 7588  ax-cnex 10927  ax-resscn 10928  ax-1cn 10929  ax-icn 10930  ax-addcl 10931  ax-addrcl 10932  ax-mulcl 10933  ax-mulrcl 10934  ax-mulcom 10935  ax-addass 10936  ax-mulass 10937  ax-distr 10938  ax-i2m1 10939  ax-1ne0 10940  ax-1rid 10941  ax-rnegex 10942  ax-rrecex 10943  ax-cnre 10944  ax-pre-lttri 10945  ax-pre-lttrn 10946  ax-pre-ltadd 10947  ax-pre-mulgt0 10948
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 845  df-3or 1087  df-3an 1088  df-tru 1542  df-fal 1552  df-ex 1783  df-nf 1787  df-sb 2068  df-mo 2540  df-eu 2569  df-clab 2716  df-cleq 2730  df-clel 2816  df-nfc 2889  df-ne 2944  df-nel 3050  df-ral 3069  df-rex 3070  df-reu 3072  df-rab 3073  df-v 3434  df-sbc 3717  df-csb 3833  df-dif 3890  df-un 3892  df-in 3894  df-ss 3904  df-pss 3906  df-nul 4257  df-if 4460  df-pw 4535  df-sn 4562  df-pr 4564  df-op 4568  df-uni 4840  df-int 4880  df-iun 4926  df-br 5075  df-opab 5137  df-mpt 5158  df-tr 5192  df-id 5489  df-eprel 5495  df-po 5503  df-so 5504  df-fr 5544  df-we 5546  df-xp 5595  df-rel 5596  df-cnv 5597  df-co 5598  df-dm 5599  df-rn 5600  df-res 5601  df-ima 5602  df-pred 6202  df-ord 6269  df-on 6270  df-lim 6271  df-suc 6272  df-iota 6391  df-fun 6435  df-fn 6436  df-f 6437  df-f1 6438  df-fo 6439  df-f1o 6440  df-fv 6441  df-riota 7232  df-ov 7278  df-oprab 7279  df-mpo 7280  df-om 7713  df-1st 7831  df-2nd 7832  df-frecs 8097  df-wrecs 8128  df-recs 8202  df-rdg 8241  df-1o 8297  df-er 8498  df-en 8734  df-dom 8735  df-sdom 8736  df-fin 8737  df-card 9697  df-pnf 11011  df-mnf 11012  df-xr 11013  df-ltxr 11014  df-le 11015  df-sub 11207  df-neg 11208  df-nn 11974  df-n0 12234  df-z 12320  df-uz 12583  df-fz 13240  df-fzo 13383  df-hash 14045  df-word 14218  df-concat 14274
This theorem is referenced by:  ccat0  14280  elfzelfzccat  14285  ccatsymb  14287  ccatass  14293  lswccatn0lsw  14296  ccatws1len  14325  ccat2s1len  14328  ccatswrd  14381  swrdccat2  14382  ccatpfx  14414  pfxccat1  14415  lenrevpfxcctswrd  14425  ccatopth  14429  ccatopth2  14430  swrdccatfn  14437  swrdccatin2  14442  pfxccatin12lem2c  14443  spllen  14467  splfv1  14468  splfv2a  14469  splval2  14470  revccat  14479  cshwlen  14512  cats1len  14573  gsumsgrpccat  18478  gsumccatOLD  18479  psgnuni  19107  efginvrel2  19333  efgsval2  19339  efgsp1  19343  efgredleme  19349  efgredlemc  19351  efgcpbllemb  19361  pgpfaclem1  19684  psgnghm  20785  wwlksnext  28258  wwlksnextbi  28259  clwwlkccatlem  28353  clwlkclwwlk2  28367  clwwlkel  28410  clwwlkwwlksb  28418  clwwlknccat  28427  ccatf1  31223  splfv3  31230  cycpmco2lem3  31395  cycpmco2lem4  31396  cycpmco2lem5  31397  cycpmco2lem6  31398  cycpmco2  31400  ofcccat  32522  signstfvn  32548  signstfvp  32550  signstfvc  32553  signsvfn  32561  signshf  32567  lpadlen2  32661  elmrsubrn  33482  ccatcan2d  40219  frlmfzoccat  40236
  Copyright terms: Public domain W3C validator