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

Theorem ccatcl 13161
Description: The concatenation of two words is a word. (Contributed by FL, 2-Feb-2014.) (Proof shortened by Stefan O'Rear, 15-Aug-2015.) (Proof shortened by AV, 29-Apr-2020.)
Assertion
Ref Expression
ccatcl ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (𝑆 ++ 𝑇) ∈ Word 𝐵)

Proof of Theorem ccatcl
Dummy variable 𝑥 is distinct from all other variables.
StepHypRef Expression
1 ccatfval 13160 . 2 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (𝑆 ++ 𝑇) = (𝑥 ∈ (0..^((#‘𝑆) + (#‘𝑇))) ↦ if(𝑥 ∈ (0..^(#‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (#‘𝑆))))))
2 wrdf 13114 . . . . . . 7 (𝑆 ∈ Word 𝐵𝑆:(0..^(#‘𝑆))⟶𝐵)
32ad2antrr 757 . . . . . 6 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^((#‘𝑆) + (#‘𝑇)))) → 𝑆:(0..^(#‘𝑆))⟶𝐵)
43ffvelrnda 6252 . . . . 5 ((((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^((#‘𝑆) + (#‘𝑇)))) ∧ 𝑥 ∈ (0..^(#‘𝑆))) → (𝑆𝑥) ∈ 𝐵)
5 wrdf 13114 . . . . . . 7 (𝑇 ∈ Word 𝐵𝑇:(0..^(#‘𝑇))⟶𝐵)
65ad3antlr 762 . . . . . 6 ((((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^((#‘𝑆) + (#‘𝑇)))) ∧ ¬ 𝑥 ∈ (0..^(#‘𝑆))) → 𝑇:(0..^(#‘𝑇))⟶𝐵)
7 simpr 475 . . . . . . . 8 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^((#‘𝑆) + (#‘𝑇)))) → 𝑥 ∈ (0..^((#‘𝑆) + (#‘𝑇))))
87anim1i 589 . . . . . . 7 ((((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^((#‘𝑆) + (#‘𝑇)))) ∧ ¬ 𝑥 ∈ (0..^(#‘𝑆))) → (𝑥 ∈ (0..^((#‘𝑆) + (#‘𝑇))) ∧ ¬ 𝑥 ∈ (0..^(#‘𝑆))))
9 lencl 13128 . . . . . . . . . 10 (𝑆 ∈ Word 𝐵 → (#‘𝑆) ∈ ℕ0)
109nn0zd 11315 . . . . . . . . 9 (𝑆 ∈ Word 𝐵 → (#‘𝑆) ∈ ℤ)
11 lencl 13128 . . . . . . . . . 10 (𝑇 ∈ Word 𝐵 → (#‘𝑇) ∈ ℕ0)
1211nn0zd 11315 . . . . . . . . 9 (𝑇 ∈ Word 𝐵 → (#‘𝑇) ∈ ℤ)
1310, 12anim12i 587 . . . . . . . 8 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → ((#‘𝑆) ∈ ℤ ∧ (#‘𝑇) ∈ ℤ))
1413ad2antrr 757 . . . . . . 7 ((((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^((#‘𝑆) + (#‘𝑇)))) ∧ ¬ 𝑥 ∈ (0..^(#‘𝑆))) → ((#‘𝑆) ∈ ℤ ∧ (#‘𝑇) ∈ ℤ))
15 fzocatel 12357 . . . . . . 7 (((𝑥 ∈ (0..^((#‘𝑆) + (#‘𝑇))) ∧ ¬ 𝑥 ∈ (0..^(#‘𝑆))) ∧ ((#‘𝑆) ∈ ℤ ∧ (#‘𝑇) ∈ ℤ)) → (𝑥 − (#‘𝑆)) ∈ (0..^(#‘𝑇)))
168, 14, 15syl2anc 690 . . . . . 6 ((((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^((#‘𝑆) + (#‘𝑇)))) ∧ ¬ 𝑥 ∈ (0..^(#‘𝑆))) → (𝑥 − (#‘𝑆)) ∈ (0..^(#‘𝑇)))
176, 16ffvelrnd 6253 . . . . 5 ((((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^((#‘𝑆) + (#‘𝑇)))) ∧ ¬ 𝑥 ∈ (0..^(#‘𝑆))) → (𝑇‘(𝑥 − (#‘𝑆))) ∈ 𝐵)
184, 17ifclda 4069 . . . 4 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^((#‘𝑆) + (#‘𝑇)))) → if(𝑥 ∈ (0..^(#‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (#‘𝑆)))) ∈ 𝐵)
19 eqid 2609 . . . 4 (𝑥 ∈ (0..^((#‘𝑆) + (#‘𝑇))) ↦ if(𝑥 ∈ (0..^(#‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (#‘𝑆))))) = (𝑥 ∈ (0..^((#‘𝑆) + (#‘𝑇))) ↦ if(𝑥 ∈ (0..^(#‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (#‘𝑆)))))
2018, 19fmptd 6277 . . 3 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (𝑥 ∈ (0..^((#‘𝑆) + (#‘𝑇))) ↦ if(𝑥 ∈ (0..^(#‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (#‘𝑆))))):(0..^((#‘𝑆) + (#‘𝑇)))⟶𝐵)
21 iswrdi 13113 . . 3 ((𝑥 ∈ (0..^((#‘𝑆) + (#‘𝑇))) ↦ if(𝑥 ∈ (0..^(#‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (#‘𝑆))))):(0..^((#‘𝑆) + (#‘𝑇)))⟶𝐵 → (𝑥 ∈ (0..^((#‘𝑆) + (#‘𝑇))) ↦ if(𝑥 ∈ (0..^(#‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (#‘𝑆))))) ∈ Word 𝐵)
2220, 21syl 17 . 2 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (𝑥 ∈ (0..^((#‘𝑆) + (#‘𝑇))) ↦ if(𝑥 ∈ (0..^(#‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (#‘𝑆))))) ∈ Word 𝐵)
231, 22eqeltrd 2687 1 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (𝑆 ++ 𝑇) ∈ Word 𝐵)
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wa 382  wcel 1976  ifcif 4035  cmpt 4637  wf 5786  cfv 5790  (class class class)co 6527  0cc0 9793   + caddc 9796  cmin 10118  cz 11213  ..^cfzo 12292  #chash 12937  Word cword 13095   ++ cconcat 13097
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1712  ax-4 1727  ax-5 1826  ax-6 1874  ax-7 1921  ax-8 1978  ax-9 1985  ax-10 2005  ax-11 2020  ax-12 2033  ax-13 2233  ax-ext 2589  ax-rep 4693  ax-sep 4703  ax-nul 4712  ax-pow 4764  ax-pr 4828  ax-un 6825  ax-cnex 9849  ax-resscn 9850  ax-1cn 9851  ax-icn 9852  ax-addcl 9853  ax-addrcl 9854  ax-mulcl 9855  ax-mulrcl 9856  ax-mulcom 9857  ax-addass 9858  ax-mulass 9859  ax-distr 9860  ax-i2m1 9861  ax-1ne0 9862  ax-1rid 9863  ax-rnegex 9864  ax-rrecex 9865  ax-cnre 9866  ax-pre-lttri 9867  ax-pre-lttrn 9868  ax-pre-ltadd 9869  ax-pre-mulgt0 9870
This theorem depends on definitions:  df-bi 195  df-or 383  df-an 384  df-3or 1031  df-3an 1032  df-tru 1477  df-ex 1695  df-nf 1700  df-sb 1867  df-eu 2461  df-mo 2462  df-clab 2596  df-cleq 2602  df-clel 2605  df-nfc 2739  df-ne 2781  df-nel 2782  df-ral 2900  df-rex 2901  df-reu 2902  df-rab 2904  df-v 3174  df-sbc 3402  df-csb 3499  df-dif 3542  df-un 3544  df-in 3546  df-ss 3553  df-pss 3555  df-nul 3874  df-if 4036  df-pw 4109  df-sn 4125  df-pr 4127  df-tp 4129  df-op 4131  df-uni 4367  df-int 4405  df-iun 4451  df-br 4578  df-opab 4638  df-mpt 4639  df-tr 4675  df-eprel 4939  df-id 4943  df-po 4949  df-so 4950  df-fr 4987  df-we 4989  df-xp 5034  df-rel 5035  df-cnv 5036  df-co 5037  df-dm 5038  df-rn 5039  df-res 5040  df-ima 5041  df-pred 5583  df-ord 5629  df-on 5630  df-lim 5631  df-suc 5632  df-iota 5754  df-fun 5792  df-fn 5793  df-f 5794  df-f1 5795  df-fo 5796  df-f1o 5797  df-fv 5798  df-riota 6489  df-ov 6530  df-oprab 6531  df-mpt2 6532  df-om 6936  df-1st 7037  df-2nd 7038  df-wrecs 7272  df-recs 7333  df-rdg 7371  df-1o 7425  df-oadd 7429  df-er 7607  df-en 7820  df-dom 7821  df-sdom 7822  df-fin 7823  df-card 8626  df-pnf 9933  df-mnf 9934  df-xr 9935  df-ltxr 9936  df-le 9937  df-sub 10120  df-neg 10121  df-nn 10871  df-n0 11143  df-z 11214  df-uz 11523  df-fz 12156  df-fzo 12293  df-hash 12938  df-word 13103  df-concat 13105
This theorem is referenced by:  ccatsymb  13168  ccatass  13173  ccatalpha  13177  ccatws1cl  13198  ccatswrd  13257  swrdccat1  13258  swrdccat2  13259  swrdccatfn  13282  swrdccatin1  13283  swrdccatin2  13287  swrdccatin12lem2c  13288  swrdccatin12  13291  splcl  13303  spllen  13305  splfv1  13306  splfv2a  13307  splval2  13308  revccat  13315  cshwcl  13344  cats1cld  13400  cats1cli  13402  cats2cat  13407  gsumccat  17150  gsumspl  17153  gsumwspan  17155  frmdplusg  17163  frmdmnd  17168  frmdsssubm  17170  frmdup1  17173  psgnuni  17691  efginvrel2  17912  efgsp1  17922  efgredleme  17928  efgredlemc  17930  efgcpbllemb  17940  efgcpbl2  17942  frgpuplem  17957  frgpup1  17960  psgnghm  19693  wwlknext  26046  clwlkisclwwlk2  26112  clwwlkel  26115  wwlkext2clwwlk  26125  numclwwlkovf2ex  26407  numclwlk1lem2foa  26412  numclwlk1lem2fo  26416  sseqf  29615  ofcccat  29780  signstfvn  29806  signstfvp  29808  signstfvc  29811  signsvfn  29819  signsvtn  29821  signshf  29825  mrsubccat  30503  mrsubco  30506  ccatpfx  40097  pfxccat1  40098  pfxccatin12  40113  pfxccatpfx1  40115  pfxccatpfx2  40116  wwlksnext  41121  clwlkclwwlk2  41234  clwwlksel  41243  wwlksext2clwwlk  41253  av-numclwwlkovf2ex  41539  av-numclwlk1lem2foa  41543  av-numclwlk1lem2fo  41547
  Copyright terms: Public domain W3C validator