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

Theorem ccatlen 13299
Description: The length of a concatenated word. (Contributed by Stefan O'Rear, 15-Aug-2015.)
Assertion
Ref Expression
ccatlen ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (#‘(𝑆 ++ 𝑇)) = ((#‘𝑆) + (#‘𝑇)))

Proof of Theorem ccatlen
Dummy variable 𝑥 is distinct from all other variables.
StepHypRef Expression
1 ccatfval 13297 . . 3 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (𝑆 ++ 𝑇) = (𝑥 ∈ (0..^((#‘𝑆) + (#‘𝑇))) ↦ if(𝑥 ∈ (0..^(#‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (#‘𝑆))))))
21fveq2d 6152 . 2 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (#‘(𝑆 ++ 𝑇)) = (#‘(𝑥 ∈ (0..^((#‘𝑆) + (#‘𝑇))) ↦ if(𝑥 ∈ (0..^(#‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (#‘𝑆)))))))
3 fvex 6158 . . . . 5 (𝑆𝑥) ∈ V
4 fvex 6158 . . . . 5 (𝑇‘(𝑥 − (#‘𝑆))) ∈ V
53, 4ifex 4128 . . . 4 if(𝑥 ∈ (0..^(#‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (#‘𝑆)))) ∈ V
6 eqid 2621 . . . 4 (𝑥 ∈ (0..^((#‘𝑆) + (#‘𝑇))) ↦ if(𝑥 ∈ (0..^(#‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (#‘𝑆))))) = (𝑥 ∈ (0..^((#‘𝑆) + (#‘𝑇))) ↦ if(𝑥 ∈ (0..^(#‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (#‘𝑆)))))
75, 6fnmpti 5979 . . 3 (𝑥 ∈ (0..^((#‘𝑆) + (#‘𝑇))) ↦ if(𝑥 ∈ (0..^(#‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (#‘𝑆))))) Fn (0..^((#‘𝑆) + (#‘𝑇)))
8 hashfn 13104 . . 3 ((𝑥 ∈ (0..^((#‘𝑆) + (#‘𝑇))) ↦ if(𝑥 ∈ (0..^(#‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (#‘𝑆))))) Fn (0..^((#‘𝑆) + (#‘𝑇))) → (#‘(𝑥 ∈ (0..^((#‘𝑆) + (#‘𝑇))) ↦ if(𝑥 ∈ (0..^(#‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (#‘𝑆)))))) = (#‘(0..^((#‘𝑆) + (#‘𝑇)))))
97, 8mp1i 13 . 2 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (#‘(𝑥 ∈ (0..^((#‘𝑆) + (#‘𝑇))) ↦ if(𝑥 ∈ (0..^(#‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (#‘𝑆)))))) = (#‘(0..^((#‘𝑆) + (#‘𝑇)))))
10 lencl 13263 . . . 4 (𝑆 ∈ Word 𝐵 → (#‘𝑆) ∈ ℕ0)
11 lencl 13263 . . . 4 (𝑇 ∈ Word 𝐵 → (#‘𝑇) ∈ ℕ0)
12 nn0addcl 11272 . . . 4 (((#‘𝑆) ∈ ℕ0 ∧ (#‘𝑇) ∈ ℕ0) → ((#‘𝑆) + (#‘𝑇)) ∈ ℕ0)
1310, 11, 12syl2an 494 . . 3 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → ((#‘𝑆) + (#‘𝑇)) ∈ ℕ0)
14 hashfzo0 13157 . . 3 (((#‘𝑆) + (#‘𝑇)) ∈ ℕ0 → (#‘(0..^((#‘𝑆) + (#‘𝑇)))) = ((#‘𝑆) + (#‘𝑇)))
1513, 14syl 17 . 2 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (#‘(0..^((#‘𝑆) + (#‘𝑇)))) = ((#‘𝑆) + (#‘𝑇)))
162, 9, 153eqtrd 2659 1 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (#‘(𝑆 ++ 𝑇)) = ((#‘𝑆) + (#‘𝑇)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 384   = wceq 1480  wcel 1987  ifcif 4058  cmpt 4673   Fn wfn 5842  cfv 5847  (class class class)co 6604  0cc0 9880   + caddc 9883  cmin 10210  0cn0 11236  ..^cfzo 12406  #chash 13057  Word cword 13230   ++ cconcat 13232
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1719  ax-4 1734  ax-5 1836  ax-6 1885  ax-7 1932  ax-8 1989  ax-9 1996  ax-10 2016  ax-11 2031  ax-12 2044  ax-13 2245  ax-ext 2601  ax-rep 4731  ax-sep 4741  ax-nul 4749  ax-pow 4803  ax-pr 4867  ax-un 6902  ax-cnex 9936  ax-resscn 9937  ax-1cn 9938  ax-icn 9939  ax-addcl 9940  ax-addrcl 9941  ax-mulcl 9942  ax-mulrcl 9943  ax-mulcom 9944  ax-addass 9945  ax-mulass 9946  ax-distr 9947  ax-i2m1 9948  ax-1ne0 9949  ax-1rid 9950  ax-rnegex 9951  ax-rrecex 9952  ax-cnre 9953  ax-pre-lttri 9954  ax-pre-lttrn 9955  ax-pre-ltadd 9956  ax-pre-mulgt0 9957
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3or 1037  df-3an 1038  df-tru 1483  df-ex 1702  df-nf 1707  df-sb 1878  df-eu 2473  df-mo 2474  df-clab 2608  df-cleq 2614  df-clel 2617  df-nfc 2750  df-ne 2791  df-nel 2894  df-ral 2912  df-rex 2913  df-reu 2914  df-rab 2916  df-v 3188  df-sbc 3418  df-csb 3515  df-dif 3558  df-un 3560  df-in 3562  df-ss 3569  df-pss 3571  df-nul 3892  df-if 4059  df-pw 4132  df-sn 4149  df-pr 4151  df-tp 4153  df-op 4155  df-uni 4403  df-int 4441  df-iun 4487  df-br 4614  df-opab 4674  df-mpt 4675  df-tr 4713  df-eprel 4985  df-id 4989  df-po 4995  df-so 4996  df-fr 5033  df-we 5035  df-xp 5080  df-rel 5081  df-cnv 5082  df-co 5083  df-dm 5084  df-rn 5085  df-res 5086  df-ima 5087  df-pred 5639  df-ord 5685  df-on 5686  df-lim 5687  df-suc 5688  df-iota 5810  df-fun 5849  df-fn 5850  df-f 5851  df-f1 5852  df-fo 5853  df-f1o 5854  df-fv 5855  df-riota 6565  df-ov 6607  df-oprab 6608  df-mpt2 6609  df-om 7013  df-1st 7113  df-2nd 7114  df-wrecs 7352  df-recs 7413  df-rdg 7451  df-1o 7505  df-oadd 7509  df-er 7687  df-en 7900  df-dom 7901  df-sdom 7902  df-fin 7903  df-card 8709  df-pnf 10020  df-mnf 10021  df-xr 10022  df-ltxr 10023  df-le 10024  df-sub 10212  df-neg 10213  df-nn 10965  df-n0 11237  df-z 11322  df-uz 11632  df-fz 12269  df-fzo 12407  df-hash 13058  df-word 13238  df-concat 13240
This theorem is referenced by:  elfzelfzccat  13303  ccatsymb  13305  ccatass  13310  lswccatn0lsw  13312  ccatws1len  13337  ccat2s1len  13339  ccatswrd  13394  swrdccat1  13395  swrdccat2  13396  lenrevcctswrd  13405  ccatopth  13408  ccatopth2  13409  swrdccatfn  13419  swrdccatin2  13424  swrdccatin12lem2c  13425  swrdccatin12  13428  spllen  13442  splfv1  13443  splfv2a  13444  splval2  13445  revccat  13452  cshwlen  13482  cats1len  13542  gsumccat  17299  psgnuni  17840  efginvrel2  18061  efgsval2  18067  efgsp1  18071  efgredleme  18077  efgredlemc  18079  efgcpbllemb  18089  pgpfaclem1  18401  psgnghm  19845  wlklenvclwlk  26420  wwlksnext  26657  wwlksnextbi  26658  clwlkclwwlk2  26771  clwwlksel  26780  numclwlk1lem2fo  27083  ofcccat  30400  signstfvn  30426  signstfvp  30428  signstfvc  30431  signsvfn  30439  signshf  30445  elmrsubrn  31125  ccatpfx  40708  pfxccat1  40709  lenrevpfxcctswrd  40718  pfxccatin12  40724
  Copyright terms: Public domain W3C validator