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

Theorem ccatlen 13592
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 13590 . . 3 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (𝑆 ++ 𝑇) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))))
21fveq2d 6414 . 2 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (♯‘(𝑆 ++ 𝑇)) = (♯‘(𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))))
3 fvex 6423 . . . . 5 (𝑆𝑥) ∈ V
4 fvex 6423 . . . . 5 (𝑇‘(𝑥 − (♯‘𝑆))) ∈ V
53, 4ifex 4324 . . . 4 if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))) ∈ V
6 eqid 2798 . . . 4 (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))
75, 6fnmpti 6232 . . 3 (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) Fn (0..^((♯‘𝑆) + (♯‘𝑇)))
8 hashfn 13411 . . 3 ((𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) Fn (0..^((♯‘𝑆) + (♯‘𝑇))) → (♯‘(𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) = (♯‘(0..^((♯‘𝑆) + (♯‘𝑇)))))
97, 8mp1i 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)
1310, 11, 12syl2an 590 . . 3 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → ((♯‘𝑆) + (♯‘𝑇)) ∈ ℕ0)
14 hashfzo0 13463 . . 3 (((♯‘𝑆) + (♯‘𝑇)) ∈ ℕ0 → (♯‘(0..^((♯‘𝑆) + (♯‘𝑇)))) = ((♯‘𝑆) + (♯‘𝑇)))
1513, 14syl 17 . 2 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (♯‘(0..^((♯‘𝑆) + (♯‘𝑇)))) = ((♯‘𝑆) + (♯‘𝑇)))
162, 9, 153eqtrd 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