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

Theorem ccatlen 13974
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 13972 . . 3 ((𝑆 ∈ Word 𝐴𝑇 ∈ Word 𝐵) → (𝑆 ++ 𝑇) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))))
21fveq2d 6662 . 2 ((𝑆 ∈ Word 𝐴𝑇 ∈ Word 𝐵) → (♯‘(𝑆 ++ 𝑇)) = (♯‘(𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))))
3 fvex 6671 . . . . 5 (𝑆𝑥) ∈ V
4 fvex 6671 . . . . 5 (𝑇‘(𝑥 − (♯‘𝑆))) ∈ V
53, 4ifex 4470 . . . 4 if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))) ∈ V
6 eqid 2758 . . . 4 (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))
75, 6fnmpti 6474 . . 3 (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) Fn (0..^((♯‘𝑆) + (♯‘𝑇)))
8 hashfn 13786 . . 3 ((𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) Fn (0..^((♯‘𝑆) + (♯‘𝑇))) → (♯‘(𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) = (♯‘(0..^((♯‘𝑆) + (♯‘𝑇)))))
97, 8mp1i 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)
1310, 11, 12syl2an 598 . . 3 ((𝑆 ∈ Word 𝐴𝑇 ∈ Word 𝐵) → ((♯‘𝑆) + (♯‘𝑇)) ∈ ℕ0)
14 hashfzo0 13841 . . 3 (((♯‘𝑆) + (♯‘𝑇)) ∈ ℕ0 → (♯‘(0..^((♯‘𝑆) + (♯‘𝑇)))) = ((♯‘𝑆) + (♯‘𝑇)))
1513, 14syl 17 . 2 ((𝑆 ∈ Word 𝐴𝑇 ∈ Word 𝐵) → (♯‘(0..^((♯‘𝑆) + (♯‘𝑇)))) = ((♯‘𝑆) + (♯‘𝑇)))
162, 9, 153eqtrd 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